Update Orders

Field Definition

Required fields are marked with a pencil icon. The field definitions follow MySQL syntax.

All fields are parsed according to their type before import. If you enter an empty string in `orders_id`, the empty string is converted to a 0 via an INT cast.

During import, the corresponding `backend_update_order` function for the order’s stored payment method is automatically called to, for example, return a shipping status via API.

orders_id
int(11)
The unique ID of the order.
Orders are always updated based on this ID.
orders_status_name
varchar(50)
Name of the order status in the store’s default language. If the status does not exist, it is automatically created.
rg
varchar(32)
Custom invoice file. The file with the same name must be stored in the 'files/rg/' directory.
ls
varchar(32)
Individual delivery note file. The file with the same name must be saved in the 'files/ls/' directory.
orders_comment
mediumtext
Comment on the update. Visibility to customers depends on the shop settings and the 'customer-notified' node.
po_number
varchar(50)
Order/document reference (e.g., AB document ID from the ERP system). Is written to orders.po_number and appears on PDF documents as ZUGFeRD BuyerReference as well as in the customer order history. Empty or missing values do not overwrite the existing data.
links
link
Each `links` node contains [1..n] `link` nodes. If the `links` node is provided with at least one element, old tracking entries for the order are always deleted and replaced by the new list.
link
text or node
Three input formats are accepted:

(A) Legacy: plain text node, e.g., https://nolp.dhl.de/nextt-online-public/de/search?piececode=00340434123456. The tracking code and shipping carrier are automatically recognized from the URL (DHL, DHL Express, GLS, DPD, UPS, Hermes, FedEx, TNT, Swiss Post, Austrian Post, Planzer, Deutsche Post).

(B) Fully nested: ……… — maximum control, no heuristics required.

(C) Carrier + code only: without , e.g. , DHL00340434123456. The store automatically generates the tracking URL visible to the customer from the carrier template (shipping_provider.provider_tracking_link) and code stored in the store.
link/url
text
Complete tracking URL for the customer, e.g., https://nolp.dhl.de/nextt-online-public/de/search?piececode=00340434123456. Optional: If the field is left blank and both `service_provider ` and `code ` are set, the URL is automatically generated from the carrier template and the code.
link/service_provider
varchar(16)
Shipping provider code: DHL, DHLEXPRESS, GLS, DPD, UPS, HLG (Hermes), FEDEX, TNT, POSTCH, POSTAT, PLANZER, DP (Deutsche Post), or OTHER. If the field is left blank, the provider is automatically detected from the URL and/or tracking code.

Marketplaces (eBay, Amazon, Otto, Kaufland, Idealo) receive this code as ShippingCarrierUsed / carrier / carrier_code.
link/code
text
Pure tracking number without any URL prefix. If the field is left blank, the code is automatically extracted from the URL (last query parameter or path segment).
customer_notified
tinyint(1)
Notify customers via email about status updates and send a comment
  • 1: Notify customers
  • 0: Do not notify customers (the update will still be visible in the order overview, depending on Shop settings)
customer_notified_template_id
int(11)
ID of the order status text block. Here, you can simply specify the ID of the text block, and its text will automatically be displayed in the customer’s language. Additionally, placeholder substitution occurs automatically.

Example XML

The XML file must follow this naming convention:
Orders(.)*.xml

Inline example combining all three tracking variants in a single file:



  
    441535
    Shipped
    Your order has been shipped.
    AB-2026-0042
    RG-2026-0042.pdf
    LS-2026-0042.pdf
    
      
      https://gls-group.eu/DE/de/paketverfolgung?match=987654321012
      
      
        https://nolp.dhl.de/nextt-online-public/de/search?piececode=00340434123456
        DHL
        00340434123456
      
      
      
        DHL
        00340434123457
      
    
    1
    0
  

Download sample files:

Complete example (all variants) (A) Legacy (B) Nested (C) Carrier + Code

Processing Notes

  • Idempotence protection: Identical status changes (same orders_id + orders_status_name + comment) are not processed twice during a re-import. Customer emails, marketplace API calls, and download extensions are skipped during a re-import; however, the status update on the order and the tracking data are updated. This allows you to safely re-import archived XML files, for example, to add missing shipping carrier codes.
  • Marketplace Sync Tracking: For marketplace orders (Amazon, eBay, Otto, Kaufland, Idealo, Mirakl, Galaxus, Shöpping.at), each shipping or cancellation import also creates an internal entry in the order history (customer_notified=0) with the sync result: [xoPort] Marketplace Sync (amazon, ship): successfully transferred or ERROR — . This makes it possible to immediately verify in the backend for each order whether the transfer to the marketplace was successful.

Last updated: May 27, 2026