# SAP S/4HANA

> Read SAP S/4HANA's order-to-cash data: business partners with their addresses, roles and bank accounts, customers and their sales areas, suppliers and their purchasing organizations, sales orders with items, partners and document flow, outbound deliveries and their items, and material stock by plant and storage location.

App · Accounting & Finance · 20 actions. Web page: https://docs.lodol.com/docs/integrations/sap-s4hana

## Actions

### Get business partner

Read one business partner by number, optionally with its addresses, roles, bank accounts or other related records included in the same call.

**Inputs**

- Business partner (`business_partner`, text, required): The business partner number, as 'List business partners' returns it in 'BusinessPartner'.
- Fields to return (`fields`, list): Only return these fields, which makes large reads quicker. The record's own id is always included. Leave empty for every field. One or more of: `BusinessPartner` (BusinessPartner - Business partner), `Customer` (Customer - Customer), `Supplier` (Supplier - Supplier), `AcademicTitle` (AcademicTitle - Academic title), `AuthorizationGroup` (AuthorizationGroup - Authorization group), `BusinessPartnerCategory` (BusinessPartnerCategory - Business partner category), `BusinessPartnerFullName` (BusinessPartnerFullName - Business partner full name), `BusinessPartnerGrouping` (BusinessPartnerGrouping - Business partner grouping), `BusinessPartnerName` (BusinessPartnerName - Business partner name), `BusinessPartnerUUID` (BusinessPartnerUUID - Business partner UUID), and 59 more.
- Include related records (`expand`, list): Also return these related records inside each result, each as a list, in the same call. One or more of: `to_AddressIndependentEmail` (to_AddressIndependentEmail - To address independent email), `to_AddressIndependentFax` (to_AddressIndependentFax - To address independent fax), `to_AddressIndependentMobile` (to_AddressIndependentMobile - To address independent mobile), `to_AddressIndependentPhone` (to_AddressIndependentPhone - To address independent phone), `to_AddressIndependentWebsite` (to_AddressIndependentWebsite - To address independent website), `to_BPCreditWorthiness` (to_BPCreditWorthiness - To BP credit worthiness), `to_BPDataController` (to_BPDataController - To BP data controller), `to_BPEmployment` (to_BPEmployment - To BP employment), `to_BPFinServicesReporting` (to_BPFinServicesReporting - To BP fin services reporting), `to_BPFiscalYearInformation` (to_BPFiscalYearInformation - To BP fiscal year information), and 16 more.

**Outputs**

- `AcademicTitle` (text): Academic title
- `AdditionalLastName` (text): Additional last name
- `AuthorizationGroup` (text): Authorization group
- `BPDataControllerIsNotRequired` (true/false): BP data controller is not required
- `BirthDate` (text): Birth date (ISO 8601, UTC)
- `BusPartMaritalStatus` (text): Bus part marital status
- `BusPartNationality` (text): Bus part nationality
- `BusinessPartner` (text): Business partner
- `BusinessPartnerBirthDateStatus` (text): Business partner birth date status
- `BusinessPartnerBirthName` (text): Business partner birth name
- `BusinessPartnerBirthplaceName` (text): Business partner birthplace name
- `BusinessPartnerCategory` (text): Business partner category
- `BusinessPartnerDeathDate` (text): Business partner death date (ISO 8601, UTC)
- `BusinessPartnerFullName` (text): Business partner full name
- `BusinessPartnerGrouping` (text): Business partner grouping
- `BusinessPartnerIDByExtSystem` (text): Business partner ID by ext system
- `BusinessPartnerIsBlocked` (true/false): Business partner is blocked
- `BusinessPartnerName` (text): Business partner name
- `BusinessPartnerOccupation` (text): Business partner occupation
- `BusinessPartnerPrintFormat` (text): Business partner print format
- `BusinessPartnerSupplementName` (text): Business partner supplement name
- `BusinessPartnerType` (text): Business partner type
- `BusinessPartnerUUID` (text): Business partner UUID (UUID)
- `CorrespondenceLanguage` (text): Correspondence language
- `CreatedByUser` (text): Created by user
- `CreationDate` (text): Creation date (ISO 8601, UTC)
- `CreationTime` (text): Creation time (HH:MM:SS)
- `Customer` (text): Customer
- `ETag` (text): E tag
- `FirstName` (text): First name
- `FormOfAddress` (text): Form of address
- `GenderCodeName` (text): Gender code name
- `GroupBusinessPartnerName1` (text): Group business partner name 1
- `GroupBusinessPartnerName2` (text): Group business partner name 2
- `IndependentAddressID` (text): Independent address ID
- `Industry` (text): Industry
- `Initials` (text): Initials
- `InternationalLocationNumber1` (text): International location number 1
- `InternationalLocationNumber2` (text): International location number 2
- `InternationalLocationNumber3` (text): International location number 3
- `IsFemale` (true/false): Is female
- `IsMale` (true/false): Is male
- `IsMarkedForArchiving` (true/false): Is marked for archiving
- `IsNaturalPerson` (text): Is natural person
- `IsSexUnknown` (true/false): Is sex unknown
- `Language` (text): Language
- `LastChangeDate` (text): Last change date (ISO 8601, UTC)
- `LastChangeTime` (text): Last change time (HH:MM:SS)
- `LastChangedByUser` (text): Last changed by user
- `LastName` (text): Last name
- `LastNamePrefix` (text): Last name prefix
- `LastNameSecondPrefix` (text): Last name second prefix
- `LegalForm` (text): Legal form
- `MiddleName` (text): Middle name
- `NameCountry` (text): Name country
- `NameFormat` (text): Name format
- `NaturalPersonEmployerName` (text): Natural person employer name
- `OrganizationBPName1` (text): Organization BP name 1
- `OrganizationBPName2` (text): Organization BP name 2
- `OrganizationBPName3` (text): Organization BP name 3
- `OrganizationBPName4` (text): Organization BP name 4
- `OrganizationFoundationDate` (text): Organization foundation date (ISO 8601, UTC)
- `OrganizationLiquidationDate` (text): Organization liquidation date (ISO 8601, UTC)
- `PersonFullName` (text): Person full name
- `PersonNumber` (text): Person number
- `SearchTerm1` (text): Search term 1
- `SearchTerm2` (text): Search term 2
- `Supplier` (text): Supplier
- `TradingPartner` (text): Trading partner
- `to_BusinessPartnerAddress` (list): Addresses, when 'to_BusinessPartnerAddress' is expanded
- `to_BusinessPartnerBank` (list): Bank accounts, when 'to_BusinessPartnerBank' is expanded
- `to_BusinessPartnerRole` (list): Roles, when 'to_BusinessPartnerRole' is expanded

**Example output**

```json
{
  "BusinessPartner": "17100001",
  "BusinessPartnerCategory": "2",
  "BusinessPartnerFullName": "Domestic US Customer 1",
  "BusinessPartnerGrouping": "BP02",
  "BusinessPartnerIsBlocked": false,
  "CreationDate": "2016-09-26T00:00:00Z",
  "CreationTime": "14:30:00",
  "Customer": "17100001",
  "SearchTerm1": "CUSTOMER1",
  "Supplier": ""
}
```

### Get customer

Read one customer by number, optionally with its sales areas, company codes or texts included in the same call.

**Inputs**

- Customer (`customer`, text, required): The customer number, as 'List customers' returns it in 'Customer'.
- Fields to return (`fields`, list): Only return these fields, which makes large reads quicker. The record's own id is always included. Leave empty for every field. One or more of: `Customer` (Customer - Customer), `AuthorizationGroup` (AuthorizationGroup - Authorization group), `BillingIsBlockedForCustomer` (BillingIsBlockedForCustomer - Billing is blocked for customer), `CreatedByUser` (CreatedByUser - Created by user), `CreationDate` (CreationDate - Creation date), `CustomerAccountGroup` (CustomerAccountGroup - Customer account group), `CustomerClassification` (CustomerClassification - Customer classification), `CustomerFullName` (CustomerFullName - Customer full name), `BPCustomerFullName` (BPCustomerFullName - BP customer full name), `CustomerName` (CustomerName - Customer name), and 43 more.
- Include related records (`expand`, list): Also return these related records inside each result, each as a list, in the same call. One or more of: `to_CustAddrDepdntExtIdentifier` (to_CustAddrDepdntExtIdentifier - To cust addr depdnt ext identifier), `to_CustAddrDepdntInformation` (to_CustAddrDepdntInformation - To cust addr depdnt information), `to_CustomerCompany` (to_CustomerCompany - To customer company), `to_CustomerSalesArea` (to_CustomerSalesArea - To customer sales area), `to_CustomerTaxGrouping` (to_CustomerTaxGrouping - To customer tax grouping), `to_CustomerText` (to_CustomerText - To customer text), `to_CustomerUnloadingPoint` (to_CustomerUnloadingPoint - To customer unloading point), `to_CustUnldgPtAddrDepdntInfo` (to_CustUnldgPtAddrDepdntInfo - To cust unldg pt addr depdnt info).

**Outputs**

