HTTP Operation Type Object DTO Why-DTOs?
Mutation createSalesOrder SalesOrderCreateGLDtoInput
Mutation updateSalesOrder SalesOrderUpdateGLDtoInput
Mutation deleteSalesOrder SalesOrderDeleteGLDtoInput
Query salesOrders filtered by id Why?  
Query salesOrders  
Query salesOrderLines  
Quick Tips

It is possible to query either salesOrder or directly from salesOrderLines.

  • Querying salesOrder allows you to retrieve entire documents with all their associated line items.
    This is useful when you need the complete context of a document, including all details of the related lines.
  • Querying salesOrderLines directly is beneficial when you want to filter or aggregate specific line item data across multiple documents, such as analyzing product sales, quantities, or prices.

More info API resources overview / 📝some Filter vs. Direct Line Filtering

Description

Both known as Sales orders in the API context and in the product interface.
This resource serves as the comprehensive record for managing customer orders within the order-to-cash process.
Utilizing the standardized and custom data fields, it captures detailed information such as customer codes, discounts, and product lines, which are essential for fulfilling customer orders.

img


To see examples of mutations that include the adding of Order :
download the Postman collection: Quick start / 5. Test your first query in Postman

graphQL Mutation
mutation ($values: SalesOrderCreateGLDtoInput!) {  
    createSalesOrder(input: $values) {
    idoperationalNumber
  }
}
graphQL Variables
{
  "values": {
    "customerId": "{customerId}",
    "documentDate": "2023-12-05",
    "lines": [
      {
        "productId": "{productId1}",
        "totalQuantity": 50,
        "unitPrice": 11,
        "firstDiscount": 5
      },
      {
        "productId": "{productId2}",
        "totalQuantity": 1,
        "unitPrice": 140
      }
    ]
  }
}
Example of Response
{
    "data": {
        "createSalesOrder": {
            "id": "e451aff7-074f-4e72-a6fb-4ea25e9d9c64",
            "operationalNumber": "0027"
        }
    }
}
Key Value
Authorization Bearer Current access Token How to find?
X-TenantId Current tenant id How to find?
X-OrganizationId Current organization Id How to find?
x-api-key Primary or secondary subscription key of your app How to find?

salesOrders

Common to all documents

Fields Type Description Length
id UUID Id  
creationDate DateTime Creation Date  
modificationDate DateTime Modification Date  
       
General Infos      
customer Customer Fields of Customer  
customerId UUID ID of the Customer entity. No mandatory for Quote  
documentDate DateTime Document Date  
operationalNumber String Document Number 50
status String
  • Pending
  • Closed
15
socialName String Social Name 50
contactName String Contact Name 50
contactPhone String Contact Phone 15
contactEmail String Contact Email 50
countryAcronym String Country Acronym 2
       
Order Lines      
lines[] Array Document Lines  
       
Totals and discount      
totalGross Decimal Total Gross  
totalDiscount Decimal Total Discount  
totalNet Decimal Total Net  
discount Decimal Discount  
totalCustomerDiscount Decimal Total discount specific to the customer  
totalLiquid Decimal Total amount due including taxes  
totalVat Decimal Total Vat  
totalVatBase Decimal Total Vat Base  
totalFeeSurcharge Decimal Total Vat Surcharge  
totalVatFee Decimal Total Surcharge Base  
       
Notes      
comments String Comments 1000
remarks String Remarks 1000
       
Customer Information      
documentID String Identification Number 20
vatNumber String Vat Number 20
invoiceEmail String Invoice Email 50
hasEquivalenceSurcharge Boolean Subject to the equivalence surcharge regime  
mainAddress ObjectType Main Address  
deliveryAddress ObjectType Delivery Address  
salesDiscountGroup SalesDiscount Fields of SalesDiscount  
salesDiscountGroupId UUID Sales Discount ID  
salesTariff SalesTariff Fields of SalesTariff  
salesTariffId UUID Sales tariff ID  
Info
  • customerId: A unique identifier (UUID) for the Customer entity.
  • discount: Represents the total discount that has been applied to the document.
  • hasEquivalenceSurcharge/totalFeeSurcharge/totalVatFee :

    unused for the French market

    Indicates whether a customer is subject to the equivalence surcharge regime.

    The equivalence surcharge (totalFeeSurcharge), as applied in Spain, is a form of simplified VAT for retail traders who cannot recover VAT.
    The rates of the equivalence surcharge vary according to the VAT rate applicable to the products, with surcharge rates of 5.2% for products with a general VAT of 21%, 1.4% for products with a reduced VAT of 10%, and other rates for different products or categories. The equivalence surcharge is calculated on amount of general VAT (totalVatFee).

    unused for the German market

  • socialName :

    mandatory for the French market

    no mandatory for the Spanish market

    no mandatory for the Germany market

Specific to sales order documents

  • Status:
    • Pending: The order is in progress and can be modified.
    • Closed: The order can no longer be modified; it has either been transferred to a delivery note or it has been closed.

salesOrders/lines

Common to all documents

Fields Type Description Length
id UUID Id  
creationDate DateTime Date of creation  
modificationDate DateTime Last modification date  
       
       
Product Information      
product Product Fields of Product 36
productId UUID Product ID  
productCode String Product code 15
productName String Product name 100
       
Tax and Price Information      
totalQuantity Int Quantity product  
unitPrice Decimal Unit price  
totalNet Decimal Net price  
vatPercentage Decimal VAT percentage  
equivalenceSurchargePercentage Decimal Surcharge percentage  
       
Discounts      
firstDiscount Decimal First discount percentage  

Specific to sales order document lines

Fields Type Description Length
salesQuoteLine SalesQuoteLine Fields of SalesQuoteLine  
salesQuoteLineId UUID Sales Quote Line ID  
pendingQuantity Int Pending Quantity  
status String
  • Pending
  • Completed
  • Partial
15

Info

  • firstDiscount: Various levels of discounts applicable to the document line. These are optional fields and are usually filled in based on promotional schemes or contractual obligations.

  • productId: The unique identifier for the product. Automatically filled when selecting a product.

  • vatPercentage: The percentage of Value Added Tax (VAT) applicable to this line. Important for accounting and for generating accurate invoices.
  • equivalenceSurchargePercentage: The percentage of equivalence surcharge applied in Spain .

Specific to sales order document lines

  • pendingQuantity: The quantity of the sales order line that is still pending. This integer represents the amount of product yet to be fulfilled.
  • salesQuoteLineId: ID of the sales quote line that was used to define the order when generating an order from a quote.
  • status: The current status of the Sales Order Line, indicating the processing stage of this specific line item within the order. Possible values are:
    • Pending: The line item is acknowledged but not yet in process.
    • Completed: The line item has been fully processed and shipped.
    • Partial: The line item is partially fulfilled with more items yet to be processed.

salesOrders/addresses

Common to all documents

Do not use the addresses[] array.
Instead, use mainAddress for the primary address and deliveryAddress for the delivery address.
Each of these objects contains only one address, representing a singular primary or delivery address, respectively.

Fields Type Description Length
countryId UUID Country Id  
country String Fields of Country  
countryIsoCodeAlpha2 String Country Code 2
countryName String CountryName  
name String Code 50
firstLine String First Line 35
secondLine String Second Line 35
city String Town 35
zipCode String Postal Code 9
province String Province 25
Info
  • countryIsoCodeAlpha2 : ISO2 country code.
    This field can be used for creation and serves as a simple alternative to assign the country of the address by using the ISO2 code directly, rather than the country ID in the Countries resource.