import { Entity, DefaultDeSerializers, DeSerializers, DeserializedType } from '@sap-cloud-sdk/odata-v2'; import { SalesOrderBillingPlan, SalesOrderBillingPlanType } from './SalesOrderBillingPlan'; import { SalesOrderItem, SalesOrderItemType } from './SalesOrderItem'; import { SalesOrderHeaderPartner, SalesOrderHeaderPartnerType } from './SalesOrderHeaderPartner'; import { SlsOrdPaymentPlanItemDetails, SlsOrdPaymentPlanItemDetailsType } from './SlsOrdPaymentPlanItemDetails'; import { SalesOrderPrecdgProcFlow, SalesOrderPrecdgProcFlowType } from './SalesOrderPrecdgProcFlow'; import { SalesOrderHeaderPrElement, SalesOrderHeaderPrElementType } from './SalesOrderHeaderPrElement'; import { SalesOrderRelatedObject, SalesOrderRelatedObjectType } from './SalesOrderRelatedObject'; import { SalesOrderSubsqntProcFlow, SalesOrderSubsqntProcFlowType } from './SalesOrderSubsqntProcFlow'; import { SalesOrderText, SalesOrderTextType } from './SalesOrderText'; /** * This class represents the entity "A_SalesOrder" of service "API_SALES_ORDER_SRV". */ export declare class SalesOrder extends Entity implements SalesOrderType { /** * Technical entity name for SalesOrder. */ static _entityName: string; /** * Default url path for the according service. */ static _defaultServicePath: string; /** * All key fields of the SalesOrder entity */ static _keys: string[]; /** * Sales Order. * Maximum length: 10. */ salesOrder: DeserializedType; /** * Sales Order Type. * Maximum length: 4. * @nullable */ salesOrderType?: DeserializedType | null; /** * Sales Organization. * An organizational unit responsible for the sale of certain products or services. The responsibility of a sales organization may include legal liability for products and customer claims. * You can assign any number of distribution channels and divisions to a sales organization. A particular combination of sales organization, distribution channel, and division is known as a sales area. * Maximum length: 4. * @nullable */ salesOrganization?: DeserializedType | null; /** * Distribution Channel. * The way in which products or services reach the customer. Typical examples of distribution channels are wholesale, retail, or direct sales. * You can maintain information about customers and materials by sales organization and distribution channel. Within a sales organization you can deliver goods to a given customer through more than one distribution channel.You can assign a distribution channel to one or more sales organizations. If, for example, you have numerous sales organizations, each sales organization may use the "Wholesale" distribution channel.For each combination of sales organization and distribution channel, you can further assign one or more of the divisions that are defined for the sales organization. You can, for example, assign "Food" and "Non-food" divisions to the "Wholesale" distribution channel. A particular combination of sales organization, distribution channel, and division is known as a sales area. * Maximum length: 2. * @nullable */ distributionChannel?: DeserializedType | null; /** * Division. * A way of grouping materials, products, or services. The system uses divisions to determine the sales areas and the business areas for a material, product, or service. * A product or service is always assigned to just one division. From the point of view of sales and distribution, the use of divisions lets you organize your sales structure around groups of similar products or product lines. This allows the people in a division who process orders and service customers to specialize within a manageable area of expertise.If a sales organization sells food and non-food products through both retail and wholesaledistribution channels each distribution channel could then be further split into food and non-food divisions. * Maximum length: 2. * @nullable */ organizationDivision?: DeserializedType | null; /** * Sales Group. * A group of sales people who are responsible for processing sales of certain products or services. * By using sales groups you can designate different areas of responsibility within a sales office. When you generate sales statistics, you can use the sales group as one of the selection criteria.If sales office personnel service both retail and wholesale markets, you can assign a sales group to each market.You assign each salesperson to a sales group in his or her user master record. You assign each customer to a particular sales group in the customer's master record. * Maximum length: 3. * @nullable */ salesGroup?: DeserializedType | null; /** * Sales Office. * A physical location (for example, a branch office) that has responsibility for the sale of certain products or services within a given geographical area. * When you create sales statistics, you can use a sales office as one of the selection criteria. When you print out order confirmations, you can include the address of the sales office.You can assign each customer to a sales office in the customer master record.Within a sales office you can establish sales groups (for example, departments) with specific sales responsibilities. Each person who works in the sales office can be assigned to a sales group in his or her user master record. Each customer can also be assigned to a particular sales group in the customer master record. * Maximum length: 4. * @nullable */ salesOffice?: DeserializedType | null; /** * Sales District. * A geographical sales district or region. * Each customer can be assigned to a sales district. You can use sales districts to apply pricing conditions. When you want to generate sales statistics, you can use sales districts as a selection criteria.The system can propose a value from the customer master record of the sold-to party. You can change the value manually in the document at the header or item level. * Maximum length: 6. * @nullable */ salesDistrict?: DeserializedType | null; /** * Sold-to Party. * The customer who orders the goods or services. The sold-to party is contractually responsible for sales orders. * Maximum length: 10. * @nullable */ soldToParty?: DeserializedType | null; /** * Record Created On. * @nullable */ creationDate?: DeserializedType | null; /** * Name of Person Responsible for Creating the Object. * Maximum length: 12. * @nullable */ createdByUser?: DeserializedType | null; /** * Last Changed On. * @nullable */ lastChangeDate?: DeserializedType | null; /** * External Business System ID. * Maximum length: 60. * @nullable */ senderBusinessSystemName?: DeserializedType | null; /** * External Document ID. * Maximum length: 40. * @nullable */ externalDocumentId?: DeserializedType | null; /** * UTC Time Stamp in Long Form (YYYYMMDDhhmmssmmmuuun). * The UTC timestamp displays date and time according to UTC (Universal Coordinated Time). * In order to convert local time into a UTC time stamp, which makes it easier to compare times, the local time must be converted according to your time zone. The ABAP command convert is available for this purpose.Even if the time zone that the conversion is based on can be redetermined from Customizing or master data, we still recommend that you save the time zone.The internal structure of the high-resolution UTC time stamp is logically organized in date and time sections in a packed decimal format (YYYYMMDDhhmmssmmmuuun), which depicts the year, month, day, hour,second, millisecond, microsecond and the first decimal of the nanoseconds. Please note that the hardware that is normally used does not fully support a resolution of 100 nanoseconds, which is available in the structure.See also GET TIME STAMPA UTC time stamp in short form is also available. * @nullable */ lastChangeDateTime?: DeserializedType | null; /** * Timestamp for Revision of External Calls. * @nullable */ externalDocLastChangeDateTime?: DeserializedType | null; /** * Customer Reference. * Number that the customer uses to uniquely identify a purchasing document (e.g. an inquiry or a purchase order). * The number creates the link between the customer purchase order and the sales document that you create. You can use the number used by the customer during correspondence with the customer to find certain document information. If the number refers to a purchase order, you can also print it on the documents that you send to the customer (e.g. on the delivery note). * Maximum length: 35. * @nullable */ purchaseOrderByCustomer?: DeserializedType | null; /** * Ship-to Party's Customer Reference. * Number used by the end customer for unique identification of the purchasing document (e.g. inquiry or purchase). * The number is the link between the end customer's purchase order and the sales documents that you have created. You can use the end customer's number for correspondence with the customer, in particular for finding certain document information. If the number refers to a purchase order, you can also print documents that you wish to send to the end customer, such as the delivery note. * Maximum length: 35. * @nullable */ purchaseOrderByShipToParty?: DeserializedType | null; /** * Customer Purchase Order Type. * The way in which the sales document (the inquiry or sales order, for example) arrives from the customer. * You can record here whether the sales document arrived, for example, by telephone, mail, or fax.Enter one of the values predefined for your system. * Maximum length: 4. * @nullable */ customerPurchaseOrderType?: DeserializedType | null; /** * Customer Reference Date. * The date that appears on the customer's purchase order. This date can be, for example, the date on which the customer created the purchase order. * @nullable */ customerPurchaseOrderDate?: DeserializedType | null; /** * Document Date (Date Received/Sent). * The date on which you want the sales document (the sales order, for example) to become effective for sales management purposes. * When you want to generate a list of sales documents or sales statistics, the document date you enter determines which sales documents are selected. You can define the document date to meet the needs of your organization.For sales orders, for example, you can define the document date as the date when the order actually arrives at your offices. Alternatively, you could define it as the date when the order was written up by a field sales representative.The system proposes the current date. You can change it manually in the sales document. * @nullable */ salesOrderDate?: DeserializedType | null; /** * Net Value of the Sales Order in Document Currency. * The total value of all items in the sales document, after any discounts and surcharges are taken into account. The value is expressed in the document currency. * @nullable */ totalNetAmount?: DeserializedType | null; /** * Delivery Status (All Items). * The delivery status of the sales document. * Maximum length: 1. * @nullable */ overallDeliveryStatus?: DeserializedType | null; /** * Overall Block Status (Header). * Overall blocked status. * The value of this field is calculated according to the following values:Overall header delivery block status + overall header billing block status + header credit check status. * Maximum length: 1. * @nullable */ totalBlockStatus?: DeserializedType | null; /** * Order-Related Billing Status (All Items). * The overall billing status of the sales order or delivery. * The overall billing status tells you whether the sales order or delivery is relevant for billing, and, if so, to what extent billing has taken place. * Maximum length: 1. * @nullable */ overallOrdReltdBillgStatus?: DeserializedType | null; /** * Reference Status (All Items). * The reference status of the sales document as it relates to other sales documents. * The status message tells you whether one or more other sales documents have referenced this document partially, completely, or not at all.If you create a sales order by copying one item from a quotation that contains a number of items, the reference status for the quotation says that it has been only partially referenced. * Maximum length: 1. * @nullable */ overallSdDocReferenceStatus?: DeserializedType | null; /** * SD Document Currency. * The currency that applies to the document (for example, to a sales order or an invoice). * The system proposes the document currency from the customer master record of the sold-to party. You can change the currency manually in the document. If you change the currency, the system recalculates prices for the entire document. * Maximum length: 5. * @nullable */ transactionCurrency?: DeserializedType | null; /** * Order Reason (Reason for the Business Transaction). * Indicates the reason for creating the sales document. * You can freely define order reasons according to the needs of your organization. When you generate sales statistics, you can use the order reason as one of the selection criteria.Enter one of the values predefined for your system. If you are creating a credit or debit memo request, you must enter an order reason.If the order reason specifies, for example, that a customer placed a sales order as a result of contact at a trade fair, you can later generate statistics for all sales orders that were placed at trade fairs. * Maximum length: 3. * @nullable */ sdDocumentReason?: DeserializedType | null; /** * Date for Pricing and Exchange Rate. * The date that determines date-related pricing elements, such as conditions and foreign exchange rate. * You can use the pricing date as a selection criterion when you process billing documents collectively.The system proposes the current date. You can change it manually in the document. If you change the pricing date, the system recalculates pricing for the entire document. If the date is in the past, you receive a warning before you can continue.Determining the ProposalIn the order: You can customize the order type to determine a proposal, such as the current date or the requested delivery date as the pricing date.In the billing document: The billing date is proposed as the pricing date. * @nullable */ pricingDate?: DeserializedType | null; /** * Exchange Rate for Price Determination. * @nullable */ priceDetnExchangeRate?: DeserializedType | null; /** * Billing Plan Number / Invoicing Plan Number. * Maximum length: 10. * @nullable */ billingPlan?: DeserializedType | null; /** * Requested Delivery Date. * The date on which the customer would like ordered goods to be delivered. * @nullable */ requestedDeliveryDate?: DeserializedType | null; /** * Shipping Conditions. * General shipping strategy for the delivery of goods from the vendor to the customer. * You can define shipping conditions in your system which correspond to the requirements of your company. You can specify a shipping condition in the customer master and in the vendor master.Shipping point determination (outbound delivery):The loading group, the plant and the shipping condition determine the shipping point that will be proposed by the system.Route determination (outbound delivery):Apart from the country and the geographical region of the shipping point, the ship-to party and the transportation group, the shipping condition determines the route that the system proposes in the order for the delivery of the goods. In the delivery, the route proposal also takes the weight group into account.A particular customer always requires immediate delivery. You enter the appropriate shipping condition into the customer master record. This means that when you process orders for this customer, the system automatically proposes the express mail room as a shipping point and the quickest way to the airport as a route.If a shipping condition has been assigned to a sales document type in Customizing, this condition will be proposed by the system in the corresponding sales document. If there is no assignment, the system copies the relevant data from the corresponding customer master record of the sold-to party. You cannot change this value during delivery processing. The shipping condition will not be copied from the delivery into the shipment. The shipping condition is one of several criteria for selecting deliveries when you create a shipment. You can enter a shipping condition manually in the shipment where it only serves as a characteristic for grouping shipments. * Maximum length: 2. * @nullable */ shippingCondition?: DeserializedType | null; /** * Complete Delivery Defined for Each Sales Order?. * Indicates whether a sales order must be delivered completely in a single delivery or whether the order can be partially delivered and completed over a number of deliveries. * @nullable */ completeDeliveryIsDefined?: DeserializedType | null; /** * Shipping Type. * Shipping type (for example, by road or rail) that has been selected for the transportation of the goods for the shipment legs. * During automatic shipment leg determination, all legs created or only the main, direct, or return legs are assigned to this shipping type, depending on the type of leg determination.You can enter the shipment type for the main, direct or return legs in the shipping header. The value is proposed depending on the requirement in the shipment type.By setting the status "planned", you have the shipping type copied from the respective deliveries into the shipment header, provided:The shipping type is identical in all the deliveries.The shipping type in the shipment header is not already filled.See also: Leg determination. * Maximum length: 2. * @nullable */ shippingType?: DeserializedType | null; /** * Billing Block in SD Document. * Indicates if the entire sales document is blocked for billing. * The system can propose the billing block according to the type of sales document. The billing block applies to the entire document. You can block or unblock the entire document manually in the header. If you want to block only a particular item, enter a value at the item level.You may want to apply a billing block to certain documents so that prices can be checked before further processing. * Maximum length: 2. * @nullable */ headerBillingBlockReason?: DeserializedType | null; /** * Delivery Block (Document Header). * Indicates if an entire sales document (a sales order, for example) is blocked for delivery. * The system can propose a delivery block on header level according to sales document type. Users can also enter a block manually. A block in the header applies to the entire sales document.The system only proposes a delivery block at header level if delivery blocks have been assigned to the corresponding delivery type using the Define Reasons for Blocking in Shipping and the Assign Blocking Reasons to Delivery Types configuration steps.Additional InformationUsers can also block a sales document manually at schedule line level.The settings made in these configuration steps do not influence any delivery blocks set at schedule line level.The system can block delivery automatically for certain sales document types (for example, sales orders without charge) where it is important that someone checks the details before shipping takes place. * Maximum length: 2. * @nullable */ deliveryBlockReason?: DeserializedType | null; /** * Delivery Date Rule. * Indicates when the ordered goods should be delivered. * You can choose one of the following options:The goods should be delivered on the requested delivery date or later. Note that there is no guarantee that the goods will not be delivered earlier.The goods must be delivered exactly on the confirmed delivery date.The goods must be delivered by the confirmed delivery date (that is, on the date or earlier).You can set the delivery date rule on header level to set a default for any items that you create afterwards.In Transportation Management (TM), this field has the following implications:If you want the goods to be delivered on the requested delivery date or later, the delivery date/time is used as the earliest requested delivery date/time of the freight unit which contains the sales order item.If you want the goods to be delivered on the confirmed delivery date, the start of the delivery date is used as the earliest acceptable delivery date/time and the end of the delivery date as the latest acceptable delivery date/time of the freight unit which contains the sales order item.If you want the goods to be delivered by the confirmed delivery date, the end of the delivery date is used as the latest acceptable delivery date/time of the freight unit which contains the sales order item.Note: If you want to the goods to be delivered on or by the confirmed delivery date, the system ignores the rule for pick-up and delivery window and the condition for pick-up and delivery window determination which you have defined in the freight unit type for the delivery stop. * Maximum length: 1. * @nullable */ deliveryDateTypeRule?: DeserializedType | null; /** * Incoterms (Part 1). * Commonly used trading terms that comply with the standards established by the International Chamber of Commerce (ICC). * Incoterms specify internationally recognized procedures that the shipper and the receiving party must follow for the shipping transaction to be completed successfully.If goods are shipped through a port of departure, the appropriate Incoterm might be: FOB ("Free On Board"). You can provide further details (for example, the name of the port) in the secondary Incoterm field: FOB Boston, for example. * Maximum length: 3. * @nullable */ incotermsClassification?: DeserializedType | null; /** * Incoterms (Part 2). * Additional information for the primary Incoterm. * If the primary Incoterm is, for example, FOB ("Free on Board"), then the second field provides details of the port from which the delivery leaves (for example, "FOB Boston"). * Maximum length: 28. * @nullable */ incotermsTransferLocation?: DeserializedType | null; /** * Incoterms Location 1. * Provides additional information for the primary Incoterm. For Incoterms 2010, this field represents: * 1. For sea and inland waterway transport - Port of Shipment or Port of Destination2. For any mode of transport - Place of Delivery 2010 or Place of DestinationFor non-C clauses, both costs and risk are transferred from the seller to the buyer at location 1.For C clauses, the costs are transferred at location 1 and the risk is transferred at location 2.Incoterms are divided as follows:Group 1: Rules for any mode or modes of transport (including by vessel)Incoterm Incoterm Description Location 1 EXW Ex Works Place of DeliveryFCA Free Carrier Place of DeliveryCPT Carriage Paid To Place of DestinationCIP Carriage & Insurance Paid To Place of DestinationDAF Delivered at Frontier Place of DeliveryDDP Delivered Duty Paid Place of DestinationDDU Delivered Duty Unpaid Place of DestinationGroup 2: Rules for sea and inland waterwaysIncoterm Incoterm Description Location 1 FAS Free Alongside Ship Port of ShipmentFOB Free On Board Port of ShipmentCFR Cost & Freight Port of DestinationCIF Cost Insurance & Freight Port of DestinationDEQ Delivered Eq Quay (Duty Paid) Port of DestinationDES Delivered Ex Ship Port of DestinationIf the primary incoterm is specified as FOB “Free on Board”, the second field provides details of the port from which the delivery leaves, such as FOB Boston. * Maximum length: 70. * @nullable */ incotermsLocation1?: DeserializedType | null; /** * Incoterms Location 2. * Provides additional information for the Incoterms. This field is only available for C-Clauses (if customized appropriately). Note the following for the incoterms versions below: * No Version:This field is disabledIncoterm Version 2000This field is disabled as part of standard delivery unless a customer decides to enable it by the way of Customizing for Sales and Distribution under Master Data -> Business Partners -> Customers -> Billing Document -> Incoterms -> Map Incoterms to Versions.Incoterm Version 2010For this version, the field represents:Sea and inland waterway transport - Port of ShipmentAny mode of transport - Place of Delivery2010 Incoterms are divided as follows:Group 1: Rules for any mode or modes of transport (including by vessel)Incoterm Incoterm Description Location 2CPT Carriage Paid To Place of DeliveryCIP Carriage & Insurance Paid To Place of DeliveryGroup 2: Rules for sea and inland waterwaysIncoterm Incoterm Description Location 2CFR Cost & Freight Port of ShipmentCIF Cost Insurance & Freight Port of Shipment. * Maximum length: 70. * @nullable */ incotermsLocation2?: DeserializedType | null; /** * Incoterms Version. * An incoterms version is an edition containing a list of international terms for transportation that is defined by the International Chamber of Commerce (ICC). * Maximum length: 4. * @nullable */ incotermsVersion?: DeserializedType | null; /** * Customer Price Group. * A grouping of customers who share the same pricing requirements. * You can define price groups according to the needs of your organization and create pricing records for each group. You can, for example, define a group of customers to whom you want to give the same kind of discount. You can assign a price group to an individual customer either in the customer master record or in the sales document.The system can propose the price group from the customer master record. You can change the proposed value manually in the sales document at both header and item level. * Maximum length: 2. * @nullable */ customerPriceGroup?: DeserializedType | null; /** * Price List Type. * Identifies a price list or other condition type (for example, a surcharge or discount). * You can define price list types according to the needs of your own organization. Price list types can be grouped according to:the kind of price list (for example, wholesale or retail)the currency in which the price appearsthe number of the price list typeYou can use price list types to apply conditions during pricing or to generate statistics.In the customer master record, enter one of the values predefined for your system. The system proposes the value automatically during sales order processing. You can change the value manually in the sales document header. * Maximum length: 2. * @nullable */ priceListType?: DeserializedType | null; /** * Terms of Payment Key. * Key for defining payment terms composed of cash discount percentages and payment periods. * It is used in sales orders, purchase orders, and invoices. Terms of payment provide information for:Cash managementDunning proceduresPayment transactionsData can be entered in the field for the terms of payment key in various ways as you enter a business transaction:In most business transactions, the system defaults the key specified in the master record of the customer/vendor in question.In some transactions (for example, credit memos), however, the system does not default the key from the master record. Despite this, you can use the key from the customer/vendor master record by entering "*" in the field.Regardless of whether or not a key is defaulted from the master record, you can manually enter a key during document entry at:item level in sales ordersheader level in purchase orders and invoicesMaster records have separate areas for Financial Accounting, Sales, and Purchasing. You can specify different terms of payment keys in each of these areas. When you then enter a business transaction, the application in question will use the key specified in its area of the master record. * Maximum length: 4. * @nullable */ customerPaymentTerms?: DeserializedType | null; /** * Payment Method. * Payment method with which this item is to be paid. * If you enter a payment method, then only this payment method can be used in automatic payment transactions. Unless you enter a payment method, one of the payment methods that was allowed in the master record is selected in the payment program according to specified rules.For document entry or document changes, you only enter a payment method if you want to switch off the automatic payment method selection of the payment program. * Maximum length: 1. * @nullable */ paymentMethod?: DeserializedType | null; /** * Fixed Value Date. * The date on which the terms of payment related to the sales document become effective. * If you enter a date in this field, you cannot enter a value in the additional value days field. * @nullable */ fixedValueDate?: DeserializedType | null; /** * Assignment Number. * The allocation is additional information in the customer line item of the journal entry. * The line items of an account are displayed in sort sequence according to the content of the field.The allocation number is set in the billing document in accordance with control in document flow and transferred to the financial journal entry.It is possible to set the customer reference, the customer order number, the delivery number or the external delivery number as allocation numbers.The field is a separating criterion in the billing document. * Maximum length: 18. * @nullable */ assignmentReference?: DeserializedType | null; /** * Document Number of Reference Document. * Identifies the sales order to which the delivery refers. * Maximum length: 10. * @nullable */ referenceSdDocument?: DeserializedType | null; /** * Document Category of Preceding SD Document. * Specifies the sales document category of the preceding sales, delivery, or billing document. * Maximum length: 4. * @nullable */ referenceSdDocumentCategory?: DeserializedType | null; /** * Reference Document Number. * The reference document number contains the document number with the business partner * The reference document number serves as a search criterion when displaying or changing documents. In correspondence, the refererence document number is sometimes printed instead of the document number.The reference number is set in the document flow according to control and taken into the financial journal entry.You can set the customer order number, the order number, the delivery number, the billing number or the external delivery number as reference number.The field is a seperation criterion in the billing document. * Maximum length: 16. * @nullable */ accountingDocExternalReference?: DeserializedType | null; /** * Account Assignment Group for this Customer. * The account assignment group to which the system automatically posts the sales document. * The system uses the account assignment group as one of the criteria during the automatic determination of revenue accounts.The system automatically proposes the account assignment group from the customer master record of the payer. You can change the default value in the sales document or the billing document. * Maximum length: 2. * @nullable */ customerAccountAssignmentGroup?: DeserializedType | null; /** * Exchange Rate for Postings to Financial Accounting. * Specifies the currency exchange rate between document currency and local currency. * When a billing document is posted to financial accounting, the system also forwards this exchange rate to enable subsequent processing.Usually, the system uses the billing document's billing date as the exchange rate date for determining this exchange rate. If, however, the exchange rate has been set as fixed (indicated by the Set Exchange Rate field), the exchange rate of the preceding sales or billing document (for example, the sales order) is used instead. Please note the following regarding this field: When local currency and document currency are identical, the exchange rate is 1. Because the billing document's billing date is used as the exchange rate date, this has the following consequences: A change of the billing date usually causes the exchange rate to be redetermined based on this new exchange rate date.  The only exception to this rule is when the exchange rate has been set as fixed (indicated by the Set Exchange Rate field). In this case, the exchange rate specified in the preceding sales or billing document is used. Your system is configured in such a way that it expects:No prefix (leading sign) for direct ratesA "" as prefix (leading sign) for direct ratesNo prefix for indirect ratesA "" as prefix for indirect rates. * @nullable */ accountingExchangeRate?: DeserializedType | null; /** * Customer Group. * Identifies a particular group of customers (for example, wholesale or retail) for the purpose of pricing or generating statistics. * Maximum length: 2. * @nullable */ customerGroup?: DeserializedType | null; /** * Customer Group 1. * Specifies a customer-defined group of customers. * You can define up to five different groups of customers, according to the needs of your organization. You specify the groups in the customer master record under "Additional data". If you assign a particular customer to one or more groups, the system automatically displays the groups in the header data of corresponding sales orders.You can define customer groups in Tables TVV1 through TVV5 and assign them to specific languages in Tables TVV1T through TVV5T. * Maximum length: 3. * @nullable */ additionalCustomerGroup1?: DeserializedType | null; /** * Customer Group 2. * Specifies a customer-defined group of customers. * You can define up to five different groups of customers, according to the needs of your organization. You specify the groups in the customer master record under "Additional data". If you assign a particular customer to one or more groups, the system automatically displays the groups in the header data of corresponding sales orders.You can define customer groups in Tables TVV1 through TVV5 and assign them to specific languages in Tables TVV1T through TVV5T. * Maximum length: 3. * @nullable */ additionalCustomerGroup2?: DeserializedType | null; /** * Customer Group 3. * Specifies a customer-defined group of customers. * You can define up to five different groups of customers, according to the needs of your organization. You specify the groups in the customer master record under "Additional data". If you assign a particular customer to one or more groups, the system automatically displays the groups in the header data of corresponding sales orders.You can define customer groups in Tables TVV1 through TVV5 and assign them to specific languages in Tables TVV1T through TVV5T. * Maximum length: 3. * @nullable */ additionalCustomerGroup3?: DeserializedType | null; /** * Customer Group 4. * Specifies a customer-defined group of customers. * You can define up to five different groups of customers, according to the needs of your organization. You specify the groups in the customer master record under "Additional data". If you assign a particular customer to one or more groups, the system automatically displays the groups in the header data of corresponding sales orders.You can define customer groups in Tables TVV1 through TVV5 and assign them to specific languages in Tables TVV1T through TVV5T. * Maximum length: 3. * @nullable */ additionalCustomerGroup4?: DeserializedType | null; /** * Customer Group 5. * Specifies a customer-defined group of customers. * You can define up to five different groups of customers, according to the needs of your organization. You specify the groups in the customer master record under "Additional data". If you assign a particular customer to one or more groups, the system automatically displays the groups in the header data of corresponding sales orders.You can define customer groups in Tables TVV1 through TVV5 and assign them to specific languages in Tables TVV1T through TVV5T. * Maximum length: 3. * @nullable */ additionalCustomerGroup5?: DeserializedType | null; /** * Relevant for POD processing. * This indicator controls proof of delivery (POD) processing. * @nullable */ slsDocIsRlvtForProofOfDeliv?: DeserializedType | null; /** * Alternative Tax Classification. * Indicates whether the system takes account of taxes that are related to the customer for pricing (such as value-added tax). * The system copies the tax classification from the tax information stored in the customer master record of the goods recipient. During pricing, the system uses the tax classification and the country key (which identifies the customer location) to determine the relevant taxes. You can enter a different (alternative) tax classification in the order. * Maximum length: 1. * @nullable */ customerTaxClassification1?: DeserializedType | null; /** * Tax Classification 2 for Customer. * Indicates whether, during pricing, the system takes into account taxes that relate to the customer (for example, state sales taxes). * The system copies the tax classification from the tax information stored in the customer master record of the ship-to party. During pricing, the system uses the tax classification together with the country key (identifies where the customer is located) to calculate relevant taxes. * Maximum length: 1. * @nullable */ customerTaxClassification2?: DeserializedType | null; /** * Tax Classification 3 for Customer. * Indicates whether, during pricing, the system takes into account taxes that relate to the customer (for example, state sales taxes). * The system copies the tax classification from the tax information stored in the customer master record of the ship-to party. During pricing, the system uses the tax classification together with the country key (identifies where the customer is located) to calculate relevant taxes. * Maximum length: 1. * @nullable */ customerTaxClassification3?: DeserializedType | null; /** * Tax Classification 4 for Customer. * Indicates whether, during pricing, the system takes into account taxes that relate to the customer (for example, state sales taxes). * The system copies the tax classification from the tax information stored in the customer master record of the ship-to party. During pricing, the system uses the tax classification together with the country key (identifies where the customer is located) to calculate relevant taxes. * Maximum length: 1. * @nullable */ customerTaxClassification4?: DeserializedType | null; /** * Tax Classification 5 for Customer. * Indicates whether, during pricing, the system takes into account taxes that relate to the customer (for example, state sales taxes). * The system copies the tax classification from the tax information stored in the customer master record of the ship-to party. During pricing, the system uses the tax classification together with the country key (identifies where the customer is located) to calculate relevant taxes. * Maximum length: 1. * @nullable */ customerTaxClassification5?: DeserializedType | null; /** * Tax Classification 6 for Customer. * Indicates whether, during pricing, the system takes into account taxes that relate to the customer (for example, state sales taxes). * The system copies the tax classification from the tax information stored in the customer master record of the ship-to party. During pricing, the system uses the tax classification together with the country key (identifies where the customer is located) to calculate relevant taxes. * Maximum length: 1. * @nullable */ customerTaxClassification6?: DeserializedType | null; /** * Tax Classification 7 for Customer. * Indicates whether, during pricing, the system takes into account taxes that relate to the customer (for example, state sales taxes). * The system copies the tax classification from the tax information stored in the customer master record of the ship-to party. During pricing, the system uses the tax classification together with the country key (identifies where the customer is located) to calculate relevant taxes. * Maximum length: 1. * @nullable */ customerTaxClassification7?: DeserializedType | null; /** * Tax Classification 8 for Customer. * Indicates whether, during pricing, the system takes into account taxes that relate to the customer (for example, state sales taxes). * The system copies the tax classification from the tax information stored in the customer master record of the ship-to party. During pricing, the system uses the tax classification together with the country key (identifies where the customer is located) to calculate relevant taxes. * Maximum length: 1. * @nullable */ customerTaxClassification8?: DeserializedType | null; /** * Tax Classification 9 for Customer. * Indicates whether, during pricing, the system takes into account taxes that relate to the customer (for example, state sales taxes). * The system copies the tax classification from the tax information stored in the customer master record of the ship-to party. During pricing, the system uses the tax classification together with the country key (identifies where the customer is located) to calculate relevant taxes. * Maximum length: 1. * @nullable */ customerTaxClassification9?: DeserializedType | null; /** * Tax Departure Country/Region. * For tax determination, the country or region of departure is used as the plant country/region. * A different country or region needs to be entered for certain internal European transactions (chain transactions). * Maximum length: 3. * @nullable */ taxDepartureCountry?: DeserializedType | null; /** * Tax Destination Country/Region. * For tax determination, the country or region of the ship-to party is used as the tax country or region of destination. * A different country or region needs to be entered for certain internal European transactions (chain transactions). * Maximum length: 3. * @nullable */ vatRegistrationCountry?: DeserializedType | null; /** * Approval Request Reason ID. * States in which cases an approval is needed. * Whenever an approval request reason is set and the corresponding workflow is defined, the sales document is considered relevant for approvals. The approval request reason consists of an ID and a description.You define that for customer ABC, sales quotations always have to be approved. The system automatically sets this reason when a sales quotation for this customer is created. It cannot be released without sending it to an approver first. * Maximum length: 4. * @nullable */ salesOrderApprovalReason?: DeserializedType | null; /** * Document Approval Status. * States whether a sales document is relevant for approvals and, if so, which approval stage it is in. * Maximum length: 1. * @nullable */ salesDocApprovalStatus?: DeserializedType | null; /** * Overall Processing Status (Header/All Items). * The processing status of the entire sales document. * The system determines the status of the entire sales document by taking into account the status of all header-related information and the status of all individual items. The status message tells you whether processing of the sales document is open, in progress, or complete. * Maximum length: 1. * @nullable */ overallSdProcessStatus?: DeserializedType | null; /** * Overall Status of Credit Checks. * Maximum length: 1. * @nullable */ totalCreditCheckStatus?: DeserializedType | null; /** * Overall Delivery Status (All Items). * Maximum length: 1. * @nullable */ overallTotalDeliveryStatus?: DeserializedType | null; /** * Rejection Status (All Items). * Displays the rejection status of the entire sales document. * The system determines the total status from the status of all individual items in the sales document. The status message tells you whether the sales document has been partially or completely rejected or whether nothing has been rejected. * Maximum length: 1. * @nullable */ overallSdDocumentRejectionSts?: DeserializedType | null; /** * Billing Date. * The date on which the billing is processed and booked for accounting purposes. * You can use the billing date as one of the selection criteria when you process billing documents collectively.If invoice dates are defined for the customer, the system proposes the billing date from the invoice date calendar. If no invoice dates are agreed, then the actual goods issue date is formed on the basis of delivery related billing. In order related billing, the billing date of the order forms the basis of the billing date.If you are billing services, the system proposes the date of services rendered. You can change the date manually in the sales document.If you are using a billing plan to bill a project, the system can propose billing dates for the billing plan on the basis of planned or actual dates in the corresponding milestone.In a billing plan for a maintenance or rental contract, you can specify rules by which the system determines billing dates on the basis of other dates in the contract. * @nullable */ billingDocumentDate?: DeserializedType | null; /** * Contract Account Number. * Key that uniquely identifies a contract account per client. * The postings in Contract Accounts Receivable and Payable are always assigned to a contract account and a business partner.In the contract account master record, specifically for each business partner, you can define procedures that are to be used for further processing of line items. These include for example, payment methods, dunning procedure, tolerances.NoteFor utility and insurance companies, a contract is assigned to exactly one contract account. However several accounts - depending on contract account type can be assigned to one contract account. * Maximum length: 12. * @nullable */ contractAccount?: DeserializedType | null; /** * Additional Value Days. * The number of days between the billing date and the date on which the terms of payment for the sales document become effective. * If you enter a value in this field, you cannot enter a date in the fixed value date field. * Maximum length: 2. * @nullable */ additionalValueDays?: DeserializedType | null; /** * Purchase order number supplement. * Additional information to help identify the customer's sales document. * You can predefine information which, in addition to a customer's purchase order number, helps you to identify the sales document. * Maximum length: 4. * @nullable */ customerPurchaseOrderSuplmnt?: DeserializedType | null; /** * Date on which services are rendered. * The date of services rendered that determines when the system calculates taxes (for example, sales tax) for the material. * If you deliver products, the date of services rendered corresponds to the goods issue date and you do not have to enter a date in this field. If you provide a service, however, and you are billing hours, you can enter a date manually. You can use the date of services rendered as one of the selection criteria when you process billing documents collectively. * @nullable */ servicesRenderedDate?: DeserializedType | null; /** * One-to-one navigation property to the [[SalesOrderBillingPlan]] entity. */ toBillingPlan?: SalesOrderBillingPlan | null; /** * One-to-many navigation property to the [[SalesOrderItem]] entity. */ toItem: SalesOrderItem[]; /** * One-to-many navigation property to the [[SalesOrderHeaderPartner]] entity. */ toPartner: SalesOrderHeaderPartner[]; /** * One-to-many navigation property to the [[SlsOrdPaymentPlanItemDetails]] entity. */ toPaymentPlanItemDetails: SlsOrdPaymentPlanItemDetails[]; /** * One-to-many navigation property to the [[SalesOrderPrecdgProcFlow]] entity. */ toPrecedingProcFlowDoc: SalesOrderPrecdgProcFlow[]; /** * One-to-many navigation property to the [[SalesOrderHeaderPrElement]] entity. */ toPricingElement: SalesOrderHeaderPrElement[]; /** * One-to-many navigation property to the [[SalesOrderRelatedObject]] entity. */ toRelatedObject: SalesOrderRelatedObject[]; /** * One-to-many navigation property to the [[SalesOrderSubsqntProcFlow]] entity. */ toSubsequentProcFlowDoc: SalesOrderSubsqntProcFlow[]; /** * One-to-many navigation property to the [[SalesOrderText]] entity. */ toText: SalesOrderText[]; } export interface SalesOrderType { salesOrder: DeserializedType; salesOrderType?: DeserializedType | null; salesOrganization?: DeserializedType | null; distributionChannel?: DeserializedType | null; organizationDivision?: DeserializedType | null; salesGroup?: DeserializedType | null; salesOffice?: DeserializedType | null; salesDistrict?: DeserializedType | null; soldToParty?: DeserializedType | null; creationDate?: DeserializedType | null; createdByUser?: DeserializedType | null; lastChangeDate?: DeserializedType | null; senderBusinessSystemName?: DeserializedType | null; externalDocumentId?: DeserializedType | null; lastChangeDateTime?: DeserializedType | null; externalDocLastChangeDateTime?: DeserializedType | null; purchaseOrderByCustomer?: DeserializedType | null; purchaseOrderByShipToParty?: DeserializedType | null; customerPurchaseOrderType?: DeserializedType | null; customerPurchaseOrderDate?: DeserializedType | null; salesOrderDate?: DeserializedType | null; totalNetAmount?: DeserializedType | null; overallDeliveryStatus?: DeserializedType | null; totalBlockStatus?: DeserializedType | null; overallOrdReltdBillgStatus?: DeserializedType | null; overallSdDocReferenceStatus?: DeserializedType | null; transactionCurrency?: DeserializedType | null; sdDocumentReason?: DeserializedType | null; pricingDate?: DeserializedType | null; priceDetnExchangeRate?: DeserializedType | null; billingPlan?: DeserializedType | null; requestedDeliveryDate?: DeserializedType | null; shippingCondition?: DeserializedType | null; completeDeliveryIsDefined?: DeserializedType | null; shippingType?: DeserializedType | null; headerBillingBlockReason?: DeserializedType | null; deliveryBlockReason?: DeserializedType | null; deliveryDateTypeRule?: DeserializedType | null; incotermsClassification?: DeserializedType | null; incotermsTransferLocation?: DeserializedType | null; incotermsLocation1?: DeserializedType | null; incotermsLocation2?: DeserializedType | null; incotermsVersion?: DeserializedType | null; customerPriceGroup?: DeserializedType | null; priceListType?: DeserializedType | null; customerPaymentTerms?: DeserializedType | null; paymentMethod?: DeserializedType | null; fixedValueDate?: DeserializedType | null; assignmentReference?: DeserializedType | null; referenceSdDocument?: DeserializedType | null; referenceSdDocumentCategory?: DeserializedType | null; accountingDocExternalReference?: DeserializedType | null; customerAccountAssignmentGroup?: DeserializedType | null; accountingExchangeRate?: DeserializedType | null; customerGroup?: DeserializedType | null; additionalCustomerGroup1?: DeserializedType | null; additionalCustomerGroup2?: DeserializedType | null; additionalCustomerGroup3?: DeserializedType | null; additionalCustomerGroup4?: DeserializedType | null; additionalCustomerGroup5?: DeserializedType | null; slsDocIsRlvtForProofOfDeliv?: DeserializedType | null; customerTaxClassification1?: DeserializedType | null; customerTaxClassification2?: DeserializedType | null; customerTaxClassification3?: DeserializedType | null; customerTaxClassification4?: DeserializedType | null; customerTaxClassification5?: DeserializedType | null; customerTaxClassification6?: DeserializedType | null; customerTaxClassification7?: DeserializedType | null; customerTaxClassification8?: DeserializedType | null; customerTaxClassification9?: DeserializedType | null; taxDepartureCountry?: DeserializedType | null; vatRegistrationCountry?: DeserializedType | null; salesOrderApprovalReason?: DeserializedType | null; salesDocApprovalStatus?: DeserializedType | null; overallSdProcessStatus?: DeserializedType | null; totalCreditCheckStatus?: DeserializedType | null; overallTotalDeliveryStatus?: DeserializedType | null; overallSdDocumentRejectionSts?: DeserializedType | null; billingDocumentDate?: DeserializedType | null; contractAccount?: DeserializedType | null; additionalValueDays?: DeserializedType | null; customerPurchaseOrderSuplmnt?: DeserializedType | null; servicesRenderedDate?: DeserializedType | null; toBillingPlan?: SalesOrderBillingPlanType | null; toItem: SalesOrderItemType[]; toPartner: SalesOrderHeaderPartnerType[]; toPaymentPlanItemDetails: SlsOrdPaymentPlanItemDetailsType[]; toPrecedingProcFlowDoc: SalesOrderPrecdgProcFlowType[]; toPricingElement: SalesOrderHeaderPrElementType[]; toRelatedObject: SalesOrderRelatedObjectType[]; toSubsequentProcFlowDoc: SalesOrderSubsqntProcFlowType[]; toText: SalesOrderTextType[]; } //# sourceMappingURL=SalesOrder.d.ts.map