- `AuthorizationGroup` (text): Authorization group
- `BPCustomerFullName` (text): BP customer full name
- `BPCustomerName` (text): BP customer name
- `BR_ICMSTaxPayerType` (text): BR ICMS tax payer type
- `BillingIsBlockedForCustomer` (text): Billing is blocked for customer
- `CityCode` (text): City code
- `County` (text): County
- `CreatedByUser` (text): Created by user
- `CreationDate` (text): Creation date (ISO 8601, UTC)
- `Customer` (text): Customer
- `CustomerAccountGroup` (text): Customer account group
- `CustomerClassification` (text): Customer classification
- `CustomerCorporateGroup` (text): Customer corporate group
- `CustomerFullName` (text): Customer full name
- `CustomerName` (text): Customer name
- `DeletionIndicator` (true/false): Deletion indicator
- `DeliveryIsBlocked` (text): Delivery is blocked
- `ExpressTrainStationName` (text): Express train station name
- `FiscalAddress` (text): Fiscal address
- `FreeDefinedAttribute01` (text): Free defined attribute 01
- `FreeDefinedAttribute02` (text): Free defined attribute 02
- `FreeDefinedAttribute03` (text): Free defined attribute 03
- `FreeDefinedAttribute04` (text): Free defined attribute 04
- `FreeDefinedAttribute05` (text): Free defined attribute 05
- `FreeDefinedAttribute06` (text): Free defined attribute 06
- `FreeDefinedAttribute07` (text): Free defined attribute 07
- `FreeDefinedAttribute08` (text): Free defined attribute 08
- `FreeDefinedAttribute09` (text): Free defined attribute 09
- `FreeDefinedAttribute10` (text): Free defined attribute 10
- `Industry` (text): Industry
- `IndustryCode1` (text): Industry code 1
- `IndustryCode2` (text): Industry code 2
- `IndustryCode3` (text): Industry code 3
- `IndustryCode4` (text): Industry code 4
- `IndustryCode5` (text): Industry code 5
- `InternationalLocationNumber1` (text): International location number 1
- `InternationalLocationNumber2` (text): International location number 2
- `InternationalLocationNumber3` (text): International location number 3
- `NFPartnerIsNaturalPerson` (text): NF partner is natural person
- `NielsenRegion` (text): Nielsen region
- `OrderIsBlockedForCustomer` (text): Order is blocked for customer
- `PaymentReason` (text): Payment reason
- `PostingIsBlocked` (true/false): Posting is blocked
- `ResponsibleType` (text): Responsible type
- `Supplier` (text): Supplier
- `TaxNumber1` (text): Tax number 1
- `TaxNumber2` (text): Tax number 2
- `TaxNumber3` (text): Tax number 3
- `TaxNumber4` (text): Tax number 4
- `TaxNumber5` (text): Tax number 5
- `TaxNumberType` (text): Tax number type
- `TrainStationName` (text): Train station name
- `VATRegistration` (text): VAT registration
- `to_CustomerSalesArea` (list): Sales areas, when 'to_CustomerSalesArea' is expanded

**Example output**

```json
{
  "CreationDate": "2016-09-26T00:00:00Z",
  "Customer": "17100001",
  "CustomerAccountGroup": "CUST",
  "CustomerName": "Domestic US Customer 1",
  "DeletionIndicator": false
}
```

### Get outbound delivery

Read one outbound delivery header by number, optionally with its items, partners, texts or handling units included in the same call.

**Inputs**

- Outbound delivery (`delivery`, text, required): The delivery number, as 'List outbound deliveries' returns it in 'DeliveryDocument'.
- Fields to return (`fields`, list): Only return these fields, which makes large reads quicker. The record's own id is always included. Leave empty for every field. One or more of: `ActualDeliveryRoute` (ActualDeliveryRoute - Actual delivery route), `Shippinglocationtimezone` (Shippinglocationtimezone - Shippinglocationtimezone), `ActualGoodsMovementDate` (ActualGoodsMovementDate - Actual goods movement date), `Receivinglocationtimezone` (Receivinglocationtimezone - Receivinglocationtimezone), `ActualGoodsMovementTime` (ActualGoodsMovementTime - Actual goods movement time), `BillingDocumentDate` (BillingDocumentDate - Billing document date), `BillOfLading` (BillOfLading - Bill of lading), `CompleteDeliveryIsDefined` (CompleteDeliveryIsDefined - Complete delivery is defined), `ConfirmationTime` (ConfirmationTime - Confirmation time), `CreatedByUser` (CreatedByUser - Created by user), and 98 more.
- Include related records (`expand`, list): Also return these related records inside each result, each as a list, in the same call. One or more of: `to_DeliveryDocumentText` (to_DeliveryDocumentText - To delivery document text), `to_HandlingUnitHeaderDelivery` (to_HandlingUnitHeaderDelivery - To handling unit header delivery), `to_DeliveryDocumentPartner` (to_DeliveryDocumentPartner - To delivery document partner), `to_DeliveryDocumentItem` (to_DeliveryDocumentItem - To delivery document item).

**Outputs**

- `ActualDeliveryRoute` (text): Actual delivery route
- `ActualGoodsMovementDate` (text): Actual goods movement date (ISO 8601, UTC)
- `ActualGoodsMovementTime` (text): Actual goods movement time (HH:MM:SS)
- `BillOfLading` (text): Bill of lading
- `BillingDocumentDate` (text): Billing document date (ISO 8601, UTC)
- `CompleteDeliveryIsDefined` (true/false): Complete delivery is defined
- `ConfirmationTime` (text): Confirmation time (HH:MM:SS)
- `CreatedByUser` (text): Created by user
- `CreationDate` (text): Creation date (ISO 8601, UTC)
- `CreationTime` (text): Creation time (HH:MM:SS)
- `CustomerGroup` (text): Customer group
- `DeliveryBlockReason` (text): Delivery block reason
- `DeliveryDate` (text): Delivery date (ISO 8601, UTC)
- `DeliveryDocument` (text): Delivery document
- `DeliveryDocumentBySupplier` (text): Delivery document by supplier
- `DeliveryDocumentType` (text): Delivery document type
- `DeliveryIsInPlant` (true/false): Delivery is in plant
- `DeliveryPriority` (text): Delivery priority
- `DeliveryTime` (text): Delivery time (HH:MM:SS)
- `DeliveryVersion` (text): Delivery version
- `DepreciationPercentage` (text): Depreciation percentage (a decimal, as text)
- `DistrStatusByDecentralizedWrhs` (text): Distr status by decentralized wrhs
- `DocumentDate` (text): Document date (ISO 8601, UTC)
- `ExternalIdentificationType` (text): External identification type
- `ExternalTransportSystem` (text): External transport system
- `FactoryCalendarByCustomer` (text): Factory calendar by customer
- `GoodsIssueOrReceiptSlipNumber` (text): Goods issue or receipt slip number
- `GoodsIssueTime` (text): Goods issue time (HH:MM:SS)
- `HandlingUnitInStock` (text): Handling unit in stock
- `HdrGeneralIncompletionStatus` (text): Hdr general incompletion status
- `HdrGoodsMvtIncompletionStatus` (text): Hdr goods mvt incompletion status
- `HeaderBillgIncompletionStatus` (text): Header billg incompletion status
- `HeaderBillingBlockReason` (text): Header billing block reason
- `HeaderDelivIncompletionStatus` (text): Header deliv incompletion status
- `HeaderGrossWeight` (text): Header gross weight (a decimal, as text)
- `HeaderNetWeight` (text): Header net weight (a decimal, as text)
- `HeaderPackingIncompletionSts` (text): Header packing incompletion sts
- `HeaderPickgIncompletionStatus` (text): Header pickg incompletion status
- `HeaderVolume` (text): Header volume (a decimal, as text)
- `HeaderVolumeUnit` (text): Header volume unit
- `HeaderWeightUnit` (text): Header weight unit
- `IncotermsClassification` (text): Incoterms classification
- `IncotermsTransferLocation` (text): Incoterms transfer location
- `IntercompanyBillingDate` (text): Intercompany billing date (ISO 8601, UTC)
- `InternalFinancialDocument` (text): Internal financial document
- `IsDeliveryForSingleWarehouse` (text): Is delivery for single warehouse
- `IsExportDelivery` (text): Is export delivery
- `LastChangeDate` (text): Last change date (ISO 8601, UTC)
- `LastChangedByUser` (text): Last changed by user
- `LoadingDate` (text): Loading date (ISO 8601, UTC)
- `LoadingPoint` (text): Loading point
- `LoadingTime` (text): Loading time (HH:MM:SS)
- `MeansOfTransport` (text): Means of transport
- `MeansOfTransportRefMaterial` (text): Means of transport ref material
- `MeansOfTransportType` (text): Means of transport type
- `OrderCombinationIsAllowed` (true/false): Order combination is allowed
- `OrderID` (text): Order ID
- `OverallDelivConfStatus` (text): Overall deliv conf status
- `OverallDelivReltdBillgStatus` (text): Overall deliv reltd billg status
- `OverallGoodsMovementStatus` (text): Overall goods movement status
- `OverallIntcoBillingStatus` (text): Overall intco billing status
- `OverallPackingStatus` (text): Overall packing status
- `OverallPickingConfStatus` (text): Overall picking conf status
- `OverallPickingStatus` (text): Overall picking status
- `OverallProofOfDeliveryStatus` (text): Overall proof of delivery status
- `OverallSDProcessStatus` (text): Overall SD process status
- `OverallWarehouseActivityStatus` (text): Overall warehouse activity status
- `OvrlItmDelivIncompletionSts` (text): Ovrl itm deliv incompletion sts
- `OvrlItmGdsMvtIncompletionSts` (text): Ovrl itm gds mvt incompletion sts
- `OvrlItmGeneralIncompletionSts` (text): Ovrl itm general incompletion sts
- `OvrlItmPackingIncompletionSts` (text): Ovrl itm packing incompletion sts
- `OvrlItmPickingIncompletionSts` (text): Ovrl itm picking incompletion sts
- `PaymentGuaranteeProcedure` (text): Payment guarantee procedure
- `PickedItemsLocation` (text): Picked items location
- `PickingDate` (text): Picking date (ISO 8601, UTC)
- `PickingTime` (text): Picking time (HH:MM:SS)
- `PlannedGoodsIssueDate` (text): Planned goods issue date (ISO 8601, UTC)
- `ProofOfDeliveryDate` (text): Proof of delivery date (ISO 8601, UTC)
- `ProposedDeliveryRoute` (text): Proposed delivery route
- `ReceivingPlant` (text): Receiving plant
- `Receivinglocationtimezone` (text): Receivinglocationtimezone
- `RouteSchedule` (text): Route schedule
- `SDDocumentCategory` (text): SD document category
- `SalesDistrict` (text): Sales district
- `SalesOffice` (text): Sales office
- `SalesOrganization` (text): Sales organization
- `ShipToParty` (text): Ship to party
- `ShipmentBlockReason` (text): Shipment block reason
- `ShippingCondition` (text): Shipping condition
- `ShippingPoint` (text): Shipping point
- `ShippingType` (text): Shipping type
- `Shippinglocationtimezone` (text): Shippinglocationtimezone
- `SoldToParty` (text): Sold to party
- `SpecialProcessingCode` (text): Special processing code
- `StatisticsCurrency` (text): Statistics currency
- `Supplier` (text): Supplier
- `TotalBlockStatus` (text): Total block status
- `TotalCreditCheckStatus` (text): Total credit check status
- `TotalNumberOfPackage` (text): Total number of package
- `TransactionCurrency` (text): Transaction currency
- `TransportationGroup` (text): Transportation group
- `TransportationPlanningDate` (text): Transportation planning date (ISO 8601, UTC)
- `TransportationPlanningStatus` (text): Transportation planning status
- `TransportationPlanningTime` (text): Transportation planning time (HH:MM:SS)
- `UnloadingPointName` (text): Unloading point name
- `Warehouse` (text): Warehouse
- `WarehouseGate` (text): Warehouse gate
- `WarehouseStagingArea` (text): Warehouse staging area
- `to_DeliveryDocumentItem` (list): Items, when 'to_DeliveryDocumentItem' is expanded

