Integrations & APIs
Real Estate & Construction

Integrations & APIs

Invoice intake · ERP · Approval workflow

I1Invoice intakeInbound trigger
Not connected
POST /api/v1/invoices
AP mailbox parser · supplier portal · EDI — Starts a match run. Idempotent on (supplier, invoice_no, version).
{
  "supplier_id": "GBS-001",
  "invoice_no": "INV-GBS-55120",
  "version": 1,
  "po_ref": "PO-DASH-2026-0418",
  "lines": [{ "sku": "MAP-KFX-25", "qty": 90, "unit_price": 50, "uom": "EA" }],
  "currency": "AED",
  "file_url": "s3://ap-inbox/INV-GBS-55120-v1.pdf"
}
→ 202 { "run_id": "run_8f2c", "snapshot": 1 }
R1Purchase order lookupRead
Not connected
GET /erp/v1/purchase-orders/{po_no}
ERP (read-only) — The ruler: ordered qty and agreed price.
→ 200 { "po_no": "PO-DASH-2026-0418", "lines": [{ "line": 3, "sku": "MAP-KFX-25", "qty": 100, "unit_price": 50 }] }
R2Goods receipts & returnsRead
Not connected
GET /erp/v1/goods-receipts?po_no={po_no}
ERP / warehouse WMS (read-only) — Net received = receipts − returns. Deduped by GRN number.
→ 200 [
  { "grn_no": "GRN-MUS-1107", "type": "receipt", "qty": 60 },
  { "grn_no": "GRN-MUS-1121", "type": "receipt", "qty": 40 },
  { "grn_no": "RTV-MUS-0093", "type": "return",  "qty": 10 }
]
E1Document changed webhookEvent
Not connected
POST /api/v1/events
ERP · AP inbox — grn.posted / invoice.revised → new snapshot, workbench shows “new documents”, Approve locked until recalculated.
{ "type": "grn.posted", "po_no": "PO-DASH-2026-0418", "grn_no": "GRN-MUS-1188", "qty": 5, "signature": "hmac-sha256=…" }
O1Decision hand-offOutbound
Not connected
POST /erp/v1/payment-approvals
Payment approval workflow · supplier notice · AP lead — Approve → payment approval queue. Return → supplier notice. Escalate → AP supervisor. Carries snapshot hash for audit.
{
  "invoice_no": "INV-GBS-55120", "version": 2,
  "decision": "approve",
  "decided_by": "yuanzi.xin@dasholding.ae",
  "snapshot": 3, "snapshot_hash": "a91c…",
  "rule_version": "R-3WM-2026.10"
}