Axya integrates with Sage X3 v12.x for bidirectional purchase order synchronization. A lightweight on-premise middleware handles reliable data exchange between Sage X3 and Axya.
| Aspect |
Details |
| Type |
Partner-Delivered Integration |
| Architecture |
On-premise middleware |
| Deployment |
Windows service on customer VM |
| Sync Frequency |
Every 3 minutes |
| Direction |
Bidirectional |
- Purchase Orders — Headers and line items
- PO Documents — PDF generated natively using Sage X3's built-in reporting engine
- Revisions — Detected when buyer re-triggers the sync after modifying a PO
- Reception Data — Receipt logs tracked for delivery progress
- Supplier Acknowledgments — Status updated automatically
- Delivery Date Updates — Promise dates written to PO line items
- Price Changes — Updated pricing applied
- Quantity Adjustments — Agreed modifications written back

- Buyer creates a PO in Sage X3 and selects "Send to Axya" from the status dropdown on the PO form
- The middleware detects the status change during its 5-minute sync cycle
- PO data is retrieved and a PDF is generated using Sage X3's native reporting engine
- The complete package is sent to Axya
- Status is updated to "Success" or "Failed" on the PO form
- Supplier interacts via Axya's portal
- Supplier responses are polled from Axya and written back to Sage X3
- When all lines are received, the PO is automatically archived in Axya

The integration requires a custom status field on the PO form with the following dropdown values:
| Status Value |
Description |
| Send to Axya |
Publishes the PO to Axya and immediately sends it to the vendor |
| Send Revision |
Pushes a revised version of an existing PO when a line is added/removed or a quantity/price change is made |
| Send as Draft |
Sends the PO to Axya as a draft, allowing the buyer to add documents or attachments before manually sending from Axya |
| Successfully Sent |
Feedback: PO was created and transmitted correctly |
| Failed to Send |
Feedback: Typically caused by a missing Supplier ID or Buyer ID in Axya |
| Acknowledged on Axya |
Indicates the vendor confirmed the order in Axya and the confirmation synced back to Sage X3 |
All customizations are protected by an activity code, ensuring they survive standard Sage X3 upgrades.
Axya provides a detailed step-by-step configuration guide covering the required setup.
- Native PDF Generation — Uses Sage X3's built-in reporting engine; no external PDF tools needed
- Upgrade-Safe Customizations — All customizations use a protected activity code that is preserved during standard patches
- Transactional Integrity — Write operations use Sage's own service layer, ensuring business object validation and audit trail compliance
- Audit Trail — All status changes logged in Sage X3's native audit trail
- Failure Notifications — Failed integrations reported every 30 minutes with daily summary reports
| Resource |
Minimum |
Recommended |
| OS |
Windows Server |
Windows Server |
| RAM |
8 GB |
16 GB |
| Disk |
40 GB |
80 GB |
| CPU |
2 vCPU |
4 vCPU |
- Sage X3 web server configured with appropriate API access
- Administrator access to create activity codes, table fields, screen customizations, and web services
- Development module access for configuration
- Dedicated service account with PO and reporting permissions
- VPN access to Sage X3 servers
- Windows VM provisioned per requirements above
- Authentication via Sage X3's web server
- Dedicated service account with minimal required permissions
- All customizations protected by Activity Code for upgrade safety
- Middleware communicates outbound only over HTTPS
Before sending POs through the integration, ensure the following are in place:
- Supplier ID must exist in Axya — The vendor record in Sage X3 must be mapped to a known supplier in Axya
- Buyer ID must exist in Axya — The buyer associated with the PO must have a corresponding Axya user account
Important: If either the Supplier ID or Buyer ID is missing in Axya, the integration will fail for that PO. The status will change to "Failed to Send" and an email notification will be sent to the administrator.
When sending a PO to Axya for the first time:
- Set the PO status to "Send to Axya"
- Click Save
- Print the PDF — This step is required the first time only to generate the PO document


For subsequent revisions, the PDF is generated automatically without requiring a manual print step.
When the vendor acknowledges the PO in Axya, the following fields are updated on each PO line in Sage X3:
- Acknowledged Date (Ack. date) — The date of vendor confirmation
- Promised Ship Date — The first confirmed delivery date. This value is frozen and never changes afterward.
These fields are essential for tracking first commitment dates and on-time delivery metrics.
The integration uses two date fields to track delivery commitments:
- Expected Receipt Date — Reflects the latest updates from the supplier. This date is continuously updated whenever the supplier provides a new delivery estimate. Use this date for production planning and scheduling.
- Promised Ship Date — The original confirmed date from the supplier. This value is frozen and serves as a reference point.


When a supplier proposes a quantity or unit price change:
- The buyer reviews and approves the change in Axya
- Axya pushes the new values to Sage X3 and updates the PO
- A new revision is generated and the revision number is incremented
- A new PDF is attached in Axya
- The supplier must re-acknowledge the order
Note: Date-only changes do not trigger a revision but still update Sage X3.
Buyers can push changes directly from Sage X3:
- Select the "Send a Revision" status
- Make changes (e.g., delete or add a line, modify quantity or price)
- Axya receives a new revision and notifies the vendor with a new PDF print, a new revision increment, and the supplier must re-acknowledge the order
As goods are received in Sage X3:
- Quantity Received increases
- Open Quantity decreases
- When Open Quantity = 0, the line is archived
- When all lines are archived, the entire PO moves from Active to Archived in Axya
To properly notify the vendor when cancelling a PO:
- Cancel the PO in Axya first — this triggers an email notification to the supplier
- Then cancel the PO in Sage X3 using your standard ERP process
Warning: If the PO is cancelled only in Sage X3 without cancelling in Axya first, the vendor will not be notified.
If a sync fails, the integration handles it as follows:
| Scenario |
Behavior |
| Missing Vendor or Buyer ID |
PO status changes to "Failed to Send" and an email notification is sent |
| PO open in Sage during sync |
The middleware retries up to 200 times over approximately 10 hours |
| Retries exhausted |
Manual intervention required — close the PO in Sage and re-trigger the sync |
The integration syncs every 3 minutes. This applies to both outbound (Sage to Axya) and inbound (Axya to Sage) data flows.
For setup assistance, contact your Axya account representative.