**Example output**

```json
{
  "DeliveryDocument": "80000000",
  "DeliveryDocumentType": "LF",
  "OverallGoodsMovementStatus": "C",
  "PlannedGoodsIssueDate": "2017-04-14T00:00:00Z",
  "ShipToParty": "17100001",
  "ShippingPoint": "1710",
  "SoldToParty": "17100001"
}
```

### Get sales order

Read one sales order header by number. Include 'to_Item' and 'to_Partner' to get the whole order - items and partners - in one call.

**Inputs**

- Sales order (`sales_order`, text, required): The sales order number, as 'List sales orders' returns it in 'SalesOrder'.
- Fields to return (`fields`, list): Only return these fields, which makes large reads quicker. The record's own id is always included. Leave empty for every field. One or more of: `SalesOrder` (SalesOrder - Sales order), `SalesOrderType` (SalesOrderType - Sales order type), `SalesOrderTypeInternalCode` (SalesOrderTypeInternalCode - Sales order type internal code), `SalesOrganization` (SalesOrganization - Sales organization), `DistributionChannel` (DistributionChannel - Distribution channel), `OrganizationDivision` (OrganizationDivision - Organization division), `SalesGroup` (SalesGroup - Sales group), `SalesOffice` (SalesOffice - Sales office), `SalesDistrict` (SalesDistrict - Sales district), `SoldToParty` (SoldToParty - Sold to party), and 74 more.
- Include related records (`expand`, list): Also return these related records inside each result, each as a list, in the same call. One or more of: `to_BillingPlan` (to_BillingPlan - To billing plan), `to_Item` (to_Item - To item), `to_Partner` (to_Partner - To partner), `to_PaymentPlanItemDetails` (to_PaymentPlanItemDetails - To payment plan item details), `to_PrecedingProcFlowDoc` (to_PrecedingProcFlowDoc - To preceding proc flow doc), `to_PricingElement` (to_PricingElement - To pricing element), `to_RelatedObject` (to_RelatedObject - To related object), `to_SubsequentProcFlowDoc` (to_SubsequentProcFlowDoc - To subsequent proc flow doc), `to_Text` (to_Text - To text).

**Outputs**

- `AccountingDocExternalReference` (text): Accounting doc external reference
- `AccountingExchangeRate` (text): Accounting exchange rate (a decimal, as text)
- `AdditionalCustomerGroup1` (text): Additional customer group 1
- `AdditionalCustomerGroup2` (text): Additional customer group 2
- `AdditionalCustomerGroup3` (text): Additional customer group 3
- `AdditionalCustomerGroup4` (text): Additional customer group 4
- `AdditionalCustomerGroup5` (text): Additional customer group 5
- `AdditionalValueDays` (text): Additional value days
- `AssignmentReference` (text): Assignment reference
- `BillingDocumentDate` (text): Billing document date (ISO 8601, UTC)
- `BillingPlan` (text): Billing plan
- `CompleteDeliveryIsDefined` (true/false): Complete delivery is defined
- `ContractAccount` (text): Contract account
- `CreatedByUser` (text): Created by user
- `CreationDate` (text): Creation date (ISO 8601, UTC)
- `CustomerAccountAssignmentGroup` (text): Customer account assignment group
- `CustomerGroup` (text): Customer group
- `CustomerPaymentTerms` (text): Customer payment terms
- `CustomerPriceGroup` (text): Customer price group
- `CustomerPurchaseOrderDate` (text): Customer purchase order date (ISO 8601, UTC)
- `CustomerPurchaseOrderSuplmnt` (text): Customer purchase order suplmnt
- `CustomerPurchaseOrderType` (text): Customer purchase order type
- `CustomerTaxClassification1` (text): Customer tax classification 1
- `CustomerTaxClassification2` (text): Customer tax classification 2
- `CustomerTaxClassification3` (text): Customer tax classification 3
- `CustomerTaxClassification4` (text): Customer tax classification 4
- `CustomerTaxClassification5` (text): Customer tax classification 5
- `CustomerTaxClassification6` (text): Customer tax classification 6
- `CustomerTaxClassification7` (text): Customer tax classification 7
- `CustomerTaxClassification8` (text): Customer tax classification 8
- `CustomerTaxClassification9` (text): Customer tax classification 9
- `DeliveryBlockReason` (text): Delivery block reason
- `DeliveryDateTypeRule` (text): Delivery date type rule
- `DistributionChannel` (text): Distribution channel
- `ExternalDocLastChangeDateTime` (text): External doc last change date time (ISO 8601, UTC)
- `ExternalDocumentID` (text): External document ID
- `FixedValueDate` (text): Fixed value date (ISO 8601, UTC)
- `HeaderBillingBlockReason` (text): Header billing block reason
- `IncotermsClassification` (text): Incoterms classification
- `IncotermsLocation1` (text): Incoterms location 1
- `IncotermsLocation2` (text): Incoterms location 2
- `IncotermsTransferLocation` (text): Incoterms transfer location
- `IncotermsVersion` (text): Incoterms version
- `LastChangeDate` (text): Last change date (ISO 8601, UTC)
- `LastChangeDateTime` (text): Last change date time (ISO 8601, UTC)
- `OrganizationDivision` (text): Organization division
- `OverallDeliveryStatus` (text): Overall delivery status
- `OverallOrdReltdBillgStatus` (text): Overall ord reltd billg status
- `OverallSDDocReferenceStatus` (text): Overall SD doc reference status
- `OverallSDDocumentRejectionSts` (text): Overall SD document rejection sts
- `OverallSDProcessStatus` (text): Overall SD process status
- `OverallTotalDeliveryStatus` (text): Overall total delivery status
- `PaymentMethod` (text): Payment method
- `PriceDetnExchangeRate` (text): Price detn exchange rate (a decimal, as text)
- `PriceListType` (text): Price list type
- `PricingDate` (text): Pricing date (ISO 8601, UTC)
- `PurchaseOrderByCustomer` (text): Purchase order by customer
- `PurchaseOrderByShipToParty` (text): Purchase order by ship to party
- `ReferenceSDDocument` (text): Reference SD document
- `ReferenceSDDocumentCategory` (text): Reference SD document category
- `RequestedDeliveryDate` (text): Requested delivery date (ISO 8601, UTC)
- `SDDocumentReason` (text): SD document reason
- `SalesDistrict` (text): Sales district
- `SalesDocApprovalStatus` (text): Sales doc approval status
- `SalesGroup` (text): Sales group
- `SalesOffice` (text): Sales office
- `SalesOrder` (text): Sales order
- `SalesOrderApprovalReason` (text): Sales order approval reason
- `SalesOrderDate` (text): Sales order date (ISO 8601, UTC)
- `SalesOrderType` (text): Sales order type
- `SalesOrderTypeInternalCode` (text): Sales order type internal code
- `SalesOrganization` (text): Sales organization
- `SenderBusinessSystemName` (text): Sender business system name
- `ServicesRenderedDate` (text): Services rendered date (ISO 8601, UTC)
- `ShippingCondition` (text): Shipping condition
- `ShippingType` (text): Shipping type
- `SlsDocIsRlvtForProofOfDeliv` (true/false): Sls doc is rlvt for proof of deliv
- `SoldToParty` (text): Sold to party
- `TaxDepartureCountry` (text): Tax departure country
- `TotalBlockStatus` (text): Total block status
- `TotalCreditCheckStatus` (text): Total credit check status
- `TotalNetAmount` (text): Total net amount (a decimal, as text)
- `TransactionCurrency` (text): Transaction currency
- `VATRegistrationCountry` (text): VAT registration country
- `to_Item` (list): Items, when 'to_Item' is expanded
- `to_Partner` (list): Header partners, when 'to_Partner' is expanded
- `to_SubsequentProcFlowDoc` (list): Follow-on documents, when 'to_SubsequentProcFlowDoc' is expanded

**Example output**

```json
{
  "DistributionChannel": "10",
  "OverallDeliveryStatus": "C",
  "OverallSDProcessStatus": "C",
  "SalesOrder": "1",
  "SalesOrderDate": "2017-04-13T00:00:00Z",
  "SalesOrderType": "OR",
  "SalesOrganization": "1710",
  "SoldToParty": "17100001",
  "TotalNetAmount": "52.65",
  "TransactionCurrency": "USD"
}
```

### Get supplier

Read one supplier by number, optionally with its purchasing organizations, company codes or texts included in the same call.

**Inputs**

- Supplier (`supplier`, text, required): The supplier number, as 'List suppliers' returns it in 'Supplier'.
- Fields to return (`fields`, list): Only return these fields, which makes large reads quicker. The record's own id is always included. Leave empty for every field. One or more of: `Supplier` (Supplier - Supplier), `AlternativePayeeAccountNumber` (AlternativePayeeAccountNumber - Alternative payee account number), `AuthorizationGroup` (AuthorizationGroup - Authorization group), `BusinessPartnerPanNumber` (BusinessPartnerPanNumber - Business partner pan number), `CreatedByUser` (CreatedByUser - Created by user), `CreationDate` (CreationDate - Creation date), `Customer` (Customer - Customer), `PaymentIsBlockedForSupplier` (PaymentIsBlockedForSupplier - Payment is blocked for supplier), `PostingIsBlocked` (PostingIsBlocked - Posting is blocked), `PurchasingIsBlocked` (PurchasingIsBlocked - Purchasing is blocked), and 31 more.
- Include related records (`expand`, list): Also return these related records inside each result, each as a list, in the same call. One or more of: `to_SupplierCompany` (to_SupplierCompany - To supplier company), `to_SupplierPurchasingOrg` (to_SupplierPurchasingOrg - To supplier purchasing org), `to_SupplierText` (to_SupplierText - To supplier text).

**Outputs**

