API

Sales APIs

PUT sales/orders/{salesOrderId}

Saves information about the sales order

HTTP method PUT
URI https://api.rambase.net/sales/orders/{salesOrderId}
Supported formats Xml, Html, Json (ex. $format=json)
- URI parameter {salesOrderId} Sales order identifier
Integer, minimum 100000
Custom fields Custom fields supported
Successful HTTP status code 200
API resource identifier 1869, version 52

The following body must be added to the request. Mouse over fieldnames for description and other useful information about the fields. Note that fields in bold are required/mandatory.

Format:
1
<SalesOrder
SalesOrder

This field is optional.

>
2
     <CustomersReference
CustomersReference

Customers reference. Typically a person.

This field is optional.

>
{String}</CustomersReference>
3
     <CustomersReferenceNumber
CustomersReferenceNumber

Customers reference number. E.g. the internal sales order id the customer use in their own system.

This field is optional.

>
{String}</CustomersReferenceNumber>
4
     <VolumePriceAgreement
VolumePriceAgreement

Special price agreement related to the quantity beeing ordered.

Applicable domain values can be found here

This field is optional.

>
{String}</VolumePriceAgreement>
5
     <ExchangeRateFluctuationAgreement
ExchangeRateFluctuationAgreement

When a sales order is issued, RamBase stores the current exchange rate and the currency the product normally is purchased in. The exchange rate might have changed when the invoice is issued. The exchange rate fluctuation agreement specifies how to handle these differences. The agreement has the format AAA/BBB, where AAA is a percentage of the total invoice, and BBB is the exchange rate fluctuation percentage. E.g. 100/3.0 means that if the rate of exchange on the date a sales order is forwarded to an invoice has changed more than +/- 3% from the rate of exchange, 100% of the invoice amount will be adjusted.

Applicable domain values can be found here

This field is optional.

>
{String}</ExchangeRateFluctuationAgreement>
6
     <Currency
Currency

Three character code following the ISO 4217 standard

Applicable domain values can be found here

Input must match the following regular expression pattern: ^[A-Z]{3}$

This field is optional.

>
{String}</Currency>
7
     <Note
Note

Additional information regarding the object (free text). This note might be visible to customers/suppliers.

This field is optional.

>
{String}</Note>
8
     <ShippingAddressAttention
ShippingAddressAttention

Attention of the shipping address. When changing shipping address, the ShippingAddressAttention will be overridden by the attention of the new shipping address.

This field is optional.

>
{String}</ShippingAddressAttention>
9
     <ShippingAddressPhone
ShippingAddressPhone

Phone number of the shipping address. When changing shipping address, the ShippingAddressPhone will be overridden by the phone number of the new shipping address.

Input must match the following regular expression pattern: ^([0-9\(\)\s\.\+\-])*$

This field is optional.

>
{String}</ShippingAddressPhone>
10
     <ShippingAddressEmail
ShippingAddressEmail

Email address of the shipping address. When changing shipping address, the ShippingAddressEmail will be overridden by the email of the new shipping address.

Input must match the following regular expression pattern: ^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

This field is optional.

>
{String}</ShippingAddressEmail>
11
     <InvoiceAddressAttention
InvoiceAddressAttention

Attention of the invoice address. When changing invoice address, the InvoiceAddressAttention will be overridden by the attention of the new invoice address.

This field is optional.

>
{String}</InvoiceAddressAttention>
12
     <Location
Location

This field is optional.

>
13
          <LocationId
LocationId

Location identifier

Minimum value: 10000

This field is optional.

>
{Integer}</LocationId>
14
     </Location>
15
     <Assignee
Assignee

The user who has been assigned to work with this object.

This field is optional.

>
16
          <UserId
UserId

User identifier

Minimum value: 100

This field is optional.

>
{Integer}</UserId>
17
     </Assignee>
18
     <Customer
Customer

This field is optional.

>
19
          <CustomerId
CustomerId

Customer identifier

Minimum value: 10000

This field is optional.

>
{Integer}</CustomerId>
20
     </Customer>
21
     <Management
Management

Represents a group of users, which are assigned to particular management roles.

This field is optional.

>
22
          <Planner
Planner

Reference to the employee who is a production management planner.

