Order Types Explained

Every order you create in details carries an Order Type — and it’s the single most important setting on the order. This article explains what an Order Type actually does, so you can pick the right one with confidence.

► Overview

The Order Type controls one business event: what happens to stock, and whether an invoice gets created. Two roles matter here — the Account, who’s receiving the goods (a shop, a distributor, or one of your own warehouses), and the Stock Account, where the goods are coming from (usually your own warehouse). Every Order Type answers two questions at once: does stock move, and if so from where to where — and does it produce an invoice?

► Where to Find This

You choose the Order Type in the “Type” dropdown when creating an order (see our article on creating a new order), under Distribution → Orders. You can see it afterwards in the order’s header, alongside the account and stock account.

[Screenshot: Type dropdown in the New Order pop-up]

► How It Works

Order types fall into two broad groups:

  • On account — Invoice Order, Return Credit Note, Defects Note, and Price Adjustment. These handle both the money and the stock quantity together: once goods move under one of these types, they’re sold to and owned by the recipient.
  • Commission — Consignment, Consignment Return, Defects Consignment, and Invoice Consignment. These track quantity only, until a later invoice settles it. The stock has physically moved, but it isn’t owned or billed to the recipient yet — think of it as being on loan.

Two types sit outside both groups: Promo Order (stock goes out for promotional use — press, in-store — with no invoice) and Return to Vendor (returning goods to your own supplier, e.g. in case of overstock — moves stock, but isn’t invoiced or tracked as consignment).

[Image: “On Account” vs “Commission” diagram — see attached on-account-vs-commission.png]

► Step-by-Step

A quick way to land on the right type:

  1. Selling goods that change ownership right away and need an invoice? Use Invoice Order.
  2. Crediting a return? Use Return Credit Note if the goods physically come back, or Defects Note if you’re crediting defective goods with no return.
  3. Sending goods to a shop or distributor to sell on your behalf, without invoicing yet? Use Consignment.
  4. Getting unsold consignment stock back? Use Consignment Return. Once it’s actually sold and you invoice for it, use Invoice Consignment.
  5. Sending stock out for promotional use (press, in-store)? Use Promo Order.
  6. Writing off faulty consignment goods that won’t be returned or credited? Use Defects Consignment.
  7. Correcting a price without moving any stock? Use Price Adjustment.
  8. Returning goods to your own supplier, e.g. overstock? Use Return to Vendor.

► Tips / Notes

  • Invoice Order – a standard sale: stock goes out, an invoice is created.
  • Consignment – a consignment delivery: stock goes out, no invoice yet.
  • Return Credit Note – a credit note after a physical return: stock comes back in.
  • Consignment Return – unsold consignment stock coming back: no invoice.
  • Promo Order – a promotional shipment (in-store, press): no invoice.
  • Defects Note – a credit note for defective goods, no return needed.
  • Defects Consignment – defective consignment goods, written off with no credit note.
  • Price Adjustment – a price correction: no stock movement.
  • Invoice Consignment – invoicing consignment goods once they’ve sold.
  • Return to Vendor – returning stock to your supplier: no invoice.

Not sure which type fits your situation? Get in touch with support and we’ll help you pick the right one.

How to Create a New Order

There are two ways to manage sales or returns in details. Digital sales, streaming and performance income, and licences are handled by importing files under Distribution → Imports (or, for licences, in the Licencing module). Physical products and merchandise can be imported this way too — but when you’re taking an order yourself rather than importing a sales file, that’s handled by creating an order under Distribution → Orders, which is what this article is about.

Use Orders whenever you’re actually taking an order for something with a price, usually stock, and a place to ship from and to. Services work the same way, just without the shipping part.

Note that Orders covers sales to your customers. If you’re the one ordering physical products or merchandise — for example from a manufacturer or supplier — that’s handled separately, under Distribution → Supplier Orders.

► Overview

An order links an account (who it’s going to) with a stock account (where the goods come from), and carries everything needed to get products packed, shipped, and — if needed — invoiced. Most of the setup happens automatically once you’ve picked the right account and order type, since pricing, currency and address details are pulled in for you.