- `AlternativePayeeAccountNumber` (text): Alternative payee account number
- `AuthorizationGroup` (text): Authorization group
- `BR_TaxIsSplit` (true/false): BR tax is split
- `BirthDate` (text): Birth date (ISO 8601, UTC)
- `BusinessPartnerPanNumber` (text): Business partner pan number
- `ConcatenatedInternationalLocNo` (text): Concatenated international loc no
- `CreatedByUser` (text): Created by user
- `CreationDate` (text): Creation date (ISO 8601, UTC)
- `Customer` (text): Customer
- `DataExchangeInstructionKey` (text): Data exchange instruction key
- `DeletionIndicator` (true/false): Deletion indicator
- `FiscalAddress` (text): Fiscal address
- `Industry` (text): Industry
- `InternationalLocationNumber1` (text): International location number 1
- `InternationalLocationNumber2` (text): International location number 2
- `InternationalLocationNumber3` (text): International location number 3
- `IsNaturalPerson` (text): Is natural person
- `JP_SuplrAmtInCapitalAmount` (text): JP suplr amt in capital amount (a decimal, as text)
- `JP_SupplierCapitalAmountCrcy` (text): JP supplier capital amount crcy
- `PaymentIsBlockedForSupplier` (true/false): Payment is blocked for supplier
- `PaymentReason` (text): Payment reason
- `PostingIsBlocked` (true/false): Posting is blocked
- `PurchasingIsBlocked` (true/false): Purchasing is blocked
- `ResponsibleType` (text): Responsible type
- `SuplrProofOfDelivRlvtCode` (text): Suplr proof of deliv rlvt code
- `SuplrQltyInProcmtCertfnValidTo` (text): Suplr qlty in procmt certfn valid to (ISO 8601, UTC)
- `SuplrQualityManagementSystem` (text): Suplr quality management system
- `Supplier` (text): Supplier
- `SupplierAccountGroup` (text): Supplier account group
- `SupplierCorporateGroup` (text): Supplier corporate group
- `SupplierFullName` (text): Supplier full name
- `SupplierName` (text): Supplier name
- `SupplierProcurementBlock` (text): Supplier procurement block
- `TaxNumber1` (text): Tax number 1
- `TaxNumber2` (text): Tax number 2
- `TaxNumber3` (text): Tax number 3
- `TaxNumber4` (text): Tax number 4
- `TaxNumber5` (text): Tax number 5
- `TaxNumberResponsible` (text): Tax number responsible
- `TaxNumberType` (text): Tax number type
- `VATRegistration` (text): VAT registration
- `to_SupplierPurchasingOrg` (list): Purchasing organizations, when 'to_SupplierPurchasingOrg' is expanded

**Example output**

```json
{
  "DeletionIndicator": false,
  "PurchasingIsBlocked": false,
  "Supplier": "17300001",
  "SupplierAccountGroup": "SUPL",
  "SupplierName": "Domestic US Supplier 1"
}
```

### List business partner addresses

List a business partner's addresses: street, house number, postal code, city, region and country, with validity dates. Include 'to_EmailAddress' or 'to_PhoneNumber' to get the email addresses and phone numbers kept on each address.

**Inputs**

- Business partner (`business_partner`, text, required): The business partner number, as 'List business partners' returns it in 'BusinessPartner'.
- Advanced filter (OData) (`odata_filter`, text): An OData V2 $filter expression, combined with the filters above. Use the field names from the results and quote text in single quotes.
- Fields to return (`fields`, list): Only return these fields, which makes large reads quicker. The record's own id is always included. Leave empty for every field. One or more of: `BusinessPartner` (BusinessPartner - Business partner), `AddressID` (AddressID - Address ID), `ValidityStartDate` (ValidityStartDate - Validity start date), `ValidityEndDate` (ValidityEndDate - Validity end date), `AuthorizationGroup` (AuthorizationGroup - Authorization group), `AddressUUID` (AddressUUID - Address UUID), `AdditionalStreetPrefixName` (AdditionalStreetPrefixName - Additional street prefix name), `AdditionalStreetSuffixName` (AdditionalStreetSuffixName - Additional street suffix name), `AddressTimeZone` (AddressTimeZone - Address time zone), `CareOfName` (CareOfName - Care of name), and 37 more.
- Include related records (`expand`, list): Also return these related records inside each result, each as a list, in the same call. One or more of: `to_AddressUsage` (to_AddressUsage - To address usage), `to_BPAddrDepdntIntlLocNumber` (to_BPAddrDepdntIntlLocNumber - To BP addr depdnt intl loc number), `to_BPIntlAddressVersion` (to_BPIntlAddressVersion - To BP intl address version), `to_EmailAddress` (to_EmailAddress - To email address), `to_FaxNumber` (to_FaxNumber - To fax number), `to_MobilePhoneNumber` (to_MobilePhoneNumber - To mobile phone number), `to_PhoneNumber` (to_PhoneNumber - To phone number), `to_URLAddress` (to_URLAddress - To URL address).
- Sort by (`sort_by`, text): Which field to order the results by. Leave empty for SAP's own order. One of: `AddressID` (AddressID - Address ID), `CityName` (CityName - City name), `Country` (Country - Country), `PostalCode` (PostalCode - Postal code), `ValidityStartDate` (ValidityStartDate - Validity start date).
- Sort direction (`sort_direction`, text): Which way to order the sort chosen above. One of: `asc` (Ascending (A-Z, oldest first)), `desc` (Descending (Z-A, newest first)).
- Number of results (`limit`, number): How many records to return, 1-1000. Defaults to 50. From 1 to 1000. Default: `50`.
- Skip (`offset`, number): How many records to skip; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 10000000. Default: `0`.

**Outputs**

- `addresses` (list): Addresses
- `count` (number): Records on this page
- `has_more` (true/false): Whether a page follows
- `limit` (number): Page size used
- `next_offset` (number): The 'offset' that reads the next page
- `offset` (number): Records skipped
- `total_count` (number): Records matching the filters, across every page

**Example output**

```json
{
  "addresses": [
    {
      "AddressID": "22612",
      "BusinessPartner": "17100001",
      "CityName": "Walldorf",
      "Country": "DE",
      "HouseNumber": "16",
      "PostalCode": "69190",
      "StreetName": "Dietmar-Hopp-Allee",
      "ValidityStartDate": "2016-09-26T00:00:00Z"
    }
  ],
  "count": 1,
  "has_more": false,
  "limit": 50,
  "next_offset": null,
  "offset": 0,
  "total_count": 1
}
```

### List business partner bank accounts

List a business partner's bank accounts: bank name and country, IBAN, SWIFT code, account number and holder, with validity dates.

**Inputs**

- Business partner (`business_partner`, text, required): The business partner number, as 'List business partners' returns it in 'BusinessPartner'.
- Advanced filter (OData) (`odata_filter`, text): An OData V2 $filter expression, combined with the filters above. Use the field names from the results and quote text in single quotes.
- Fields to return (`fields`, list): Only return these fields, which makes large reads quicker. The record's own id is always included. Leave empty for every field. One or more of: `BusinessPartner` (BusinessPartner - Business partner), `BankIdentification` (BankIdentification - Bank identification), `BankCountryKey` (BankCountryKey - Bank country key), `BankName` (BankName - Bank name), `BankNumber` (BankNumber - Bank number), `SWIFTCode` (SWIFTCode - SWIFT code), `BankControlKey` (BankControlKey - Bank control key), `BankAccountHolderName` (BankAccountHolderName - Bank account holder name), `BankAccountName` (BankAccountName - Bank account name), `ValidityStartDate` (ValidityStartDate - Validity start date), and 8 more.
- Sort by (`sort_by`, text): Which field to order the results by. Leave empty for SAP's own order. One of: `BankIdentification` (BankIdentification - Bank identification), `BankName` (BankName - Bank name), `ValidityStartDate` (ValidityStartDate - Validity start date).
- Sort direction (`sort_direction`, text): Which way to order the sort chosen above. One of: `asc` (Ascending (A-Z, oldest first)), `desc` (Descending (Z-A, newest first)).
- Number of results (`limit`, number): How many records to return, 1-1000. Defaults to 50. From 1 to 1000. Default: `50`.
- Skip (`offset`, number): How many records to skip; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 10000000. Default: `0`.

**Outputs**

- `bank_accounts` (list): Bank accounts
- `count` (number): Records on this page
- `has_more` (true/false): Whether a page follows
- `limit` (number): Page size used
- `next_offset` (number): The 'offset' that reads the next page
- `offset` (number): Records skipped
- `total_count` (number): Records matching the filters, across every page

**Example output**

```json
{
  "bank_accounts": [
    {
      "BankCountryKey": "DE",
      "BankIdentification": "0001",
      "BankName": "Demo Bank",
      "BusinessPartner": "17100001",
      "IBAN": "DE02100100100006820101",
      "SWIFTCode": "PBNKDEFF"
    }
  ],
  "count": 1,
  "has_more": false,
  "limit": 50,
  "next_offset": null,
  "offset": 0,
  "total_count": 1
}
```

### List business partner roles

List the roles a business partner holds - such as customer (FLCU00, FLCU01) or supplier (FLVN00, FLVN01) - with the dates each is valid from and to.

**Inputs**

- Business partner (`business_partner`, text, required): The business partner number, as 'List business partners' returns it in 'BusinessPartner'.
- Advanced filter (OData) (`odata_filter`, text): An OData V2 $filter expression, combined with the filters above. Use the field names from the results and quote text in single quotes.
- Fields to return (`fields`, list): Only return these fields, which makes large reads quicker. The record's own id is always included. Leave empty for every field. One or more of: `BusinessPartner` (BusinessPartner - Business partner), `BusinessPartnerRole` (BusinessPartnerRole - Business partner role), `ValidFrom` (ValidFrom - Valid from), `ValidTo` (ValidTo - Valid to), `AuthorizationGroup` (AuthorizationGroup - Authorization group).
- Sort by (`sort_by`, text): Which field to order the results by. Leave empty for SAP's own order. One of: `BusinessPartnerRole` (BusinessPartnerRole - Business partner role), `ValidFrom` (ValidFrom - Valid from), `ValidTo` (ValidTo - Valid to).
- Sort direction (`sort_direction`, text): Which way to order the sort chosen above. One of: `asc` (Ascending (A-Z, oldest first)), `desc` (Descending (Z-A, newest first)).
- Number of results (`limit`, number): How many records to return, 1-1000. Defaults to 50. From 1 to 1000. Default: `50`.
- Skip (`offset`, number): How many records to skip; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 10000000. Default: `0`.

