Sketch only.None of these integrations are wired up in the reference implementation. They show the surface where you'd plug in your ERP. The shared mechanism is the
prediction_logtable — every field decision (predicted, accepted, overridden) is recorded with provenance, ready to feed an outbound webhook.NetSuiteERP
Post each predicted invoice to NetSuite as a draft VendorBill via SOAP/REST. Use the prediction_log row's predicted_value as the proposed Account; let the user confirm in the NetSuite UI.
POST https://<account>.suitetalk.api.netsuite.com/services/rest/record/v1/vendorBill
{
"entity": { "internalid": "<vendor_id>" },
"tranDate": "2026-04-25",
"memo": "Auto-coded by Aito (CUST-0000) — prediction_log id LOG-abc",
"expense": [{
"category": { "internalid": "<gl_4400_id>" },
"amount": 4220.00
}]
}Microsoft Dynamics 365 FinanceERP
Use the OData /VendorInvoiceHeaders endpoint to create the header, /VendorInvoiceLines for each line. Aito's predicted GL goes into MainAccount; predicted approver routes via the workflow assignment.
POST /data/VendorInvoiceHeaders
{
"DataAreaId": "DAT",
"InvoiceAccount": "<vendor_id>",
"InvoiceDate": "2026-04-25",
"PurchaseOrder": "",
"InvoiceId": "INV-CUST-0000-001"
}Procountor (Finnish AP)ERP
Procountor's REST API is well-suited because its account / dimension structure matches the predicted fields here directly. Each prediction maps cleanly to a single API call.
POST https://api.procountor.com/api/purchaseinvoices
{
"supplier": { "businessId": "0223640-4" },
"invoiceDate": "2026-04-25",
"totalSum": 4220.00,
"rows": [{
"accountNumber": "4400",
"dimensions": [{ "name": "Cost centre", "value": "CC-210" }],
"totalSum": 4220.00
}]
}Generic outbound webhookGeneric
If your ERP isn't listed, point an HTTPS endpoint at the prediction_log table and consume new rows on a schedule. Aito predictions and human overrides both end up here, so your ERP gets a single feed with provenance.
POST <your_endpoint>
{
"log_id": "LOG-abc",
"customer_id": "CUST-0000",
"field": "gl_code",
"predicted_value": "4400",
"user_value": "4400",
"source": "predicted",
"confidence": 0.91,
"accepted": true,
"timestamp": 1714060800
}