Skip to content
Skip to content

Compute finance mappings

Which accounting systems Compute recognizes, and why a mapping acknowledgement does not post to your ledger or pay anyone.

Updated

Use a finance mapping when you need to represent a customer payable or a supported provider reconciliation in a registered accounting system. First identify the commercial flow and external object you need to reconcile; then select the registered system family and its exact recipe.

Registered system families

The current finance authority recognizes these customer accounting-system families:

Raw recipe identifierPayable objectEdition required
quickbooks-onlineBillfalse
xeroACCPAYfalse
sage-intacctAPBILLfalse
oracle-netsuitevendorBilltrue
microsoft-dynamics-365purchaseInvoicestrue
sap-s4hanaSupplier Invoicetrue
otherregistered_finance_adaptertrue

The current finance mapping authority supplies the exact system edition, external object kind, schema, and field mapping. Do not infer a mapping from the vendor name alone.

Read a mapping record

Use the recipe identifiers above to select a system recipe. The system_family values below belong to the mapping record and use their own exact spelling; do not convert one into the other by replacing punctuation.

Each mapping carries these required fields:

Required mapping fieldContract constraint
commercial_flowcustomer_payable, provider_receivable, provider_payout_reconciliation
system_familyquickbooks_online, xero, sage_intacct, oracle_netsuite, microsoft_dynamics_365, sap_s4hana, registered_finance_adapter, none_export_only
system_editionnot_applicable, quickbooks_online_standard, xero_business, sage_intacct_standard, oracle_netsuite_standard, dynamics_365_business_central, dynamics_365_finance, sap_s4hana_cloud, sap_s4hana_on_premise, registered_adapter_edition
external_object_kindquickbooks_bill, xero_accpay, sage_apbill, netsuite_vendor_bill, dynamics_business_central_purchase_invoice, sap_supplier_invoice, sales_invoice, self_billing_statement, income_receipt, payout_reconciliation, export_only
accounting_treatmentcustomer_payable_bill, provider_issued_sales_invoice, lithi_self_billing_statement, other_income_receipt, payout_reconciliation_only, export_only
recipe_versionpattern ^v[1-9][0-9]{0,7}$
recipe_digestpattern ^[a-f0-9]{64}$
safe_external_referencepattern ^[A-Za-z0-9:._-]{1,256}$
mapping_digestpattern ^[a-f0-9]{64}$

The shared contract includes customer and provider records. Customer invoice mappings use commercial_flow: customer_payable, with accounting_treatment set to customer_payable_bill or export_only. The listed enum values do not make every combination valid; use the selected system's edition and object constraints.

Keep the recipe version and digest with the mapping digest when reconciling a record. A changed mapping must not silently replace the identity used for an earlier export. safe_external_reference is an external record reference, never a credential or invoice content.

Mapping is not posting authority

The public finance mapping endpoint acknowledges a separately authorized mapping version:

POST /v1/finance-mappings
scope: finance:write

The mapping operation does not authorize hosted ERP posting, payment, changing the invoice amount, changing a beneficiary, provider payout mutation, or widening account access.

A read-only finance credential cannot grant itself finance:write.

Dry-run first

Use Finance Sync for the complete human workflow, including the separate supported-apply and export-only paths. If apply is unavailable for the selected connection, export the reviewed projection and complete the external accounting action in the customer-owned system.

Keep payment independent

Mapping an invoice to an external accounting object does not pay it. An external Paid annotation is not Lithi payment truth until permitted payment evidence is reconciled to the Lithi invoice.

Use Invoices and payment for the payment journey.

Was this page helpful?