**Outputs**

- `count` (number): Records on this page
- `has_more` (true/false): Whether a page follows
- `limit` (number): Page size used
- `next_offset` (number): The 'offset' that reads the next page
- `offset` (number): Records skipped
- `roles` (list): Roles
- `total_count` (number): Records matching the filters, across every page

**Example output**

```json
{
  "count": 1,
  "has_more": false,
  "limit": 50,
  "next_offset": null,
  "offset": 0,
  "roles": [
    {
      "BusinessPartner": "17100001",
      "BusinessPartnerRole": "FLCU01",
      "ValidFrom": "2016-09-26T00:00:00Z",
      "ValidTo": "9999-12-31T00:00:00Z"
    }
  ],
  "total_count": 1
}
```

### List business partners

List business partners - the people, organizations and groups behind every customer and supplier - with their names, category, grouping, search terms and creation and change dates. Filter by category, name, search term or block status.

**Inputs**

- Category (`category`, text): Only include persons, organizations or groups. One of: `1` (Person), `2` (Organization), `3` (Group).
- Name contains (`name_contains`, text): Only include partners whose full name contains this text (case-sensitive).
- Search term starts with (`search_term`, text): Only include partners whose first search term starts with this text. SAP stores search terms in upper case.
- Blocked (`blocked`, text): Only include blocked, or only unblocked, partners. One of: `blocked` (Blocked only), `not_blocked` (Not blocked only).
- Advanced filter (OData) (`odata_filter`, text): An OData V2 $filter expression, combined with the filters above. Use the field names from the results and quote text in single quotes.
- Fields to return (`fields`, list): Only return these fields, which makes large reads quicker. The record's own id is always included. Leave empty for every field. One or more of: `BusinessPartner` (BusinessPartner - Business partner), `Customer` (Customer - Customer), `Supplier` (Supplier - Supplier), `AcademicTitle` (AcademicTitle - Academic title), `AuthorizationGroup` (AuthorizationGroup - Authorization group), `BusinessPartnerCategory` (BusinessPartnerCategory - Business partner category), `BusinessPartnerFullName` (BusinessPartnerFullName - Business partner full name), `BusinessPartnerGrouping` (BusinessPartnerGrouping - Business partner grouping), `BusinessPartnerName` (BusinessPartnerName - Business partner name), `BusinessPartnerUUID` (BusinessPartnerUUID - Business partner UUID), and 59 more.
- Include related records (`expand`, list): Also return these related records inside each result, each as a list, in the same call. One or more of: `to_AddressIndependentEmail` (to_AddressIndependentEmail - To address independent email), `to_AddressIndependentFax` (to_AddressIndependentFax - To address independent fax), `to_AddressIndependentMobile` (to_AddressIndependentMobile - To address independent mobile), `to_AddressIndependentPhone` (to_AddressIndependentPhone - To address independent phone), `to_AddressIndependentWebsite` (to_AddressIndependentWebsite - To address independent website), `to_BPCreditWorthiness` (to_BPCreditWorthiness - To BP credit worthiness), `to_BPDataController` (to_BPDataController - To BP data controller), `to_BPEmployment` (to_BPEmployment - To BP employment), `to_BPFinServicesReporting` (to_BPFinServicesReporting - To BP fin services reporting), `to_BPFiscalYearInformation` (to_BPFiscalYearInformation - To BP fiscal year information), and 16 more.
- Sort by (`sort_by`, text): Which field to order the results by. Leave empty for SAP's own order. One of: `BusinessPartner` (BusinessPartner - Business partner), `BusinessPartnerFullName` (BusinessPartnerFullName - Business partner full name), `CreationDate` (CreationDate - Creation date), `LastChangeDate` (LastChangeDate - Last change date).
- Sort direction (`sort_direction`, text): Which way to order the sort chosen above. One of: `asc` (Ascending (A-Z, oldest first)), `desc` (Descending (Z-A, newest first)).
- Number of results (`limit`, number): How many records to return, 1-1000. Defaults to 50. From 1 to 1000. Default: `50`.
- Skip (`offset`, number): How many records to skip; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 10000000. Default: `0`.

**Outputs**

- `business_partners` (list): Business partners
- `count` (number): Records on this page
- `has_more` (true/false): Whether a page follows
- `limit` (number): Page size used
- `next_offset` (number): The 'offset' that reads the next page
- `offset` (number): Records skipped
- `total_count` (number): Records matching the filters, across every page

**Example output**

```json
{
  "business_partners": [
    {
      "BusinessPartner": "17100001",
      "BusinessPartnerCategory": "2",
      "BusinessPartnerFullName": "Domestic US Customer 1",
      "BusinessPartnerGrouping": "BP02",
      "BusinessPartnerIsBlocked": false,
      "CreationDate": "2016-09-26T00:00:00Z",
      "CreationTime": "14:30:00",
      "Customer": "17100001",
      "SearchTerm1": "CUSTOMER1",
      "Supplier": ""
    }
  ],
  "count": 1,
  "has_more": true,
  "limit": 50,
  "next_offset": 1,
  "offset": 0,
  "total_count": 812
}
```

### List customer sales areas

List the sales areas a customer is set up in - sales organization, distribution channel and division - with the currency, payment terms, incoterms, shipping conditions and blocks each one uses.

**Inputs**

- Customer (`customer`, text, required): The customer number, as 'List customers' returns it in 'Customer'.
- Advanced filter (OData) (`odata_filter`, text): An OData V2 $filter expression, combined with the filters above. Use the field names from the results and quote text in single quotes.
- Fields to return (`fields`, list): Only return these fields, which makes large reads quicker. The record's own id is always included. Leave empty for every field. One or more of: `Customer` (Customer - Customer), `SalesOrganization` (SalesOrganization - Sales organization), `DistributionChannel` (DistributionChannel - Distribution channel), `Division` (Division - Division), `AccountByCustomer` (AccountByCustomer - Account by customer), `AuthorizationGroup` (AuthorizationGroup - Authorization group), `BillingIsBlockedForCustomer` (BillingIsBlockedForCustomer - Billing is blocked for customer), `CompleteDeliveryIsDefined` (CompleteDeliveryIsDefined - Complete delivery is defined), `CreditControlArea` (CreditControlArea - Credit control area), `Currency` (Currency - Currency), and 51 more.
- Include related records (`expand`, list): Also return these related records inside each result, each as a list, in the same call. One or more of: `to_PartnerFunction` (to_PartnerFunction - To partner function), `to_SalesAreaTax` (to_SalesAreaTax - To sales area tax), `to_SalesAreaText` (to_SalesAreaText - To sales area text), `to_SlsAreaAddrDepdntInfo` (to_SlsAreaAddrDepdntInfo - To sls area addr depdnt info).
- Sort by (`sort_by`, text): Which field to order the results by. Leave empty for SAP's own order. One of: `SalesOrganization` (SalesOrganization - Sales organization), `DistributionChannel` (DistributionChannel - Distribution channel), `Division` (Division - Division).
- Sort direction (`sort_direction`, text): Which way to order the sort chosen above. One of: `asc` (Ascending (A-Z, oldest first)), `desc` (Descending (Z-A, newest first)).
- Number of results (`limit`, number): How many records to return, 1-1000. Defaults to 50. From 1 to 1000. Default: `50`.
- Skip (`offset`, number): How many records to skip; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 10000000. Default: `0`.

**Outputs**

- `count` (number): Records on this page
- `has_more` (true/false): Whether a page follows
- `limit` (number): Page size used
- `next_offset` (number): The 'offset' that reads the next page
- `offset` (number): Records skipped
- `sales_areas` (list): Sales areas
- `total_count` (number): Records matching the filters, across every page

**Example output**

```json
{
  "count": 1,
  "has_more": false,
  "limit": 50,
  "next_offset": null,
  "offset": 0,
  "sales_areas": [
    {
      "Currency": "USD",
      "Customer": "17100001",
      "CustomerPaymentTerms": "0001",
      "DistributionChannel": "10",
      "Division": "00",
      "SalesOrganization": "1710"
    }
  ],
  "total_count": 1
}
```

### List customers

List customers with their name, account group, tax numbers, industry and order, delivery, billing and posting blocks. Filter by name, account group or deletion flag.

**Inputs**

- Name contains (`name_contains`, text): Only include customers whose name contains this text (case-sensitive).
- Account group (`account_group`, text): Only include customers in this account group.
- Deletion flag (`deletion_status`, text): Only include customers that are, or are not, marked for deletion. One of: `active` (Not marked for deletion), `marked` (Marked for deletion only).
- Advanced filter (OData) (`odata_filter`, text): An OData V2 $filter expression, combined with the filters above. Use the field names from the results and quote text in single quotes.
- Fields to return (`fields`, list): Only return these fields, which makes large reads quicker. The record's own id is always included. Leave empty for every field. One or more of: `Customer` (Customer - Customer), `AuthorizationGroup` (AuthorizationGroup - Authorization group), `BillingIsBlockedForCustomer` (BillingIsBlockedForCustomer - Billing is blocked for customer), `CreatedByUser` (CreatedByUser - Created by user), `CreationDate` (CreationDate - Creation date), `CustomerAccountGroup` (CustomerAccountGroup - Customer account group), `CustomerClassification` (CustomerClassification - Customer classification), `CustomerFullName` (CustomerFullName - Customer full name), `BPCustomerFullName` (BPCustomerFullName - BP customer full name), `CustomerName` (CustomerName - Customer name), and 43 more.
- Include related records (`expand`, list): Also return these related records inside each result, each as a list, in the same call. One or more of: `to_CustAddrDepdntExtIdentifier` (to_CustAddrDepdntExtIdentifier - To cust addr depdnt ext identifier), `to_CustAddrDepdntInformation` (to_CustAddrDepdntInformation - To cust addr depdnt information), `to_CustomerCompany` (to_CustomerCompany - To customer company), `to_CustomerSalesArea` (to_CustomerSalesArea - To customer sales area), `to_CustomerTaxGrouping` (to_CustomerTaxGrouping - To customer tax grouping), `to_CustomerText` (to_CustomerText - To customer text), `to_CustomerUnloadingPoint` (to_CustomerUnloadingPoint - To customer unloading point), `to_CustUnldgPtAddrDepdntInfo` (to_CustUnldgPtAddrDepdntInfo - To cust unldg pt addr depdnt info).
- Sort by (`sort_by`, text): Which field to order the results by. Leave empty for SAP's own order. One of: `Customer` (Customer - Customer), `CustomerName` (CustomerName - Customer name), `CreationDate` (CreationDate - Creation date).
- Sort direction (`sort_direction`, text): Which way to order the sort chosen above. One of: `asc` (Ascending (A-Z, oldest first)), `desc` (Descending (Z-A, newest first)).
- Number of results (`limit`, number): How many records to return, 1-1000. Defaults to 50. From 1 to 1000. Default: `50`.
- Skip (`offset`, number): How many records to skip; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 10000000. Default: `0`.

