SalesOrder
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
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.
To see examples of mutations that include the adding of Order :
download the Postman collection: Quick start / 5. Test your first query in Postman
Would you like to see an example of how to add an order?
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"
}
}
}
Header
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 |
|
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 |
|
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.