Dijit.app Dijit.app Documentation

Documentation/ ERP integrations/ Sage X3

Supplier invoices and journal entries straight into Sage X3

Dijit.app reads a supplier invoice and records it in Sage X3 as a purchase invoice or as a journal entry, by whichever route your ERP accepts for writing into those modules: the same import templates your team would use. The document ends up posted exactly as if a person had keyed it.

Invoice or entry, your choice

Each customer decides what their Sage receives: the complete purchase invoice, or the journal entry. Never both for the same document.

It respects your templates

Documents go in through your installation's import template, with the same validation and the same defaults.

It does not duplicate invoices

Before sending anything, it checks whether that supplier's invoice is already recorded.

It looks after your licence

The Sage X3 licence is measured by volume of data, not by number of calls. The integration watches the usage and warns before it runs out.

What it does

What the integration does

Invoice document PDF or scan Dijit.app Finds the supplier and its items or accounts Checks the invoice is not already recorded Prepares it for your Sage's template Sends a purchase invoice or an entry, not both What it cannot settle, it stops with its reason Sage X3 Purchase invoice or entry created With the same validation as by hand Document number assigned by X3 in the right company and site The number Sage X3 assigns comes back to Dijit.app, so the invoice in your inbox and the ERP document stay linked for the rest of their lives.

Finding suppliers and items

The supplier, the items and the nominal accounts are matched with their real codes in Sage X3 before anything is sent. The integration never creates or changes those masters: they are always the ERP's.

Item lines or account lines

A line can carry an item from the catalogue, or go straight to an expense account, according to what the document carries.

Matching against the purchase order

Where the invoice refers to an order, it can be matched against it to check that what is being recorded matches what was ordered.

Entries that balance

A journal entry whose debits and credits do not agree is not sent: it stops and reports the imbalance.

Temporary entries by default

Entries are created as temporary unless you ask otherwise, so a mistaken sending can be corrected in Sage before it is made final.

Duplicate protection

Before writing, it looks for that same invoice from that same supplier in Sage. If it is already there, it is not sent again.

Works with or without internet access

If your Sage X3 is in the cloud or published, the integration connects directly. If it lives on your own server with no route out, it is installed alongside it.

Sage's number comes back linked

The invoice or entry number Sage X3 assigns is stored with the document in Dijit.app, so the two stay linked.

Invoice or entry

Invoice or entry, never both

Each customer sets what their Sage X3 receives for a given document type: the complete purchase invoice, with its header and lines, or the journal entry already balanced. Never both at once, because Sage X3 generates its own entry as soon as it posts an invoice, and sending both would record the same purchase twice.

Every document ends up recorded in Sage exactly as a person would have written it, or stops with a specific reason.

How it connects

How it connects

Reading suppliers, items, accounts and purchase orders is done against the Sage X3 application itself, to match the document's data with the ERP's. Writing goes through the invoice or journal import template your installation already has set up: the same one anybody on the team would use to enter a document by hand.

Access and security

Duplicates

How it avoids duplicates

Sage X3 numbers documents itself and does not allow a number to be reserved in advance, so the only reliable way of recognising an invoice already recorded is its supplier together with the document number that supplier gave it.

Before sending, the integration looks that pair up in Sage X3. If it is already there, it sends nothing and takes the number Sage has already assigned as good. If it cannot check because of a connection problem, it does not send either: not knowing whether there is a duplicate is not the same as knowing there is not, and recording the same invoice twice is an accounting problem.

After a successful sending, the integration queries Sage X3 again to read the number it has just assigned and stores it with the document in Dijit.app.

Licence

The licence is measured by volume

Unlike other ERPs, the Sage X3 licence does not limit how many calls are made but how much data passes through its services: it is measured in megabytes within a period, and that limit depends on each customer's contract with Sage.

SituationWhat happens
Normal usageEverything runs at its usual speed.
Near the limitThe integration warns you so something can be done before the ceiling.
Limit exceededSage X3 starts answering more slowly and, if it goes on, stops answering.

Each customer's limit is not public. It has to be asked of the Sage account manager who looks after you. Without that figure, the integration can only measure usage, not warn with any margin before the limit.

Going live

Going live

Going live depends on your Sage partner confirming and switching on a few pieces which, if missing, give no visible error: nothing simply arrives.

Scope

What it does today and what it does not

What it covers

What it does not do

↑ Back to top

Sage and Sage X3 are trade marks of The Sage Group plc. Dijit.app is not affiliated with Sage.
Last reviewed: 11 September 2026 · The Dijit.app team