**Outputs**

- `count` (number): Records on this page
- `customers` (list): Customers
- `has_more` (true/false): Whether a page follows
- `limit` (number): Page size used
- `next_offset` (number): The 'offset' that reads the next page
- `offset` (number): Records skipped
- `total_count` (number): Records matching the filters, across every page

**Example output**

```json
{
  "count": 1,
  "customers": [
    {
      "CreationDate": "2016-09-26T00:00:00Z",
      "Customer": "17100001",
      "CustomerAccountGroup": "CUST",
      "CustomerName": "Domestic US Customer 1",
      "DeletionIndicator": false
    }
  ],
  "has_more": true,
  "limit": 50,
  "next_offset": 1,
  "offset": 0,
  "total_count": 230
}
```

### List material stock

List how much of each material is in stock, one row per plant, storage location, batch and stock type, in the material's base unit. Filter by material; the plant and storage-location filters are applied to the rows after they are read, so paging counts materials rather than rows.

**Inputs**

- Material (`material`, text): Only include this material number.
- Material starts with (`material_starts_with`, text): Only include materials whose number starts with this text.
- Plant (`plant`, text): Only include stock in this plant.
- Storage location (`storage_location`, text): Only include stock in this storage location.
- Advanced filter (OData) (`odata_filter`, text): An OData V2 $filter expression, combined with the filters above. Use the field names from the results and quote text in single quotes.
- Number of results (`limit`, number): How many records to return, 1-1000. Defaults to 50. From 1 to 1000. Default: `50`.
- Skip (`offset`, number): How many records to skip; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 10000000. Default: `0`.

**Outputs**

- `count` (number): Stock rows returned
- `has_more` (true/false): Whether a page follows
- `limit` (number): Materials per page
- `material_count` (number): Materials on this page
- `next_offset` (number): The 'offset' that reads the next page
- `offset` (number): Materials skipped
- `stock` (list): Stock quantities, one row per material, plant, storage location, batch and stock type
- `total_count` (number): Materials matching the filters, across every page

**Example output**

```json
{
  "count": 1,
  "has_more": false,
  "limit": 50,
  "material_count": 1,
  "next_offset": null,
  "offset": 0,
  "stock": [
    {
      "Batch": "",
      "InventoryStockType": "01",
      "Material": "TG11",
      "MaterialBaseUnit": "PC",
      "MatlWrhsStkQtyInMatlBaseUnit": "250",
      "Plant": "1710",
      "StorageLocation": "171A"
    }
  ],
  "total_count": 1
}
```

### List outbound deliveries

List outbound delivery headers with sold-to and ship-to customer, shipping point, planned goods issue and delivery dates, weights, and picking, packing and goods movement statuses. Filter by customer, shipping point, status or planned goods issue date, or search the free text.

**Inputs**

- Search (`search`, text): Free-text search across the deliveries.
- Sold-to customer (`sold_to_party`, text): Only include documents for this customer number.
- Ship-to customer (`ship_to_party`, text): Only include deliveries going to this customer number.
- Shipping point (`shipping_point`, text): Only include deliveries from this shipping point.
- Goods movement status (`goods_movement_status`, text): Only include deliveries with this goods movement status; 'Completely processed' means goods issue is posted. One of: `A` (Not yet processed), `B` (Partially processed), `C` (Completely processed).
- Picking status (`picking_status`, text): Only include deliveries with this picking status. One of: `A` (Not yet processed), `B` (Partially processed), `C` (Completely processed).
- Goods issue on or after (`goods_issue_on_or_after`, date): Only include deliveries planned to ship on or after this day.
- Goods issue on or before (`goods_issue_on_or_before`, date): Only include deliveries planned to ship on or before this day.
- Advanced filter (OData) (`odata_filter`, text): An OData V2 $filter expression, combined with the filters above. Use the field names from the results and quote text in single quotes.
- Fields to return (`fields`, list): Only return these fields, which makes large reads quicker. The record's own id is always included. Leave empty for every field. One or more of: `ActualDeliveryRoute` (ActualDeliveryRoute - Actual delivery route), `Shippinglocationtimezone` (Shippinglocationtimezone - Shippinglocationtimezone), `ActualGoodsMovementDate` (ActualGoodsMovementDate - Actual goods movement date), `Receivinglocationtimezone` (Receivinglocationtimezone - Receivinglocationtimezone), `ActualGoodsMovementTime` (ActualGoodsMovementTime - Actual goods movement time), `BillingDocumentDate` (BillingDocumentDate - Billing document date), `BillOfLading` (BillOfLading - Bill of lading), `CompleteDeliveryIsDefined` (CompleteDeliveryIsDefined - Complete delivery is defined), `ConfirmationTime` (ConfirmationTime - Confirmation time), `CreatedByUser` (CreatedByUser - Created by user), and 98 more.
- Include related records (`expand`, list): Also return these related records inside each result, each as a list, in the same call. One or more of: `to_DeliveryDocumentText` (to_DeliveryDocumentText - To delivery document text), `to_HandlingUnitHeaderDelivery` (to_HandlingUnitHeaderDelivery - To handling unit header delivery), `to_DeliveryDocumentPartner` (to_DeliveryDocumentPartner - To delivery document partner), `to_DeliveryDocumentItem` (to_DeliveryDocumentItem - To delivery document item).
- Sort by (`sort_by`, text): Which field to order the results by. Leave empty for SAP's own order. One of: `DeliveryDocument` (DeliveryDocument - Delivery document), `CreationDate` (CreationDate - Creation date), `PlannedGoodsIssueDate` (PlannedGoodsIssueDate - Planned goods issue date), `DeliveryDate` (DeliveryDate - Delivery date).
- Sort direction (`sort_direction`, text): Which way to order the sort chosen above. One of: `asc` (Ascending (A-Z, oldest first)), `desc` (Descending (Z-A, newest first)).
- Number of results (`limit`, number): How many records to return, 1-1000. Defaults to 50. From 1 to 1000. Default: `50`.
- Skip (`offset`, number): How many records to skip; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 10000000. Default: `0`.

**Outputs**

- `count` (number): Records on this page
- `deliveries` (list): Outbound deliveries
- `has_more` (true/false): Whether a page follows
- `limit` (number): Page size used
- `next_offset` (number): The 'offset' that reads the next page
- `offset` (number): Records skipped
- `total_count` (number): Records matching the filters, across every page

**Example output**

```json
{
  "count": 1,
  "deliveries": [
    {
      "DeliveryDocument": "80000000",
      "DeliveryDocumentType": "LF",
      "OverallGoodsMovementStatus": "C",
      "PlannedGoodsIssueDate": "2017-04-14T00:00:00Z",
      "ShipToParty": "17100001",
      "ShippingPoint": "1710",
      "SoldToParty": "17100001"
    }
  ],
  "has_more": true,
  "limit": 50,
  "next_offset": 1,
  "offset": 0,
  "total_count": 640
}
```

### List outbound delivery items

List an outbound delivery's items: material, quantity and unit, plant, storage location, batch, picking and goods movement statuses, and the sales order each item came from ('ReferenceSDDocument').

**Inputs**

- Outbound delivery (`delivery`, text, required): The delivery number, as 'List outbound deliveries' returns it in 'DeliveryDocument'.
- Search (`search`, text): Free-text search across the items.
- Advanced filter (OData) (`odata_filter`, text): An OData V2 $filter expression, combined with the filters above. Use the field names from the results and quote text in single quotes.
- Fields to return (`fields`, list): Only return these fields, which makes large reads quicker. The record's own id is always included. Leave empty for every field. One or more of: `ActualDeliveredQtyInBaseUnit` (ActualDeliveredQtyInBaseUnit - Actual delivered qty in base unit), `ActualDeliveryQuantity` (ActualDeliveryQuantity - Actual delivery quantity), `AdditionalCustomerGroup1` (AdditionalCustomerGroup1 - Additional customer group 1), `AdditionalCustomerGroup2` (AdditionalCustomerGroup2 - Additional customer group 2), `AdditionalCustomerGroup3` (AdditionalCustomerGroup3 - Additional customer group 3), `AdditionalCustomerGroup4` (AdditionalCustomerGroup4 - Additional customer group 4), `AdditionalCustomerGroup5` (AdditionalCustomerGroup5 - Additional customer group 5), `AdditionalMaterialGroup1` (AdditionalMaterialGroup1 - Additional material group 1), `AdditionalMaterialGroup2` (AdditionalMaterialGroup2 - Additional material group 2), `AdditionalMaterialGroup3` (AdditionalMaterialGroup3 - Additional material group 3), and 125 more.
- Include related records (`expand`, list): Also return these related records inside each result, each as a list, in the same call. One or more of: `to_SerialDeliveryItem` (to_SerialDeliveryItem - To serial delivery item), `to_DocumentFlow` (to_DocumentFlow - To document flow), `to_HandlingUnitItemDelivery` (to_HandlingUnitItemDelivery - To handling unit item delivery), `to_DeliveryDocumentItemText` (to_DeliveryDocumentItemText - To delivery document item text).
- Sort by (`sort_by`, text): Which field to order the results by. Leave empty for SAP's own order. One of: `DeliveryDocumentItem` (DeliveryDocumentItem - Delivery document item), `Material` (Material - Material).
- Sort direction (`sort_direction`, text): Which way to order the sort chosen above. One of: `asc` (Ascending (A-Z, oldest first)), `desc` (Descending (Z-A, newest first)).
- Number of results (`limit`, number): How many records to return, 1-1000. Defaults to 50. From 1 to 1000. Default: `50`.
- Skip (`offset`, number): How many records to skip; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 10000000. Default: `0`.