► Where to Find This

There are two equally valid ways to start an order:

  • Go to Distribution → Orders and click the (+) icon.
  • Or open the account directly under Distribution → Accounts, go to its “ALL ORDERS” tab, and click “+ Add New Order”.

Both open the same “New Order” pop-up — starting from the account page just pre-fills the account for you.

[Screenshot: Distribution → Orders overview with the (+) icon highlighted]

► How It Works

In the pop-up, you fill in:

  • Account – who the order is going to (not needed if you started from the account page).
  • Stock Account – where the stock comes from, usually your own warehouse.
  • Customer ref – an optional reference, for example a PO number.
  • Type – the order type. Choose “Invoice Order” for a standard sale that needs to be invoiced. See our separate article on order types for the full picture.

[Screenshot: New Order pop-up with Account, Stock Account, customer ref and Type fields]

Once you click “Add Orders”, the order opens up with the account’s pricing, currency and address details already filled in. Before adding products, it’s worth setting VAT handling, payment method, shipping date, and — if needed — a whole-order discount percentage.

Context: Prices fill in automatically when a product is linked to a price code and the account has a matching price list. This keeps pricing consistent without a manual lookup on every order.

► Step-by-Step

  1. Start the order — either via Distribution → Orders → (+), or from the account’s “ALL ORDERS” tab.
  2. Fill in Account (if applicable), Stock Account, customer ref, and Type, then confirm.
  3. Set VAT handling, payment method and shipping date, and add a whole-order discount if needed.
  4. Check the Backorders tab for any outstanding items for this account, and pull them into the order if relevant.
  5. Go to the Order Lines tab and click “+ Add New Order Lines” to search for and add products — including promo or free-of-charge quantities if needed. For long lists, use “XLS Import” instead.
  6. Prices fill in automatically where possible; enter them manually if not. Add per-line discounts if needed.
  7. On the Packaging/Shipping tab, run “Auto Backorder” for anything short, set the Pack Status (reserved, then packed), and fill in weight, shipping method and costs.
  8. Generate any documents you need (order confirmation, proforma invoice, etc.) via the “Documents” button.
  9. Review the Summary tab, tick “Ready to ship” if applicable, and click “Account” to complete the order.

[Screenshot: Order Lines tab with the “+ Add New Order Lines” search pop-up]

► Tips / Notes

  • What happens when you click “Account” depends on the order Type you picked at the start — it can automatically create an invoice, a credit note, or neither.
  • Once an order is completed, you can only edit it again if its invoice is cancelled first — then use “Reopen”.
  • Double-check the account and its products beforehand: order details are pulled in automatically at creation and can’t be moved to a different account afterwards.

Order API (V1) – How to import Orders via JSON

 

How to import orders via the Order API (V1)

Use this guide to send orders into details via a POST request. This article documents the Order API V1.0 (2023) and keeps the V1 behavior.

Note: The endpoint expects a JSON array of orders in the request body. Identifiers can be provided as UUID, barcode, or catalog_no. Barcodes must be unique.

Where to find the endpoint

Go to SETTINGS / SHARING and open the open api box named [JSON Orders Import].

Endpoint & URL format

Base URL:

https://openapi.berlin3.com:10000/orders/json_import/

Path format (with credentials):

https://api.berlin3.com:10000/api/orders/json_import/<client_id>/<checksum>

Quick start

  1. Generate or locate your <client_id> and <checksum> in SETTINGS / SHARING.
  2. Build your POST request to the URL format above.
  3. Set header Content-Type: application/json.
  4. Send a JSON array of order objects in the request body.

Request parameters

Parameter Description In Expected Value
client_id Unique client identifier path details client_id
checksum API key path details open api key
params Array of orders body JSON

Payload schema (field overview)

Each order is an object. The table below lists available fields. Mandatory fields must be present in every order.