This field is optional.

>
23
               <EmployeeId
EmployeeId

Employee identifier

Minimum value: 100

This field is optional.

>
{Integer}</EmployeeId>
24
          </Planner>
25
          <ProjectLeader
ProjectLeader

Reference to the employee who is a production management project leader.

This field is optional.

>
26
               <EmployeeId
EmployeeId

Employee identifier

Minimum value: 100

This field is optional.

>
{Integer}</EmployeeId>
27
          </ProjectLeader>
28
          <DocumentController
DocumentController

Reference to the employee who is a production management document controller.

This field is optional.

>
29
               <EmployeeId
EmployeeId

Employee identifier

Minimum value: 100

This field is optional.

>
{Integer}</EmployeeId>
30
          </DocumentController>
31
     </Management>
32
     <ShippingAddress
ShippingAddress

This field is optional.

>
33
          <AddressId
AddressId

Address identifier

Minimum value: 1

This field is optional.

>
{Integer}</AddressId>
34
     </ShippingAddress>
35
     <InvoiceAddress
InvoiceAddress

This field is optional.

>
36
          <AddressId
AddressId

Address identifier

Minimum value: 1

This field is optional.

>
{Integer}</AddressId>
37
     </InvoiceAddress>
38
     <Totals
Totals

This field is optional.

>
39
          <FeeAmount
FeeAmount

Fee amount in transaction document's currency

Minimum value: 0

This field is optional.

>
{Decimal}</FeeAmount>
40
          <FreightAmount
FreightAmount

Freight amount in transaction document's currency

Minimum value: 0

This field is optional.

>
{Decimal}</FreightAmount>
41
     </Totals>
42
     <Shipment
Shipment

This field is optional.

>
43
          <DeliveryTerms
DeliveryTerms

Delivery terms when shipping the goods. The delivery terms is based on the Incoterms rules from ICC (International Chamber of Commerce). The delivery terms is by default retrieved from the customer.

Applicable domain values can be found here

This field is optional.

>
{String}</DeliveryTerms>
44
          <DeliveryTermPlace
DeliveryTermPlace

Named place related to delivery terms (Incoterms)

This field is optional.

>
{String}</DeliveryTermPlace>
45
          <OnlyShipEntireSalesOrder
OnlyShipEntireSalesOrder

True if all items of a sales order should be shipped together. The items of a sales order should never be split into several shipments. If sales order is forwarded to shipping advice by bulk handling, this will be controlled by RamBase. Manually forward requires that the users controls this themselves.

This field is optional.

>
{Boolean}</OnlyShipEntireSalesOrder>
46
          <OnlyShipEntireSalesOrderItems
OnlyShipEntireSalesOrderItems

True if the total quantity of a sales order item always should be shipped together. The quantity should never be split into several shipments. If sales order is forwarded to shipping advice by bulk handling, this will be controlled by RamBase. Manually forward requires that the users controls this themselves.

This field is optional.

>
{Boolean}</OnlyShipEntireSalesOrderItems>
47
          <AvoidMultipleShipmentsOnSameDate
AvoidMultipleShipmentsOnSameDate

True if all items of a sales order with the same sheduled delivery date should be shipped together. If sales order is forwarded to shipping advice by bulk handling, this will be controlled by RamBase. Manually forward requires that the users controls this themselves.

This field is optional.

>
{Boolean}</AvoidMultipleShipmentsOnSameDate>
48
          <ShipBasedOnConfirmedDeliveryDate
ShipBasedOnConfirmedDeliveryDate

If true, will sheduled shipping date on each item be calculated based on confirmed date rather than requested date.

This field is optional.

>
{Boolean}</ShipBasedOnConfirmedDeliveryDate>
49
          <FreightForEachShipment
FreightForEachShipment

If unchecked there will only be calculated freight on one shipping advice if the particular sales order has serveral shipments.

This field is optional.

>
{Boolean}</FreightForEachShipment>
50
          <ShippingDay
ShippingDay

Specifies when the goods should be shipped. This is used to calculate the scheduled shipping date for each item.

Applicable domain values can be found here

This field is optional.

>
{String}</ShippingDay>
51
          <ConsolidateShippingAdvices