**Outputs**

- `count` (number): Records on this page
- `has_more` (true/false): Whether a page follows
- `items` (list): Delivery items
- `limit` (number): Page size used
- `next_offset` (number): The 'offset' that reads the next page
- `offset` (number): Records skipped
- `total_count` (number): Records matching the filters, across every page

**Example output**

```json
{
  "count": 1,
  "has_more": false,
  "items": [
    {
      "ActualDeliveryQuantity": "1",
      "DeliveryDocument": "80000000",
      "DeliveryDocumentItem": "10",
      "DeliveryQuantityUnit": "PC",
      "Material": "TG11",
      "ReferenceSDDocument": "1"
    }
  ],
  "limit": 50,
  "next_offset": null,
  "offset": 0,
  "total_count": 1
}
```

### List sales order follow-on documents

List the documents created from a sales order - deliveries, invoices and the rest of its document flow - with each one's number, category and creation date. A delivery's number feeds 'Get outbound delivery'.

**Inputs**

- Sales order (`sales_order`, text, required): The sales order number, as 'List sales orders' returns it in 'SalesOrder'.
- Advanced filter (OData) (`odata_filter`, text): An OData V2 $filter expression, combined with the filters above. Use the field names from the results and quote text in single quotes.
- Fields to return (`fields`, list): Only return these fields, which makes large reads quicker. The record's own id is always included. Leave empty for every field. One or more of: `SalesOrder` (SalesOrder - Sales order), `DocRelationshipUUID` (DocRelationshipUUID - Doc relationship UUID), `SubsequentDocument` (SubsequentDocument - Subsequent document), `SubsequentDocumentCategory` (SubsequentDocumentCategory - Subsequent document category), `ProcessFlowLevel` (ProcessFlowLevel - Process flow level), `OverallSDProcessStatus` (OverallSDProcessStatus - Overall SD process status), `CreationDate` (CreationDate - Creation date), `CreationTime` (CreationTime - Creation time), `LastChangeDate` (LastChangeDate - Last change date).
- Include related records (`expand`, list): Also return these related records inside each result, each as a list, in the same call. One or more of: `to_SalesOrder` (to_SalesOrder - To sales order).
- Sort by (`sort_by`, text): Which field to order the results by. Leave empty for SAP's own order. One of: `SubsequentDocument` (SubsequentDocument - Subsequent document), `CreationDate` (CreationDate - Creation date).
- Sort direction (`sort_direction`, text): Which way to order the sort chosen above. One of: `asc` (Ascending (A-Z, oldest first)), `desc` (Descending (Z-A, newest first)).
- Number of results (`limit`, number): How many records to return, 1-1000. Defaults to 50. From 1 to 1000. Default: `50`.
- Skip (`offset`, number): How many records to skip; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 10000000. Default: `0`.

**Outputs**

- `count` (number): Records on this page
- `documents` (list): Follow-on documents
- `has_more` (true/false): Whether a page follows
- `limit` (number): Page size used
- `next_offset` (number): The 'offset' that reads the next page
- `offset` (number): Records skipped
- `total_count` (number): Records matching the filters, across every page

**Example output**

```json
{
  "count": 1,
  "documents": [
    {
      "CreationDate": "2017-04-13T00:00:00Z",
      "CreationTime": "10:15:00",
      "SalesOrder": "1",
      "SubsequentDocument": "80000000",
      "SubsequentDocumentCategory": "J"
    }
  ],
  "has_more": false,
  "limit": 50,
  "next_offset": null,
  "offset": 0,
  "total_count": 1
}
```

### List sales order items

List a sales order's items: material, description, requested and confirmed quantity, net amount, tax, plant, shipping point and delivery and billing statuses.

**Inputs**

- Sales order (`sales_order`, text, required): The sales order number, as 'List sales orders' returns it in 'SalesOrder'.
- Advanced filter (OData) (`odata_filter`, text): An OData V2 $filter expression, combined with the filters above. Use the field names from the results and quote text in single quotes.
- Fields to return (`fields`, list): Only return these fields, which makes large reads quicker. The record's own id is always included. Leave empty for every field. One or more of: `SalesOrder` (SalesOrder - Sales order), `SalesOrderItem` (SalesOrderItem - Sales order item), `HigherLevelItem` (HigherLevelItem - Higher level item), `HigherLevelItemUsage` (HigherLevelItemUsage - Higher level item usage), `SalesOrderItemCategory` (SalesOrderItemCategory - Sales order item category), `SalesOrderItemText` (SalesOrderItemText - Sales order item text), `PurchaseOrderByCustomer` (PurchaseOrderByCustomer - Purchase order by customer), `PurchaseOrderByShipToParty` (PurchaseOrderByShipToParty - Purchase order by ship to party), `UnderlyingPurchaseOrderItem` (UnderlyingPurchaseOrderItem - Underlying purchase order item), `ExternalItemID` (ExternalItemID - External item ID), and 85 more.
- Include related records (`expand`, list): Also return these related records inside each result, each as a list, in the same call. One or more of: `to_BillingPlan` (to_BillingPlan - To billing plan), `to_Partner` (to_Partner - To partner), `to_PrecedingProcFlowDocItem` (to_PrecedingProcFlowDocItem - To preceding proc flow doc item), `to_PricingElement` (to_PricingElement - To pricing element), `to_RelatedObject` (to_RelatedObject - To related object), `to_SalesOrder` (to_SalesOrder - To sales order), `to_ScheduleLine` (to_ScheduleLine - To schedule line), `to_SubsequentProcFlowDocItem` (to_SubsequentProcFlowDocItem - To subsequent proc flow doc item), `to_Text` (to_Text - To text).
- Sort by (`sort_by`, text): Which field to order the results by. Leave empty for SAP's own order. One of: `SalesOrderItem` (SalesOrderItem - Sales order item), `Material` (Material - Material), `NetAmount` (NetAmount - Net amount).
- Sort direction (`sort_direction`, text): Which way to order the sort chosen above. One of: `asc` (Ascending (A-Z, oldest first)), `desc` (Descending (Z-A, newest first)).
- Number of results (`limit`, number): How many records to return, 1-1000. Defaults to 50. From 1 to 1000. Default: `50`.
- Skip (`offset`, number): How many records to skip; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 10000000. Default: `0`.

**Outputs**

- `count` (number): Records on this page
- `has_more` (true/false): Whether a page follows
- `items` (list): Sales order items
- `limit` (number): Page size used
- `next_offset` (number): The 'offset' that reads the next page
- `offset` (number): Records skipped
- `total_count` (number): Records matching the filters, across every page

**Example output**

```json
{
  "count": 1,
  "has_more": false,
  "items": [
    {
      "Material": "TG11",
      "NetAmount": "52.65",
      "RequestedQuantity": "1",
      "RequestedQuantityUnit": "PC",
      "SalesOrder": "1",
      "SalesOrderItem": "10",
      "SalesOrderItemText": "Trad.Good 11,PD,Reg.Trading",
      "TransactionCurrency": "USD"
    }
  ],
  "limit": 50,
  "next_offset": null,
  "offset": 0,
  "total_count": 1
}
```

### List sales order partners

List a sales order's header partners - sold-to, ship-to, bill-to, payer, contact person and the rest - with the customer, supplier or personnel number behind each partner function.

**Inputs**

- Sales order (`sales_order`, text, required): The sales order number, as 'List sales orders' returns it in 'SalesOrder'.
- Advanced filter (OData) (`odata_filter`, text): An OData V2 $filter expression, combined with the filters above. Use the field names from the results and quote text in single quotes.
- Fields to return (`fields`, list): Only return these fields, which makes large reads quicker. The record's own id is always included. Leave empty for every field. One or more of: `SalesOrder` (SalesOrder - Sales order), `PartnerFunction` (PartnerFunction - Partner function), `PartnerFunctionInternalCode` (PartnerFunctionInternalCode - Partner function internal code), `Customer` (Customer - Customer), `Supplier` (Supplier - Supplier), `Personnel` (Personnel - Personnel), `ContactPerson` (ContactPerson - Contact person), `ReferenceBusinessPartner` (ReferenceBusinessPartner - Reference business partner), `AddressID` (AddressID - Address ID), `VATRegistration` (VATRegistration - VAT registration).
- Include related records (`expand`, list): Also return these related records inside each result, each as a list, in the same call. One or more of: `to_Address` (to_Address - To address), `to_SalesOrder` (to_SalesOrder - To sales order).
- Sort by (`sort_by`, text): Which field to order the results by. Leave empty for SAP's own order. One of: `PartnerFunction` (PartnerFunction - Partner function).
- Sort direction (`sort_direction`, text): Which way to order the sort chosen above. One of: `asc` (Ascending (A-Z, oldest first)), `desc` (Descending (Z-A, newest first)).
- Number of results (`limit`, number): How many records to return, 1-1000. Defaults to 50. From 1 to 1000. Default: `50`.
- Skip (`offset`, number): How many records to skip; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 10000000. Default: `0`.

**Outputs**

- `count` (number): Records on this page
- `has_more` (true/false): Whether a page follows
- `limit` (number): Page size used
- `next_offset` (number): The 'offset' that reads the next page
- `offset` (number): Records skipped
- `partners` (list): Header partners
- `total_count` (number): Records matching the filters, across every page

**Example output**

```json
{
  "count": 1,
  "has_more": false,
  "limit": 50,
  "next_offset": null,
  "offset": 0,
  "partners": [
    {
      "Customer": "17100001",
      "PartnerFunction": "SP",
      "SalesOrder": "1",
      "Supplier": ""
    }
  ],
  "total_count": 1
}
```

### List sales orders

List sales order headers with customer, order type, sales area, dates, net value and currency, and processing, delivery and billing statuses. Filter by customer, sales organization, order type, the customer's PO number, status or order date.

**Inputs**

