| Orders | ✅ | ✅ | ✅ | ✅ | ✅ | Single & bulk create; soft-delete (archives record) |
| Items | ✅ | ✅ | ✅ | ✅ | ✅ | Upsert by external_id; soft-delete (archives record) |
| Inventories | ✅ | ✅ | ✅ | ✅ | ✅ | Upsert by external_id; soft-delete (archives record) |
| Inventory Transactions | ✅ | ✅ | ✅ | ✅ | ✅ | Soft-delete (archives record) |
| Contacts | ✅ | ✅ | ✅ | ✅ | ✅ | Upsert by external_id; soft-delete (archives record) |
| Companies | ✅ | ✅ | ✅ | ✅ | ✅ | Upsert by external_id; soft-delete (archives record) |
| Cases | ✅ | ✅ | ✅ | ✅ | ✅ | Upsert by external_id; soft-delete (archives record) |
| Subscriptions | ✅ | ✅ | ✅ | ✅ | ✅ | Soft-delete (archives record) |
| Estimates | ✅ | ✅ | ✅ | ✅ | ✅ | Soft-delete (archives record) |
| Invoices | ✅ | ✅ | ✅ | ✅ | ✅ | Soft-delete (archives record) |
| Purchase Orders | ✅ | ✅ | ✅ | ✅ | ✅ | Upsert by external_id; soft-delete (archives record) |
| Bills | ✅ | ✅ | ✅ | ✅ | ✅ | Upsert by external_id; soft-delete (archives record) |
| Disbursements | ✅ | ✅ | ✅ | ✅ | ✅ | Upsert by external_id; soft-delete (archives record) |
| Slips | ✅ | ✅ | ✅ | ✅ | ✅ | Upsert by external_id; soft-delete (archives record) |
| Payments | ✅ | ✅ | ✅ | ✅ | ✅ | Upsert by external_id; soft-delete (archives record) |
| Locations | ✅ | ✅ | ✅ | ✅ | ✅ | Upsert by external_id; soft-delete (archives record) |
| Meters | ✅ | ✅ | ✅ | ✅ | ✅ | Upsert by external_id; soft-delete (archives record) |
| Workflows | ✅ | ✅ | ✅ | ❌ | ❌ | Upsert by external_id (create/update via POST); GET /v1/public/workflows, POST /v1/public/workflows, GET /v1/public/workflows/actions, GET /v1/public/workflows/{workflow_ref} |
| Reports | ✅ | ✅ | ✅ | ✅ | ✅ | Salesforce-style reportMetadata; delete is soft-delete |
| Properties (Schema) | ✅ | ✅ | ✅ | ✅ | ✅ | Write supported for Orders, Items, Inventories, Inventory Transactions, Subscriptions, Invoices, Estimates, Payments, Purchase Orders, Bills, Disbursements, Slips, Contacts, and Companies. Cases/Locations/Meters are read-only. |