ConsolidateShippingAdvices

If true, sales orders will be consolidated when creating shipping advices via the "Prepare for picking" process the . If false, each sales order will result in seperate shipping advice. The field to use when consolidating is specified in the ShippingAdviceConsolidationField.

This field is optional.

>
{Boolean}</ConsolidateShippingAdvices>
52
          <ShippingAdviceConsolidationField
ShippingAdviceConsolidationField

Field to use when consolidating sales order items into shipping advices in the "Prepare for picking" process.

Applicable domain values can be found here

This field is optional.

>
{String}</ShippingAdviceConsolidationField>
53
          <ShippingAdviceItemSortBy
ShippingAdviceItemSortBy

Items in consolidated shipping advices will be sorted by this fields when they are created in the 'Prepare for picking' process

Applicable domain values can be found here

This field is optional.

>
{String}</ShippingAdviceItemSortBy>
54
          <SpecialHandling
SpecialHandling

Special handling to use for this shipment.

This field is optional.

>
55
               <SpecialHandlingId
SpecialHandlingId

Special handling identifier

This field is optional.

>
{Integer}</SpecialHandlingId>
56
          </SpecialHandling>
57
          <ShippingService
ShippingService

This field is optional.

>
58
               <ShippingServiceId
ShippingServiceId

Shipping service identifier

This field is optional.

>
{Integer}</ShippingServiceId>
59
          </ShippingService>
60
     </Shipment>
61
     <Invoicing
Invoicing

This field is optional.

>
62
          <SalesInvoiceConsolidation
SalesInvoiceConsolidation

Specifies whether or how often shipping advices that origins from this sales order will be consolidated when creating sales invoices.

Applicable domain values can be found here

This field is optional.

>
{String}</SalesInvoiceConsolidation>
63
          <SalesInvoiceConsolidationField
SalesInvoiceConsolidationField

Field name to group by when consolidating shipping advice items into sales invoices.

Applicable domain values can be found here

This field is optional.

>
{String}</SalesInvoiceConsolidationField>
64
          <SalesInvoiceItemSortBy
SalesInvoiceItemSortBy

Field name to sort by when creating sales invoice items.

Applicable domain values can be found here

This field is optional.

>
{String}</SalesInvoiceItemSortBy>
65
     </Invoicing>
66
     <Payment
Payment

This field is optional.

>
67
          <PaymentMethod
PaymentMethod

Method of payment. Default value is retrieved from the customer.

Applicable domain values can be found here

This field is optional.

>
{String}</PaymentMethod>
68
          <PaymentTerms
PaymentTerms

Terms of payment. Defaut value is retrieved from the customer. The due date of the sales order and sales invoice is calculated based on this field.

Applicable domain values can be found here

This field is optional.

>
{String}</PaymentTerms>
69
     </Payment>
70
     <VATDetails
VATDetails

This field is optional.

>
71
          <VATHandling
VATHandling

Specifies how value added tax (VAT) should be calculated. Either always include VAT, always exclude VAT or use standard/default VAT rules.

Applicable domain values can be found here

This field is optional.

>
{String}</VATHandling>
72
          <UseStandardVATNumberRules
UseStandardVATNumberRules

Do not automatically replace the VAT number based on the location configuration

This field is optional.

>
{Boolean}</UseStandardVATNumberRules>
73
     </VATDetails>