- Sold-to customer (`sold_to_party`, text): Only include documents for this customer number.
- Sales organization (`sales_organization`, text): Only include orders from this sales organization.
- Order type (`sales_order_type`, text): Only include orders of this type, such as OR for a standard order.
- Customer PO number (`customer_reference`, text): Only include orders carrying this purchase order number from the customer.
- Processing status (`processing_status`, text): Only include orders with this overall processing status. One of: `A` (Not yet processed), `B` (Partially processed), `C` (Completely processed).
- Delivery status (`delivery_status`, text): Only include orders with this overall delivery status. One of: `A` (Not yet processed), `B` (Partially processed), `C` (Completely processed).
- Ordered on or after (`ordered_on_or_after`, date): Only include orders dated on or after this day.
- Ordered on or before (`ordered_on_or_before`, date): Only include orders dated on or before this day.
- Advanced filter (OData) (`odata_filter`, text): An OData V2 $filter expression, combined with the filters above. Use the field names from the results and quote text in single quotes.
- Fields to return (`fields`, list): Only return these fields, which makes large reads quicker. The record's own id is always included. Leave empty for every field. One or more of: `SalesOrder` (SalesOrder - Sales order), `SalesOrderType` (SalesOrderType - Sales order type), `SalesOrderTypeInternalCode` (SalesOrderTypeInternalCode - Sales order type internal code), `SalesOrganization` (SalesOrganization - Sales organization), `DistributionChannel` (DistributionChannel - Distribution channel), `OrganizationDivision` (OrganizationDivision - Organization division), `SalesGroup` (SalesGroup - Sales group), `SalesOffice` (SalesOffice - Sales office), `SalesDistrict` (SalesDistrict - Sales district), `SoldToParty` (SoldToParty - Sold to party), and 74 more.
- Include related records (`expand`, list): Also return these related records inside each result, each as a list, in the same call. One or more of: `to_BillingPlan` (to_BillingPlan - To billing plan), `to_Item` (to_Item - To item), `to_Partner` (to_Partner - To partner), `to_PaymentPlanItemDetails` (to_PaymentPlanItemDetails - To payment plan item details), `to_PrecedingProcFlowDoc` (to_PrecedingProcFlowDoc - To preceding proc flow doc), `to_PricingElement` (to_PricingElement - To pricing element), `to_RelatedObject` (to_RelatedObject - To related object), `to_SubsequentProcFlowDoc` (to_SubsequentProcFlowDoc - To subsequent proc flow doc), `to_Text` (to_Text - To text).
- Sort by (`sort_by`, text): Which field to order the results by. Leave empty for SAP's own order. One of: `SalesOrder` (SalesOrder - Sales order), `SalesOrderDate` (SalesOrderDate - Sales order date), `CreationDate` (CreationDate - Creation date), `LastChangeDate` (LastChangeDate - Last change date), `RequestedDeliveryDate` (RequestedDeliveryDate - Requested delivery date), `TotalNetAmount` (TotalNetAmount - Total net amount).
- Sort direction (`sort_direction`, text): Which way to order the sort chosen above. One of: `asc` (Ascending (A-Z, oldest first)), `desc` (Descending (Z-A, newest first)).
- Number of results (`limit`, number): How many records to return, 1-1000. Defaults to 50. From 1 to 1000. Default: `50`.
- Skip (`offset`, number): How many records to skip; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 10000000. Default: `0`.

**Outputs**

- `count` (number): Records on this page
- `has_more` (true/false): Whether a page follows
- `limit` (number): Page size used
- `next_offset` (number): The 'offset' that reads the next page
- `offset` (number): Records skipped
- `sales_orders` (list): Sales orders
- `total_count` (number): Records matching the filters, across every page

**Example output**

```json
{
  "count": 1,
  "has_more": true,
  "limit": 50,
  "next_offset": 1,
  "offset": 0,
  "sales_orders": [
    {
      "DistributionChannel": "10",
      "OverallDeliveryStatus": "C",
      "OverallSDProcessStatus": "C",
      "SalesOrder": "1",
      "SalesOrderDate": "2017-04-13T00:00:00Z",
      "SalesOrderType": "OR",
      "SalesOrganization": "1710",
      "SoldToParty": "17100001",
      "TotalNetAmount": "52.65",
      "TransactionCurrency": "USD"
    }
  ],
  "total_count": 4210
}
```

### List supplier purchasing organizations

List the purchasing organizations a supplier is set up in, with the order currency, payment terms, incoterms, minimum order amount and purchasing block each one uses.

**Inputs**

- Supplier (`supplier`, text, required): The supplier number, as 'List suppliers' returns it in 'Supplier'.
- Advanced filter (OData) (`odata_filter`, text): An OData V2 $filter expression, combined with the filters above. Use the field names from the results and quote text in single quotes.
- Fields to return (`fields`, list): Only return these fields, which makes large reads quicker. The record's own id is always included. Leave empty for every field. One or more of: `Supplier` (Supplier - Supplier), `PurchasingOrganization` (PurchasingOrganization - Purchasing organization), `AutomaticEvaluatedRcptSettlmt` (AutomaticEvaluatedRcptSettlmt - Automatic evaluated rcpt settlmt), `CalculationSchemaGroupCode` (CalculationSchemaGroupCode - Calculation schema group code), `DeletionIndicator` (DeletionIndicator - Deletion indicator), `EvaldReceiptSettlementIsActive` (EvaldReceiptSettlementIsActive - Evald receipt settlement is active), `IncotermsClassification` (IncotermsClassification - Incoterms classification), `IncotermsTransferLocation` (IncotermsTransferLocation - Incoterms transfer location), `IncotermsVersion` (IncotermsVersion - Incoterms version), `IncotermsLocation1` (IncotermsLocation1 - Incoterms location 1), and 33 more.
- Include related records (`expand`, list): Also return these related records inside each result, each as a list, in the same call. One or more of: `to_PartnerFunction` (to_PartnerFunction - To partner function), `to_PurchasingOrgText` (to_PurchasingOrgText - To purchasing org text).
- Sort by (`sort_by`, text): Which field to order the results by. Leave empty for SAP's own order. One of: `PurchasingOrganization` (PurchasingOrganization - Purchasing organization).
- Sort direction (`sort_direction`, text): Which way to order the sort chosen above. One of: `asc` (Ascending (A-Z, oldest first)), `desc` (Descending (Z-A, newest first)).
- Number of results (`limit`, number): How many records to return, 1-1000. Defaults to 50. From 1 to 1000. Default: `50`.
- Skip (`offset`, number): How many records to skip; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 10000000. Default: `0`.

**Outputs**

- `count` (number): Records on this page
- `has_more` (true/false): Whether a page follows
- `limit` (number): Page size used
- `next_offset` (number): The 'offset' that reads the next page
- `offset` (number): Records skipped
- `purchasing_organizations` (list): Purchasing organizations
- `total_count` (number): Records matching the filters, across every page

**Example output**

```json
{
  "count": 1,
  "has_more": false,
  "limit": 50,
  "next_offset": null,
  "offset": 0,
  "purchasing_organizations": [
    {
      "PaymentTerms": "0001",
      "PurchaseOrderCurrency": "USD",
      "PurchasingOrganization": "1710",
      "Supplier": "17300001"
    }
  ],
  "total_count": 1
}
```

### List suppliers

List suppliers with their name, account group, tax numbers and payment, posting and purchasing blocks. Filter by name, account group, purchasing block or deletion flag.

**Inputs**

- Name contains (`name_contains`, text): Only include suppliers whose name contains this text (case-sensitive).
- Account group (`account_group`, text): Only include suppliers in this account group.
- Purchasing block (`purchasing_block`, text): Only include suppliers that are, or are not, blocked for purchasing. One of: `blocked` (Blocked only), `not_blocked` (Not blocked only).
- Deletion flag (`deletion_status`, text): Only include suppliers that are, or are not, marked for deletion. One of: `active` (Not marked for deletion), `marked` (Marked for deletion only).
- Advanced filter (OData) (`odata_filter`, text): An OData V2 $filter expression, combined with the filters above. Use the field names from the results and quote text in single quotes.
- Fields to return (`fields`, list): Only return these fields, which makes large reads quicker. The record's own id is always included. Leave empty for every field. One or more of: `Supplier` (Supplier - Supplier), `AlternativePayeeAccountNumber` (AlternativePayeeAccountNumber - Alternative payee account number), `AuthorizationGroup` (AuthorizationGroup - Authorization group), `BusinessPartnerPanNumber` (BusinessPartnerPanNumber - Business partner pan number), `CreatedByUser` (CreatedByUser - Created by user), `CreationDate` (CreationDate - Creation date), `Customer` (Customer - Customer), `PaymentIsBlockedForSupplier` (PaymentIsBlockedForSupplier - Payment is blocked for supplier), `PostingIsBlocked` (PostingIsBlocked - Posting is blocked), `PurchasingIsBlocked` (PurchasingIsBlocked - Purchasing is blocked), and 31 more.
- Include related records (`expand`, list): Also return these related records inside each result, each as a list, in the same call. One or more of: `to_SupplierCompany` (to_SupplierCompany - To supplier company), `to_SupplierPurchasingOrg` (to_SupplierPurchasingOrg - To supplier purchasing org), `to_SupplierText` (to_SupplierText - To supplier text).
- Sort by (`sort_by`, text): Which field to order the results by. Leave empty for SAP's own order. One of: `Supplier` (Supplier - Supplier), `SupplierName` (SupplierName - Supplier name), `CreationDate` (CreationDate - Creation date).
- Sort direction (`sort_direction`, text): Which way to order the sort chosen above. One of: `asc` (Ascending (A-Z, oldest first)), `desc` (Descending (Z-A, newest first)).
- Number of results (`limit`, number): How many records to return, 1-1000. Defaults to 50. From 1 to 1000. Default: `50`.
- Skip (`offset`, number): How many records to skip; use the 'next_offset' from a previous run to read the next page. Defaults to 0. From 0 to 10000000. Default: `0`.

**Outputs**

- `count` (number): Records on this page
- `has_more` (true/false): Whether a page follows
- `limit` (number): Page size used
- `next_offset` (number): The 'offset' that reads the next page
- `offset` (number): Records skipped
- `suppliers` (list): Suppliers
- `total_count` (number): Records matching the filters, across every page

**Example output**

```json
{
  "count": 1,
  "has_more": true,
  "limit": 50,
  "next_offset": 1,
  "offset": 0,
  "suppliers": [
    {
      "DeletionIndicator": false,
      "PurchasingIsBlocked": false,
      "Supplier": "17300001",
      "SupplierAccountGroup": "SUPL",
      "SupplierName": "Domestic US Supplier 1"
    }
  ],
  "total_count": 95
}
```