API Field Name Mandatory / Optional Data Type Expected Value Field Description
order_date Mandatory string YYYY-MM-DD Date of the order.
account_id Mandatory integer min e 1 Internal ID of the account.
contra_account_id Mandatory integer   Internal ID of the contra account.
invoice_project_id Mandatory integer   Internal ID of the invoicing project.
vat_handling Mandatory integer 1, 2, 3 1 = excluding VAT, 2 = including VAT, 3 = no VAT.
vat_territory Mandatory string   Territory for VAT calculation.
vat_rate1 Mandatory number   Primary VAT rate.
vat_rate2 Mandatory number   Secondary VAT rate.
orderlines   array   Line items of the order (see fields below).
shipping_type_id Optional integer   Internal ID of shipping type.
order_value Optional number   Total order value.
uuid / barcode / catalog_no Optional string   Item identifiers. Barcodes must be unique.

cURL example

curl -X POST 
  "https://api.berlin3.com:10000/api/orders/json_import/<client_id>/<checksum>" 
  -H "Content-Type: application/json" 
  -d '[
    {
      "order_date": "2015-06-01",
      "account_id": 167,
      "contra_account_id": 2,
      "invoice_project_id": 4,
      "currency": "EUR",
      "order_type": 1,
      "vat_handling": 1,
      "vat_territory": "EU",
      "vat_rate1": 19,
      "vat_rate2": 0,
      "orderlines": [
        {"uuid": "b1862090-469e-4035-a073-9f106d270502", "ppu": 12.50, "order_qty": 1},
        {"uuid": "c796d64c-90c6-493f-a8ea-0f244904069b", "ppu": 10.90, "order_qty": 3}
      ]
    }
  ]'

