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 44

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
     <Totals
Totals

This field is optional.

>
36
          <FeeAmount
FeeAmount

Fee amount in transaction document's currency

Minimum value: 0

This field is optional.

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

Freight amount in transaction document's currency

Minimum value: 0

This field is optional.

>
{Decimal}</FreightAmount>
38
     </Totals>
39
     <Shipment
Shipment

This field is optional.

>
40
          <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>
41
          <DeliveryTermPlace
DeliveryTermPlace

Named place related to delivery terms (Incoterms)

This field is optional.

>
{String}</DeliveryTermPlace>
42
          <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>
43
          <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>
44
          <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>
45
          <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>
46
          <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>
47
          <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>
48
          <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>
49
          <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>
50
          <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>
51
          <SpecialHandling
SpecialHandling

Special handling to use for this shipment.

This field is optional.

>
52
               <SpecialHandlingId
SpecialHandlingId

Special handling identifier

This field is optional.

>
{Integer}</SpecialHandlingId>
53
          </SpecialHandling>
54
          <ShippingService
ShippingService

This field is optional.

>
55
               <ShippingServiceId
ShippingServiceId

Shipping service identifier

This field is optional.

>
{Integer}</ShippingServiceId>
56
          </ShippingService>
57
     </Shipment>
58
     <Invoicing
Invoicing

This field is optional.

>
59
          <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>
60
          <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>
61
          <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>
62
     </Invoicing>
63
     <Payment
Payment

This field is optional.

>
64
          <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>
65
          <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>
66
     </Payment>
67
     <VATDetails
VATDetails

This field is optional.

>
68
          <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>
69
     </VATDetails>
70
</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
          "totals
Totals

This field is optional.

":
{
37
               "feeAmount
FeeAmount

Fee amount in transaction document's currency

Minimum value: 0

This field is optional.

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

Freight amount in transaction document's currency

Minimum value: 0

This field is optional.

":
"{Decimal}"
39
          },
40
          "shipment
Shipment

This field is optional.

":
{
41
               "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}",
42
               "deliveryTermPlace
DeliveryTermPlace

Named place related to delivery terms (Incoterms)

This field is optional.

":
"{String}",
43
               "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}",
44
               "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}",
45
               "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}",
46
               "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}",
47
               "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}",
48
               "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}",
49
               "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}",
50
               "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}",
51
               "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}",
52
               "specialHandling
SpecialHandling

Special handling to use for this shipment.

This field is optional.

":
{
53
                    "specialHandlingId
SpecialHandlingId

Special handling identifier

This field is optional.

":
"{Integer}"
54
               },
55
               "shippingService
ShippingService

This field is optional.

":
{
56
                    "shippingServiceId
ShippingServiceId

Shipping service identifier

This field is optional.

":
"{Integer}"
57
               }
58
          },
59
          "invoicing
Invoicing

This field is optional.

":
{
60
               "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}",
61
               "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}",
62
               "salesInvoiceItemSortBy
SalesInvoiceItemSortBy

Field name to sort by when creating sales invoice items.

Applicable domain values can be found here

This field is optional.

":
"{String}"
63
          },
64
          "payment
Payment

This field is optional.

":
{
65
               "paymentMethod
PaymentMethod

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

Applicable domain values can be found here

This field is optional.

":
"{String}",
66
               "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}"
67
          },
68
          "vATDetails
VATDetails

This field is optional.

":
{
69
               "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}"
70
          }
71
     }
72
}

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 100167 HTTP 404 Measurement unit not found
Error 100475 HTTP 400 Project number is mandatory on all items.
Error 101488 HTTP 400 Illegal general ledger account : {0}
Error 105186 HTTP 400 Postings are not allowed on control accounts.
Error 101490 HTTP 400 Illegal Account {0}: This account has been blocked for {1}-documents
Error 101491 HTTP 400 Illegal Account {0}: Check the account's FromPeriod and ToPeriod
Error 101517 HTTP 400 Illegal Account {0}: This account require ICTDB.
Error 102482 HTTP 400 Department is required for general ledger account {0}
Error 102483 HTTP 400 Finance project is required for general ledger account {0}
Error 102484 HTTP 400 Asset is required for general ledger account {0}
Error 102485 HTTP 400 Dimension {0} ({1}) is required for general ledger account {2}
Error 101313 HTTP 400 Department number is not valid: {0}
Error 101320 HTTP 400 The project number is not valid: {0}
Error 101500 HTTP 400 Project {0} could not be used : Check project FromPeriod and ToPeriod.
Error 101501 HTTP 400 Asset is not allowed on general ledger account {0}
Error 101326 HTTP 400 The asset number is not valid : {0}
Error 102486 HTTP 400 Invalid value for dimension {0}
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.