For distributors running Sage X3
Stop quoting away your margin on Sage X3.
PIE connects to the Sage X3 book you already run, reads the trading history in it, and checks every new quote line against your own margin floor before it goes out — then reports the margin that held. Your ERP keeps the records; PIE decides nothing you did not set a policy for.
One sign-in, checked when you save it
A sign-in as a dedicated integration user against your Syracuse server's SData service, scoped to one X3 folder. The form asks for the Syracuse URL, that user's credentials and the folder (endpoint) whose books you want. Listings page 200 records at a time and are cheap; a document's lines cost one $details call each, so a re-sync reads only what X3's own update stamp says has changed. The connection is checked when you save it, so a wrong folder or password fails there rather than on the first nightly sync.
What your administrator does first
The rights are granted on the integration user's role in Syracuse: SData web-service access on the user itself — without it the sign-in succeeds and every entity answers 401, which reads like a wrong password — and read access to each table above in the connected folder. And because a Syracuse server usually sits on your own network, it has to be reachable on a public hostname: PIE refuses a source address that resolves inside a private range, when you save it and again on every fetch.
What the first pull reads
The first pull is offered from the first day of the month 18 months back, and you choose the date before it starts. It runs as a background job that commits as it goes, so you can watch it move rather than wait on a spinner — and what the screens then report is the span the rows actually cover, not the window that was asked for.
Exactly this, and nothing else
The list below is not a summary of the integration — it is the integration. Each line is a permission the Sage X3 connector declares and a method that reads it, and a test holds the two against each other in both directions, so a capability cannot be claimed here and missing in the code.
- CustomersBPCUSTOMER
- SuppliersBPSUPPLIER
- The item masterITMMASTER
- Sales invoices, with their linesSINVOICE
- Purchase invoices, with their linesPINVOICE
- Sales ordersSORDER
- Purchase ordersPORDER
PIE writes nothing to Sage X3
The Sage X3 connector is read-only: there is no method in it that creates anything, and the platform refuses to send a quote to a Sage X3 customer rather than pretending it can. A quote is built and approved in PIE and entered in Sage X3 by whoever enters them today.
What PIE does not read from Sage X3
- X3 nests a document's lines under a block whose name varies by representation, so PIE finds that block rather than assuming it — the first list of rows that name an item. A representation that exposes no such block yields a document with no lines, and every one of those is named on the sync report rather than averaged into a total nobody could trace.
- Customer payments are not read from Sage X3. Payment timing, the collections worklist and days-to-pay have nothing to read on an X3 book, and they say so rather than estimate around it.
- Stock levels are not read from Sage X3 in this version, so the stock and GMROI screens stay empty on an X3 book.
- Credit notes are not read from Sage X3 in this version, so a returned or credited line still counts as sold until you say otherwise.
- Quotes are not imported from any ERP, X3 included, so a win rate has no denominator until you start quoting here.
- Vendor payments are not read from any ERP, so what has actually been paid out is outside what PIE can see on this book.
- Salespeople are not imported, so every decision routes to management until accounts are assigned inside PIE.
Three things, on your own numbers
Every figure is deterministic arithmetic over the rows above, stamped with the version of the margin policy that judged it. The AI on this platform reads those numbers and phrases them; it never produces one.
Every quote line, against your own floor
Your sales and purchase invoice lines are what a floor is computed from: what you sold, to whom, and what it cost you. PIE checks each new line against the policy you set and routes a breach for sign-off — the platform holds it, not the salesperson, and the sign-off is on record. Nothing is written back: the agreed quote is entered in X3 by whoever enters them today.
Margin drift, per customer and item
Computed from the line-level history X3 already holds and compared across windows, with every figure stamped with the version of the policy that judged it. The arithmetic is deterministic and the operands come with it, so any number on the screen opens into the rows it came from.
The accounts that went quiet
Decline is read from the invoice history the first pull brings in, so it works on an X3 book from the first sync — no quotes to record first, no payments needed, nothing to configure.
Why it can be trusted
The AI never computes a single number.
Your Sage X3 data and your rules determine the number. AI explains it.
Same inputs, same answer, every time — with a paper trail.
- Deterministic calculations — every figure is arithmetic on your own records; turn AI off and every number still works
- Auditable decisions — each number names the policy that produced it, so a price you quoted last quarter still explains itself
- Your data — read from your own books, used for you alone, exportable and erasable on request; AI runs on your own account
- Your rules — you set the floors and thresholds, and PIE holds every quote to them
- Provenance — every row carries the connector, the connection and the id it came from, so nothing in PIE claims a source it did not have
Your Sage X3 book already knows where the margin went.
30–45 minutes, your own numbers on the screen, and an honest answer about what PIE can and cannot see in Sage X3.