JSON schema (V1)

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "import orders",
  "description": "import orders from json",
  "type": "array",
  "items": {
    "type": "object",
    "required": [
      "order_date",
      "account_id",
      "contra_account_id

How to sync your catalog and webshop orders via API

 

Use the Webshop API in details to (1) expose your catalog to a webshop and (2) push webshop orders into details for stock, invoicing, and reporting.

Important: The endpoints and keys below are examples. Replace placeholders like {API_KEY}, {ACCOUNT_ID}, etc. with your actual credentials and IDs. Keep your API key secret.

OVERVIEW

  • Catalog ► Webshop (GET): Provide Labels, Releases, Products, and Tracks as JSON feeds.
  • Webshop ► details (PUSH): Create orders in details via a parameterized request.

► Catalog export (GET endpoints)

Expose your catalog to the webshop via these read-only endpoints. The response format is JSON.

Labels

https://api.berlin3.com/api/noton/?action=labels&api_key={API_KEY}

Releases

https://api.berlin3.com/api/noton/?action=releases&api_key={API_KEY}

Products

https://api.berlin3.com/api/noton/?action=products&api_key={API_KEY}

Tracks

https://api.berlin3.com/api/noton/?action=tracks&api_key={API_KEY}

► Receive webshop orders (PUSH)

Create an order in details by calling the addOrder endpoint with URL parameters.

Endpoint

https://api.berlin3.com/api/noton/?action=addOrder&api_key={API_KEY}&account_id={ACCOUNT_ID}&invoice_project_id={INVOICE_PROJECT_ID}&webshop_order_id={SHOP_ORDER_NO}&internal_notes={NOTES}&order_date={YYYY-MM-DD}&order_type={ORDER_TYPE}&status={STATUS}&payment_method_id={PAYMENT_METHOD_ID}&currency_id={CURRENCY_ID}&vat_handling={VAT_MODE}&customer_no={CUSTOMER_NO}&email1={EMAIL}&company_name={COMPANY}&last_name={LAST_NAME}&address1={ADDRESS1}&city={CITY}&postalcode={POSTALCODE}&region={REGION}&country={COUNTRY}&order_source={ORDER_SOURCE}&contra_account_id={CONTRA_ACCOUNT_ID}&deliver_address_type=Address&deliver_name={DELIVER_NAME}&deliver_company={DELIVER_COMPANY}&deliver_address1={DELIVER_ADDRESS1}&deliver_city={DELIVER_CITY}&deliver_postalcode={DELIVER_POSTALCODE}&deliver_country={DELIVER_COUNTRY}&shipping_costs={SHIPPING}&order_value={ORDER_VALUE}&orderLines={PRODUCT_UUID}|{QTY}|{PPU}|1[&orderLines=...]

Tip: You can repeat orderLines multiple times to add more items.

Parameter reference

Parameter Description Example
api_key Your authentication token {API_KEY}
account_id Distribution account to book against {ACCOUNT_ID}
invoice_project_id Invoice project used for the order {INVOICE_PROJECT_ID}
order_type Order type identifier 1
status Initial order status open
payment_method_id Payment method (see table below) 1
currency_id Currency identifier 1
vat_handling VAT mode (1=including VAT, 3=no VAT) 1
orderLines One line per product: product_uuid|QTY|PPU|1 ab12cd...|2|12.00|1

Payment methods

ID Name
1 CREDIT CARD
2 SEPA LASTSCHRIFT
3 PAYPAL
4 BARZAHLUNG
5 VORKASSE

Order lines format

Each orderLines parameter represents one item in the order with the following pipe-separated format:

orderLines={PRODUCT_UUID}|{QTY}|{PPU}|1
  • {PRODUCT_UUID} the product UUID (fetch via the Products API).
  • {QTY} quantity.
  • {PPU} price per unit (net or gross depending on vat_handling).
  • 1 reserved constant.

VAT handling

vat_handling accepts these values:

  • 1 including VAT
  • 3 no VAT

Explained: Order types and their stock movements

Order types define how details treats stock movements and whether invoices are generated automatically. Each order type represents a different kind of transaction between your Distribution Accounts and Stock Accounts.

You can choose the order type when creating a new order under DISTRIBUTION / ORDERS or when working directly from a Distribution Account.

► Overview of Order Types

The following table shows how each order type affects stock and invoicing. This helps you decide which type to use for a specific scenario.

Order Type Description Stock (Account) Stock (Stock Account) Invoice
Invoice Order Used for regular sales to clients or retailers. Creates an invoice automatically once accounted. Neutral Decreased Yes
Consignment Used when delivering goods on consignment. Stock is moved to the account but no invoice is created until items are sold or returned. Increased Decreased No
Return Credit Note Used for returns from customers. Increases stock in the warehouse and creates a credit note invoice for accounting. Neutral Increased Yes
Promo Order Used for promotional shipments such as giveaways or review copies. No invoice is created. Neutral Decreased No
Defects Used for damaged or defective products being removed from stock. Not invoiced and not credited. Neutral Decreased No
Price Adjustment Used to correct pricing on already delivered goods without physical stock changes. Neutral Neutral Yes

► Choosing the Correct Order Type

Selecting the correct order type ensures accurate stock tracking and accounting results. Use the following guidelines:

  • Invoice Order ► For standard customer orders that require invoicing.
  • Consignment ► For partner accounts that handle sales reports later (e.g. shops or distributors).
  • Return Credit Note ► For returned goods from customers or partners.
  • Promo Order ► For marketing or free sample shipments.
  • Defects ► For defective products to be removed from stock.
  • Price Adjustment ► For correcting previously invoiced prices without new shipments.

If you are unsure which order type to select, review your contract setup or ask your accounting team which type applies to your process.

► Account and Stock Account Behavior

Each order type affects the two sides of an order differently:

  • Account: Represents the client or customer receiving (or returning) goods. Some order types, such as Consignment, increase the account s stock level.
  • Stock Account: Represents your warehouse or physical stock source. It decreases when shipping products and increases when receiving returns.

This logic ensures that your warehouse and account stocks remain consistent and transparent at all times.

► Translations

For teams working in multiple languages, here s an overview of common translations for order types:

English German French
Invoice Order Rechnungsauftrag Commande facture
Consignment Kommissionsauftrag Commande en consignation
Return Credit Note Gutschrift Note de crdit
Promo Order Promoauftrag Commande promotionnelle
Defects Defekte Dfectueux
Price Adjustment Preisnderung Ajustement de prix

Understanding these order types helps you manage stock movements precisely and ensures that your distribution accounting remains consistent across all transactions.

Order API – How to import Orders via JSON

How to import orders via the Order API

Use this guide to send orders into details via a POST request. This article documents the Order API.

Note: The endpoint expects a JSON array of orders in the request body. Identifiers can be provided as UUID, barcode, or catalog_no. Barcodes must be unique.

Where to find the endpoint

Go to SETTINGS / SHARING and open the open api box named [JSON Orders Import].

Endpoint & URL format

Base URL:

https://openapi.berlin3.com:10000/orders/json_import/

Path format (with credentials):

https://api.berlin3.com:10000/api/orders/json_import/<client_id>/<checksum>
Open API JSON Orders Import

Quick start

  1. Generate or locate your <client_id> and <checksum> in SETTINGS / SHARING.
  2. Build your POST request to the URL format above.
  3. Set header Content-Type: application/json.
  4. Send a JSON array of order objects in the request body.

Request parameters

Parameter Description In Expected Value
client_id Unique client identifier path details client_id
checksum API key path details open api key
params Array of orders body JSON

Payload schema (field overview)

Each order is an object. The table below lists available fields. Mandatory fields must be present in every order.

API Field Name Mandatory / Optional Data Type Expected Value Field Description
order_date Mandatory string YYYY-MM-DD Date of the order.
account_id Mandatory integer min e 1 Internal ID of the account.
contra_account_id Mandatory integer   Internal ID of the contra account.
invoice_project_id Mandatory integer   Internal ID of the invoicing project.
vat_handling Mandatory integer 1, 2, 3 1 = excluding VAT, 2 = including VAT, 3 = no VAT.
vat_territory Mandatory string   Territory for VAT calculation.
vat_rate1 Mandatory number   Primary VAT rate.
vat_rate2 Mandatory number   Secondary VAT rate.
orderlines   array   Line items of the order (see fields below).
shipping_type_id Optional integer   Internal ID of shipping type.
order_value Optional number   Total order value.
uuid / barcode / catalog_no Optional string   Item identifiers. Barcodes must be unique.

cURL example

curl -X POST 
  "https://api.berlin3.com:10000/api/orders/json_import/<client_id>/<checksum>" 
  -H "Content-Type: application/json" 
  -d '[
    {
      "order_date": "2015-06-01",
      "account_id": 167,
      "contra_account_id": 2,
      "invoice_project_id": 4,
      "currency": "EUR",
      "order_type": 1,
      "vat_handling": 1,
      "vat_territory": "EU",
      "vat_rate1": 19,
      "vat_rate2": 0,
      "orderlines": [
        {"uuid": "b1862090-469e-4035-a073-9f106d270502", "ppu": 12.50, "order_qty": 1},
        {"uuid": "c796d64c-90c6-493f-a8ea-0f244904069b", "ppu": 10.90, "order_qty": 3}
      ]
    }
  ]'

JSON schema

{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "import orders",
  "description": "import orders from json",
  "type": "array",
  "items": {
    "type": "object",
    "required": [
      "order_date",
      "account_id",
      "contra_account_id",
      "invoice_project_id",
      "currency",
      "order_type",
      "vat_handling",
      "vat_territory",
      "vat_rate1",
      "vat_rate2"
    ],
    "properties": { /* full property list remains supported */ }
  }
}

For completeness, the original schema property list from your legacy documentation is preserved below.

Full legacy JSON schema (expanded)

/* Original JSON Schema from your text */

$SCHEMA_BLOCK_START

Sample JSON payload

[{
  "status": "Invoice",
  "user_id": null,
  "currency": "EUR",
  "vat_rate1": null,
  "vat_rate2": null,
  "account_id": 167,
  "order_date": "2015-06-01",
  "order_type": 1,
  "orderlines": [
    {"ppu": 12.50, "uuid": "b1862090-469e-4035-a073-9f106d270502", "barcode": "487328472388", "catalog_no": "Detrec 002 CD", "notes": null, "vat_rate": null, "order_qty": 1, "promo_foc": null, "vat_amount": null},
    {"ppu": 10.90, "uuid": "c796d64c-90c6-493f-a8ea-0f244904069b", "notes": null, "vat_rate": null, "order_qty": 3, "promo_foc": null, "vat_amount": null},
    {"ppu": 11.20, "uuid": "ab96df0f-d94a-44b0-ab63-99340bc778fb", "notes": null, "vat_rate": null, "order_qty": 2, "promo_foc": null, "vat_amount": null}
  ],
  "order_value": 504.50,
  "deliver_city": "Subiaco",
  "deliver_name": "Andrew Sinclair",
  "order_source": "fertig prepaid!",
  "vat_handling": null,
  "deliver_phone": "+61406213638",
  "delivery_text": null,
  "one_stop_flag": null,
  "proforma_text": "Good Company RecordsnAndrew Sinclairn267 Hay St.nSubiaco - 6008n",
  "shipping_date": null,
  "shipping_info": null,
  "tracking_data": null,
  "vat_territory": null,
  "internal_notes": "Good Company RecordsnAndrew Sinclairn267 Hay St.nn6008 SubiaconAUSTRALIA",
  "order_discount": null,
  "shipping_costs": 95.40,
  "weight_kg_edit": 17.800,
  "deliver_company": "Good Company Records",
  "deliver_country": "Australia",
  "order_reference": null,
  "deliver_address1": "267 Hay St.",
  "deliver_address2": null,
  "shipping_type_id": 1,
  "contra_account_id": 2,
  "customs_reference": null,
  "payment_method_id": null,
  "deliver_postalcode": "6008",
  "invoice_project_id": 4,
  "deliver_address_type": null,
  "deliver_street_number": null
}]

Sample response

{"details":"Data is received successfully, for more details please check email.","error":0}

Troubleshooting

  • 400/422: Check required fields and data types (see mandatory list).
  • 401: Invalid <client_id> or <checksum>.
  • 500: Retry later; if persistent, contact support@details.eu.

How to sync your catalog and webshop orders via API

Use the Webshop API in details to (1) expose your catalog to a webshop and (2) push webshop orders into details for stock, invoicing, and reporting.

Important: The endpoints and keys below are examples. Replace placeholders like {API_KEY}, {ACCOUNT_ID}, etc. with your actual credentials and IDs. Keep your API key secret.

OVERVIEW

  • Catalog → Webshop (GET): Provide Labels, Releases, Products, and Tracks as JSON feeds.
  • Webshop → details (PUSH): Create orders in details via a parameterized request.

Catalog export (GET endpoints)

Expose your catalog to the webshop via these read-only endpoints. The response format is JSON.

Labels

https://api.berlin3.com/api/noton/?action=labels&api_key={API_KEY}

Releases

https://api.berlin3.com/api/noton/?action=releases&api_key={API_KEY}

Products

https://api.berlin3.com/api/noton/?action=products&api_key={API_KEY}

Tracks

https://api.berlin3.com/api/noton/?action=tracks&api_key={API_KEY}

Receive webshop orders (PUSH)

Create an order in details by calling the addOrder endpoint with URL parameters.

Endpoint

https://api.berlin3.com/api/noton/?action=addOrder&api_key={API_KEY}&account_id={ACCOUNT_ID}&invoice_project_id={INVOICE_PROJECT_ID}&webshop_order_id={SHOP_ORDER_NO}&internal_notes={NOTES}&order_date={YYYY-MM-DD}&order_type={ORDER_TYPE}&status={STATUS}&payment_method_id={PAYMENT_METHOD_ID}&currency_id={CURRENCY_ID}&vat_handling={VAT_MODE}&customer_no={CUSTOMER_NO}&email1={EMAIL}&company_name={COMPANY}&last_name={LAST_NAME}&address1={ADDRESS1}&city={CITY}&postalcode={POSTALCODE}&region={REGION}&country={COUNTRY}&order_source={ORDER_SOURCE}&contra_account_id={CONTRA_ACCOUNT_ID}&deliver_address_type=Address&deliver_name={DELIVER_NAME}&deliver_company={DELIVER_COMPANY}&deliver_address1={DELIVER_ADDRESS1}&deliver_city={DELIVER_CITY}&deliver_postalcode={DELIVER_POSTALCODE}&deliver_country={DELIVER_COUNTRY}&shipping_costs={SHIPPING}&order_value={ORDER_VALUE}&orderLines={PRODUCT_UUID}|{QTY}|{PPU}|1[&orderLines=...]

Tip: You can repeat orderLines multiple times to add more items.

Parameter reference

Parameter Description Example
api_key Your authentication token {API_KEY}
account_id Distribution account to book against {ACCOUNT_ID}
invoice_project_id Invoice project used for the order {INVOICE_PROJECT_ID}
order_type Order type identifier 1
status Initial order status open
payment_method_id Payment method (see table below) 1
currency_id Currency identifier 1
vat_handling VAT mode (1=including VAT, 3=no VAT) 1
orderLines One line per product: product_uuid|QTY|PPU|1 ab12cd...|2|12.00|1

Payment methods

ID Name
1 CREDIT CARD
2 SEPA LASTSCHRIFT
3 PAYPAL
4 BARZAHLUNG
5 VORKASSE

Order lines format

Each orderLines parameter represents one item in the order with the following pipe-separated format:

orderLines={PRODUCT_UUID}|{QTY}|{PPU}|1
  • {PRODUCT_UUID} the product UUID (fetch via the Products API).
  • {QTY} quantity.
  • {PPU} price per unit (net or gross depending on vat_handling).
  • 1 reserved constant.

VAT handling

vat_handling accepts these values:

  • 1 including VAT
  • 3 no VAT

Explained: Order types and their stock movements

Order types define how details treats stock movements and whether invoices are generated automatically. Each order type represents a different kind of transaction between your Distribution Accounts and Stock Accounts.

You can choose the order type when creating a new order under DISTRIBUTION / ORDERS or when working directly from a Distribution Account.

► Overview of Order Types

The following table shows how each order type affects stock and invoicing. This helps you decide which type to use for a specific scenario.

Order Type Description Stock (Account) Stock (Stock Account) Invoice
Invoice Order Used for regular sales to clients or retailers. Creates an invoice automatically once accounted. Neutral Decreased Yes
Consignment Used when delivering goods on consignment. Stock is moved to the account but no invoice is created until items are sold or returned. Increased Decreased No
Return Credit Note Used for returns from customers. Increases stock in the warehouse and creates a credit note invoice for accounting. Neutral Increased Yes
Promo Order Used for promotional shipments such as giveaways or review copies. No invoice is created. Neutral Decreased No
Defects Used for damaged or defective products being removed from stock. Not invoiced and not credited. Neutral Decreased No
Price Adjustment Used to correct pricing on already delivered goods without physical stock changes. Neutral Neutral Yes

► Choosing the Correct Order Type

Selecting the correct order type ensures accurate stock tracking and accounting results. Use the following guidelines:

  • Invoice Order  For standard customer orders that require invoicing.
  • Consignment  For partner accounts that handle sales reports later (e.g. shops or distributors).
  • Return Credit Note  For returned goods from customers or partners.
  • Promo Order  For marketing or free sample shipments.
  • Defects  For defective products to be removed from stock.
  • Price Adjustment  For correcting previously invoiced prices without new shipments.

If you are unsure which order type to select, review your contract setup or ask your accounting team which type applies to your process.

► Account and Stock Account Behavior

Each order type affects the two sides of an order differently:

  • Account: Represents the client or customer receiving (or returning) goods. Some order types, such as Consignment, increase the account s stock level.
  • Stock Account: Represents your warehouse or physical stock source. It decreases when shipping products and increases when receiving returns.

This logic ensures that your warehouse and account stocks remain consistent and transparent at all times.

► Translations

For teams working in multiple languages, here s an overview of common translations for order types:

English German French
Invoice Order Rechnungsauftrag Commande facture
Consignment Kommissionsauftrag Commande en consignation
Return Credit Note Gutschrift Note de crdit
Promo Order Promoauftrag Commande promotionnelle
Defects Defekte Dfectueux
Price Adjustment Preisnderung Ajustement de prix

Understanding these order types helps you manage stock movements precisely and ensures that your distribution accounting remains consistent across all transactions.