74
</SalesOrder>
1
{
2
     "salesOrder
SalesOrder

This field is optional.

":
{
3
          "customersReference
CustomersReference

Customers reference. Typically a person.

This field is optional.

":
"{String}",
4
          "customersReferenceNumber
CustomersReferenceNumber

Customers reference number. E.g. the internal sales order id the customer use in their own system.

This field is optional.

":
"{String}",
5
          "volumePriceAgreement
VolumePriceAgreement

Special price agreement related to the quantity beeing ordered.

Applicable domain values can be found here

This field is optional.

":
"{String}",
6
          "exchangeRateFluctuationAgreement
ExchangeRateFluctuationAgreement

When a sales order is issued, RamBase stores the current exchange rate and the currency the product normally is purchased in. The exchange rate might have changed when the invoice is issued. The exchange rate fluctuation agreement specifies how to handle these differences. The agreement has the format AAA/BBB, where AAA is a percentage of the total invoice, and BBB is the exchange rate fluctuation percentage. E.g. 100/3.0 means that if the rate of exchange on the date a sales order is forwarded to an invoice has changed more than +/- 3% from the rate of exchange, 100% of the invoice amount will be adjusted.

Applicable domain values can be found here

This field is optional.

":
"{String}",
7
          "currency
Currency

Three character code following the ISO 4217 standard

Applicable domain values can be found here

Input must match the following regular expression pattern: ^[A-Z]{3}$

This field is optional.

":
"{String}",
8
          "note
Note

Additional information regarding the object (free text). This note might be visible to customers/suppliers.

This field is optional.

":
"{String}",
9
          "shippingAddressAttention
ShippingAddressAttention

Attention of the shipping address. When changing shipping address, the ShippingAddressAttention will be overridden by the attention of the new shipping address.

This field is optional.

":
"{String}",
10
          "shippingAddressPhone
ShippingAddressPhone

Phone number of the shipping address. When changing shipping address, the ShippingAddressPhone will be overridden by the phone number of the new shipping address.

Input must match the following regular expression pattern: ^([0-9\(\)\s\.\+\-])*$

This field is optional.

":
"{String}",
11
          "shippingAddressEmail
ShippingAddressEmail

Email address of the shipping address. When changing shipping address, the ShippingAddressEmail will be overridden by the email of the new shipping address.

Input must match the following regular expression pattern: ^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$

This field is optional.

":
"{String}",
12
          "invoiceAddressAttention
InvoiceAddressAttention

Attention of the invoice address. When changing invoice address, the InvoiceAddressAttention will be overridden by the attention of the new invoice address.

This field is optional.

":
"{String}",
13
          "location
Location

This field is optional.

":
{
14
               "locationId
LocationId

Location identifier

Minimum value: 10000

This field is optional.

":
"{Integer}"
15
          },
16
          "assignee
Assignee

The user who has been assigned to work with this object.

This field is optional.

":
{
17
               "userId
UserId

User identifier

Minimum value: 100

This field is optional.

":
"{Integer}"
18
          },
19
          "customer
Customer

This field is optional.

":
{
20
               "customerId
CustomerId

Customer identifier

Minimum value: 10000

This field is optional.

":
"{Integer}"
21
          },
22
          "management
Management

Represents a group of users, which are assigned to particular management roles.

This field is optional.

":
{
23
               "planner
Planner

Reference to the employee who is a production management planner.

This field is optional.

":
{
24
                    "employeeId
EmployeeId

Employee identifier

Minimum value: 100

This field is optional.

":
"{Integer}"
25
               },
26
               "projectLeader
ProjectLeader

Reference to the employee who is a production management project leader.

This field is optional.

":
{
27
                    "employeeId
EmployeeId

Employee identifier

Minimum value: 100

This field is optional.

":
"{Integer}"
28
               },
29
               "documentController
DocumentController

Reference to the employee who is a production management document controller.

This field is optional.

":
{
30
                    "employeeId
EmployeeId

Employee identifier

Minimum value: 100

This field is optional.

":
"{Integer}"
31
               }
32
          },
33
          "shippingAddress
ShippingAddress

This field is optional.

":
{
34
               "addressId
AddressId

Address identifier

Minimum value: 1

This field is optional.

":
"{Integer}"
35
          },
36
          "invoiceAddress
InvoiceAddress

This field is optional.

":
{
37
               "addressId
AddressId

Address identifier

Minimum value: 1

This field is optional.

":
"{Integer}"
38
          },
39
          "totals
Totals

This field is optional.

":
{
40
               "feeAmount
FeeAmount

Fee amount in transaction document's currency

Minimum value: 0

This field is optional.

":
"{Decimal}",
41
               "freightAmount
FreightAmount

Freight amount in transaction document's currency

Minimum value: 0

This field is optional.

":
"{Decimal}"
42
          },
43
          "shipment
Shipment

This field is optional.

":
{
44
               "deliveryTerms
DeliveryTerms

Delivery terms when shipping the goods. The delivery terms is based on the Incoterms rules from ICC (International Chamber of Commerce). The delivery terms is by default retrieved from the customer.

Applicable domain values can be found here

This field is optional.

":
"{String}",
45
               "deliveryTermPlace
DeliveryTermPlace

Named place related to delivery terms (Incoterms)

This field is optional.

":
"{String}",
46
               "onlyShipEntireSalesOrder
OnlyShipEntireSalesOrder

True if all items of a sales order should be shipped together. The items of a sales order should never be split into several shipments. If sales order is forwarded to shipping advice by bulk handling, this will be controlled by RamBase. Manually forward requires that the users controls this themselves.

This field is optional.

":
"{Boolean}",
47
               "onlyShipEntireSalesOrderItems
OnlyShipEntireSalesOrderItems

True if the total quantity of a sales order item always should be shipped together. The quantity should never be split into several shipments. If sales order is forwarded to shipping advice by bulk handling, this will be controlled by RamBase. Manually forward requires that the users controls this themselves.

This field is optional.

":
"{Boolean}",
48
               "avoidMultipleShipmentsOnSameDate
AvoidMultipleShipmentsOnSameDate

True if all items of a sales order with the same sheduled delivery date should be shipped together. If sales order is forwarded to shipping advice by bulk handling, this will be controlled by RamBase. Manually forward requires that the users controls this themselves.

This field is optional.

":
"{Boolean}",
49
               "shipBasedOnConfirmedDeliveryDate
ShipBasedOnConfirmedDeliveryDate

If true, will sheduled shipping date on each item be calculated based on confirmed date rather than requested date.

This field is optional.

":
"{Boolean}",
50
               "freightForEachShipment
FreightForEachShipment

If unchecked there will only be calculated freight on one shipping advice if the particular sales order has serveral shipments.

This field is optional.

":
"{Boolean}",
51
               "shippingDay
ShippingDay

Specifies when the goods should be shipped. This is used to calculate the scheduled shipping date for each item.

Applicable domain values can be found here

This field is optional.

":
"{String}",
52
               "consolidateShippingAdvices
ConsolidateShippingAdvices

If true, sales orders will be consolidated when creating shipping advices via the "Prepare for picking" process the . If false, each sales order will result in seperate shipping advice. The field to use when consolidating is specified in the ShippingAdviceConsolidationField.

This field is optional.

":
"{Boolean}",
53
               "shippingAdviceConsolidationField
ShippingAdviceConsolidationField

Field to use when consolidating sales order items into shipping advices in the "Prepare for picking" process.

Applicable domain values can be found here

This field is optional.

":
"{String}",
54
               "shippingAdviceItemSortBy
ShippingAdviceItemSortBy

Items in consolidated shipping advices will be sorted by this fields when they are created in the 'Prepare for picking' process

Applicable domain values can be found here

This field is optional.

":
"{String}",
55
               "specialHandling
SpecialHandling

Special handling to use for this shipment.

This field is optional.

":
{
56
                    "specialHandlingId
SpecialHandlingId

Special handling identifier

This field is optional.

":
"{Integer}"
57
               },
58
               "shippingService
ShippingService

This field is optional.

":
{
59
                    "shippingServiceId
ShippingServiceId

Shipping service identifier

This field is optional.

":
"{Integer}"
60
               }
61
          },
62
          "invoicing
Invoicing

This field is optional.

":
{
63
               "salesInvoiceConsolidation
SalesInvoiceConsolidation

Specifies whether or how often shipping advices that origins from this sales order will be consolidated when creating sales invoices.

Applicable domain values can be found here

This field is optional.

":
"{String}",
64
               "salesInvoiceConsolidationField
SalesInvoiceConsolidationField

Field name to group by when consolidating shipping advice items into sales invoices.

Applicable domain values can be found here

This field is optional.

":
"{String}",
65
               "salesInvoiceItemSortBy
SalesInvoiceItemSortBy

Field name to sort by when creating sales invoice items.

Applicable domain values can be found here

This field is optional.

":
"{String}"
66
          },
67
          "payment
Payment

This field is optional.

":
{
68
               "paymentMethod
PaymentMethod

Method of payment. Default value is retrieved from the customer.

Applicable domain values can be found here

This field is optional.

":
"{String}",
69
               "paymentTerms
PaymentTerms

Terms of payment. Defaut value is retrieved from the customer. The due date of the sales order and sales invoice is calculated based on this field.

Applicable domain values can be found here

This field is optional.

":
"{String}"
70
          },
71
          "vATDetails
VATDetails

This field is optional.

":
{
72
               "vATHandling
VATHandling

Specifies how value added tax (VAT) should be calculated. Either always include VAT, always exclude VAT or use standard/default VAT rules.

Applicable domain values can be found here

This field is optional.

":
"{String}",
73
               "useStandardVATNumberRules
UseStandardVATNumberRules

Do not automatically replace the VAT number based on the location configuration

This field is optional.

":
"{Boolean}"
74
          }
75
     }
76
}

