Sage X3 logo

Sage X3

ERP & FinanceService accountLive

Connect your customers' Sage X3 tenants so your product can read and write business documents through the Sage X3 REST API. The customer's basis admin creates an OAuth client; Askel uses client_credentials tokens and adds the Sage-Folder header to scope every request to the correct X3 dossier.

What you can do

Read and create sales orders

Fetch sales order records with header and line detail, or POST new orders to the customer's X3 dossier. Covers customer reference, products, quantities, prices, and delivery dates.

Manage customers and prospects

Read and update the Customer (BPCUSTOMER) records including name, billing address, payment terms, and tax codes. Create new customer records from your product's CRM when onboarding new accounts.

Read product and inventory data

Fetch ITMMASTER (item master) records with descriptions, units of measure, and stock quantities by storage site. Lets your product resolve product codes without a manual export.

Access accounts payable and purchase orders

Read purchase order headers and lines, along with supplier invoice records, for procurement-visibility workflows that need live data from the customer's X3 environment.

Read general ledger and accounting entries

Fetch journal entries and account balances from the customer's X3 dossier for financial reporting or reconciliation workflows in your product.

Read delivery and shipment records

Fetch shipping and delivery (SDELIVERY) records with quantities and delivery dates so your product can surface fulfilment status without asking the customer to export from X3 manually.

Sample use case

Syncing confirmed orders from a quoting platform to Sage X3

You sell a quoting and order-management platform. A new customer, Aldgate Packaging Solutions, uses Sage X3 as their ERP. When a quote is accepted in your platform, Aldgate wants a sales order created in their X3 dossier immediately so their warehouse team can start picking without waiting for manual re-entry.

  1. 1

    Basis admin creates an OAuth client

    Aldgate's X3 basis admin opens the Sage X3 Administration web service configuration, creates an OAuth client for the integration, and notes the client ID and client secret. They provide your product's connection wizard with the X3 host URL, dossier folder code (ALDGATE), and the OAuth credentials.

  2. 2

    Connection validated

    Askel makes a client_credentials token request to Aldgate's X3 token endpoint. On success, it stores the credentials and makes a test read against the BPCUSTOMER resource with the folder header set to ALDGATE.

  3. 3

    Product and customer mapping

    Askel reads Aldgate's ITMMASTER and BPCUSTOMER records. Your platform's admin maps each quoting-platform product code to the matching X3 item reference and each customer account to the matching X3 customer code.

  4. 4

    Sales order created on acceptance

    When a buyer accepts a quote in your platform, Askel POSTs a sales order to Aldgate's X3 API endpoint with the X-Sage-Folder: ALDGATE header. The order includes the X3 customer code, item references, quantities, and requested delivery date.

  5. 5

    Order number confirmed

    X3 returns the new order number. Your platform stores it on the quote record and displays it to Aldgate's sales team as confirmation. The warehouse team sees the order in X3 immediately and begins picking.

Authentication

Service account

The customer's Sage X3 basis admin creates an OAuth client in the X3 web services configuration and provides Askel with the client ID, client secret, X3 host URL, and dossier folder code. Askel uses client_credentials to mint short-lived bearer tokens per request and adds the Sage-Folder header with the dossier code on every API call. Credentials are stored encrypted per connection and never forwarded to your servers.

Data flow

How Askel sits between your product and the customer's system

Data flow between Customer's Sage X3 tenant, Askel, and Your productCustomer's Sage X3 tenantAPI endpointAskelauth · mapping · driftYour productyour backend
Sales ordersCustomersProducts and inventoryPurchase ordersGL entriesDeliveries

FAQ for Sage X3

Does this work for Sage X3 cloud and on-premises?+
Yes. Sage X3 can be deployed as a cloud-hosted service (via Sage or a partner) or on-premises. In both cases the REST API is the same and Askel connects through HTTPS to the customer's host URL. For on-premises deployments, Askel requires HTTPS access to the X3 web services server from Askel's egress IPs.
What is a dossier folder and does each customer have one?+
In Sage X3, a dossier (or folder) is the equivalent of a company or subsidiary in the ERP. Each dossier has a short folder code. Most customers have one production dossier, though some have additional dossiers for test or subsidiary entities. Askel stores the folder code per connection and sets the Sage-Folder header on every request.
What endpoints are available in the Sage X3 REST API?+
Sage X3's REST API exposes all major business objects as standard resources (BPCUSTOMER, ITMMASTER, SORDER, etc.). The available objects depend on the X3 version (v11 and above have the broadest REST API coverage) and the modules licensed by the customer.
What happens if the OAuth client secret is rotated?+
Token requests will fail and Askel will surface a credential-expired alert on the customer's connection page. The customer's basis admin generates a new client secret in the X3 configuration and pastes it into Askel to restore the connection.
Ready to ship integrations faster?customers faster?implementations faster?
Join onboarding teams delivering integrations without the engineering queue,
catching drift before it breaks, and hitting go-live dates.
Security & Compliance
ISO 27001 Certified
GDPR Compliant

© 2025 Askel.ai. All rights reserved.