The query string is placed after the resource URL, seperated with a questionmark (?). The query string is composed of a series of query parameters with values. See the page about query parameters on how to use these parameters.

$access_token String, optional After successful login you get an access token which needs to be provided in all API requests. Even though it is possible to pass this token as query parameter, we recommended passing it using the HTTP request header as described in Authorization. Note that all access tokens have an expiration time.
$db String, optional Set the database/company for the request
$useMinimumVersion Integer, optional Used to run a new version of an API resource when your API client is running a deprecated API resource. See the Breaking changes page for more information.
$showCustomFields Boolean, optional Set to "true" to include custom fields. Default value is false.

Read more about filters and sorting on how to use filter parameters and named filters.

Read more about filters and sorting on how to use sortable parameters

Requesting this resource will yield the following response. Mouse over fieldnames (or fieldgroups) for descriptions and other useful information about the fields. Fields colored in grey is expandable fields.

Please note that some fields may be removed from the response, based on user roles/duties/permissions.

Format:
1
1

List of available operations/actions for this resource.
See the operations documentation for more information about API operations.

Possible error codes the response might return:

Error 108477 HTTP 400 Format of end customers order number is incorrect
Error 100854 HTTP 400 Cannot change production start after operation is started
Error 101538 HTTP 400 Date-field can not be blank
Error 103797 HTTP 400 Mandatory field department has no value, please select
Error 104486 HTTP 400 Unit production is only allowed for measurment units (UNI) of type QTY
Error 100316 HTTP 400 Quantity cannot exceed {0} on UNIT productions
Error 104522 HTTP 400 Location in goods reception must be equal to location in arriving waybill
Error 101466 HTTP 400 Cannot change the location short code because of the object's status
Error 103023 HTTP 400 You cannot changes location as purchase order is not prepared for direct/back to back shipment.
Error 103024 HTTP 400 You cannot change location in a purchase order which is set up for direct/back to back shipment.
Error 103025 HTTP 400 You cannot change location in a purchase order that is assigned to a sales order which is direct shipment/back to back sales order.
Error 101556 HTTP 400 You can not change currency when order items have been added
Error 101562 HTTP 400 This currency is not supported by the supplier
Error 101689 HTTP 400 You cannot change this purchase order to type 'REQUISITION' as it contains standard products (type not equal to X or V).
Error 101690 HTTP 400 You cannot change this purchase order to type 'REQUISITION' as it has assignments.
Error 101470 HTTP 400 Cannot change currency on an object that contains items
Error 101464 HTTP 400 Currency field can not be blank.
Error 101469 HTTP 400 The object is not open for edit. To change currency, the object must be in status 1.
Error 100992 HTTP 400 This customer does not buy in this currency
Error 101541 HTTP 400 Cannot change volume price agreement when the object has items
Error 101588 HTTP 400 Effective date must have a date that is earlier or equal to expiration date
Error 101589 HTTP 400 The expiration date must be later or equal to effective date
Error 102521 HTTP 400 The content of the CASE-field on one of this Orders items exists on another Order outside the project.
Error 106111 HTTP 400 Delivery project PRO/{1} have finance project PRJ/{0}. COA item {2} is already linked to finance project PRJ/{3}.
Error 100276 HTTP 400 Invalid email format
Error 106993 HTTP 400 It is not allowed to add fee to the internal sales order for material for project order.
Error 106994 HTTP 400 It is not allowed to add freight to a sales order for material for project order.