Skip to main content

Acumatica to iPaaS.com AR Invoice Mapping Documentation

How Acumatica AR invoices, credit memos, and debit memos are captured into iPaaS.com as Transactions, with their lines, taxes, and applied payments.

Summary

Acumatica AR invoices, credit memos, and debit memos are captured into iPaaS.com as Transactions using an Add/Update sync method. The integration reads each document with its lines, taxes, applied payments, and discounts, and builds a Transaction with the reference number, customer, Company, type, status, dates, and amounts, and keeps the open balance in a custom field. The lines, taxes, and applied payments are captured by child collections that run as part of the document transfer. Sales orders are captured separately by Add/Update Acumatica Sales Order TO iPaaS.com, and captured AR documents are not written back to Acumatica.

ID Format

Manual Sync ID Format

When manually transferring, enter the Acumatica document type and reference number joined with "|", for example Invoice|000002, Credit Memo|000010, or Debit Memo|000015.

External ID Format

iPaaS.com records the Acumatica reference number (RefNbr) of the document, for example 000002, as the external ID of the Transaction, the match for every later transfer. The document type is not part of it, so reference numbers must be unique across invoices, credit memos, and debit memos: two documents with the same number would update the same Transaction. Check the numbering sequences of the AR document types on the Acumatica Accounts Receivable Preferences (AR101000) form. The template also maps the reference number into TransactionNumber, which shows it on the Transaction and serves as a fallback match: a document that is not linked yet is linked to the one existing, unlinked Transaction with the same number (none is linked when several match). Remapping TransactionNumber to another value is supported, but it stops that fallback for documents already in iPaaS.com.

The children are linked as follows: each line by its Acumatica row id; each tax by the document's reference number and the Acumatica Tax ID, for example 000002|CAAVATAX; and each applied payment or credit memo by the invoice's reference number, the applied document's type, and its reference number, for example 000002|Payment|000123, because one payment can be applied to several invoices.

Deleted Record Support

Deleting a document in Acumatica is not sent to iPaaS.com as a delete, and delete mappings are not included in the default templates. A voided document is captured with the status Cancelled.

Custom Field Support

The shipped template maps two values to iPaaS.com custom fields, which must be configured in iPaaS.com for the values to be retained:

  • Acumatica Balance (Transaction): the document's Balance. After release it is the amount still owed, for example 25.00 on a 40.00 invoice with a 15.00 payment applied, and 0.00 once it is paid in full; before release it equals the document total.

  • Acumatica Account (Transaction Line): the GL sales account the line posts to, for example 40500. It shows what a line sent with a placeholder SKU was for.

The integration reads the standard fields of the AR document from the Acumatica Default web service endpoint; fields added to it by an Acumatica customization are not read.

Mapping Collection Status

Status: Enabled

Trigger Events: Acumatica does not push document changes to the integration. A document reaches iPaaS.com in two ways:

  • Invoice poll: on each scheduled poll, the integration reads the AR documents changed since the last invoice poll (by their last-modified time, in UTC) and sends each one to this collection. Invoices keep their own poll time, apart from sales orders. The first invoice poll on a subscription, when no earlier invoice poll time has been saved, only records its start time and does not pull existing documents.

  • Manual Sync: a subscriber can transfer a specific document on demand from the iPaaS.com Manual Sync page by entering its document type and reference number (see ID Format).

Duplicate or Conflicting Mappings

  • Add/Update Acumatica Sales Order TO iPaaS.com captures sales orders through the same poll. Its filter skips AR documents, and the AR Invoice filter skips sales orders.

  • Add/Update Acumatica Sales Order FROM iPaaS.com writes iPaaS.com Transactions of type Order into Acumatica as sales orders. Its filter skips the Invoice and Return Transactions this collection creates, so captured AR documents are not written back to Acumatica.

Collision handling: this collection does not use the Collision Handling Method setting. Duplicate handling is automatic: a document not linked yet is linked to the one existing, unlinked iPaaS.com Transaction with its reference number, and that Transaction keeps its own created date; when several match, none is linked and a new Transaction is created. On an existing Transaction, the document's lines, taxes, and payments are linked to the matching records already on it (lines by Sku, then quantity and line number; taxes by Authority; payments by amount and, when known, Method); only a single match is linked, otherwise the record is added. A line with no inventory item is always added, and a record linked only under ids that are not the document's current keys counts as not linked and is linked again.

Supported Child Collections

  • Add/Update Acumatica AR Invoice Line TO iPaaS.com: The document's lines.

  • Add/Update Acumatica AR Invoice Tax TO iPaaS.com: The document's taxes.

  • Add/Update Acumatica AR Invoice Payment TO iPaaS.com: The payments and credit memos applied to the document.

This integration captures no bill-to or ship-to address for AR documents, so there is no address child collection.

System Caveats

Acumatica Caveats

  • Total and balance: while a document is on hold, Acumatica's Amount holds only the control total typed by the user, often 0. The Total formula therefore takes the document's Balance while it is on hold and its Amount once it is off hold, so the Total is always the document total, including tax. The amount still owed after payments is kept in Acumatica Balance.

  • Status values: the Status formula compares Acumatica's own spelling of each document status, for example On Hold, Balanced, Open, Closed, and Voided. A status the formula does not list is captured as Pending.

  • Lines with no inventory item: AR invoices often carry lines with no inventory item, such as a service charge, a flat fee, freight, or a refunded fee. They are sent with the placeholder SKU MISC-CHARGE (see Mappings).

  • Non-stock items: AR invoice lines usually carry non-stock items, which Add/Update Acumatica Stock Item TO iPaaS.com does not transfer to iPaaS.com.

  • Credit memos: a credit memo applied to an invoice has no payment method in Acumatica; it is sent with the method Credit Memo. The credit memo itself is captured as a Return Transaction of its own.

iPaaS.com Caveats

  • Customer, Company, or email: iPaaS.com rejects a transaction with no customer, no Company, and no email (VALD-1002). This collection maps no email, so a document whose business account neither Add/Update Acumatica Customer TO iPaaS.com nor Add/Update Acumatica Company TO iPaaS.com captures is rejected.

  • Products: every line is captured with the type Product, and iPaaS.com requires each line's SKU to match an iPaaS.com product, or the whole document is rejected (NFND-1003). Create in iPaaS.com a product for every inventory item used on the lines, including non-stock items, and the placeholder product MISC-CHARGE.

  • Payment methods: every payment method sent with the applied payments, including Credit Memo, must exist in iPaaS.com as a Payment Method, or the document is rejected with VALD-1036.

  • Transaction types: iPaaS.com has no credit memo or debit memo type, so a credit memo is captured as a Return and a debit memo as an Invoice.

Setup Requirements

Acumatica Configuration

No Acumatica customization is needed. The integration reads AR documents through the standard Acumatica web service endpoint (Default) at the version set in the Version setting of your iPaaS.com Acumatica subscription. Keep the reference numbers of invoices, credit memos, and debit memos from overlapping (see ID Format).

iPaaS.com Configuration

  • Polling must be configured for the integration so that changed documents are captured on a recurring cadence; until it is, documents are captured only by a Manual Sync.

  • A product for every inventory item used on the invoice lines, and the placeholder product MISC-CHARGE, plus any other placeholder the Sku formula sends.

  • A Payment Method for every Acumatica payment method used on the applied payments (for example WEBCC or CHECK), and one named Credit Memo (for example with the payment type Store Credit).

  • The Acumatica Balance custom field on the Transaction and the Acumatica Account custom field on the Transaction Line.

  • The collections Add/Update Acumatica Customer TO iPaaS.com and Add/Update Acumatica Company TO iPaaS.com must be active, with filters that capture the accounts you invoice.

  • The child collections listed under Supported Child Collections must be active for lines, taxes, and payments to be captured.

Authentication & Security

The integration authenticates to the Acumatica instance with OAuth 2.0; the Acumatica company it works in is set by the Connected Application's Client Id. The full authentication walkthrough is covered in the Acumatica Connections and Settings and Acumatica Installation Instructions articles; this document does not repeat it.

Prerequisite Handling

Subscribers do not need to transfer a document's customer before the document: the integration handles it as part of the document transfer.

  • Business account first: when the document's business account (CustomerID) is not yet linked to an iPaaS.com Customer or Company, the account is transferred first through Add/Update Acumatica Customer TO iPaaS.com and then Add/Update Acumatica Company TO iPaaS.com. Their filters decide which one captures it, and their own duplicate handling links it to an existing record instead of creating a second one (see Acumatica to iPaaS.com Customer Mapping Documentation and Acumatica to iPaaS.com Company Mapping Documentation). An account that is already linked is not transferred again.

  • A failed account transfer blocks the document: if the account transfer fails with an error, the document transfer fails with error ACUM-EXTN-1006. Resolve the account error, shown with the document error in Dashboard / Integration Monitoring / Error Logs, then transfer the document again.

  • Existing Transaction: a document that is not linked yet is linked to the one existing, unlinked iPaaS.com Transaction with the same reference number. Whenever the document maps to an existing Transaction, its lines, taxes, and payments that are not linked yet are linked to the matching records on it (see Duplicate or Conflicting Mappings).

Integration Flow

  1. The invoice poll finds the document changed in Acumatica, or a subscriber runs a Manual Sync with its document type and reference number. The mapping filter decides whether the record is captured.

  2. The document is retrieved from Acumatica through the standard Default web service endpoint, with its lines, taxes, applied payments, and discounts, and the payment method of each applied payment is read.

  3. When the business account is not yet in iPaaS.com, it is transferred first through the Customer and Company collections.

  4. When the document is not yet linked, it is linked to the one existing, unlinked Transaction with the same reference number, if there is one. When the document maps to an existing Transaction, its children that are not linked yet are linked to the matching records on that Transaction.

  5. The Transaction is created in iPaaS.com, or updated when it is already linked, with its lines, taxes, and payments; a line removed from the document since the last transfer is removed from the Transaction, and a line added is added.

Mappings

Add/Update Acumatica AR Invoice TO iPaaS.com

iPaaS.com data type: Transaction

Mapping Filter

RecordType == "Invoice"

Filter Description. Acumatica sales orders and AR documents are both captured as iPaaS.com Transactions, so the integration marks each record with a RecordType: Invoice for an AR invoice, credit memo, or debit memo, and SalesOrder for a sales order. Only AR documents are processed; sales orders are skipped. The filter compares Acumatica's own spelling of each value. Conditions can be added, but the RecordType condition must stay in place, and iPaaS.com checks the filter against sales orders too, so add conditions only on fields both have, such as Status; for example RecordType == "Invoice" && Status != "Voided".

Description: Builds the iPaaS.com Transaction from the Acumatica AR document.

Mapping Type

Source Field (Acumatica)

Destination Field (iPaaS.com)

Description

Field

ReferenceNbr

TransactionNumber

Required. The Acumatica reference number, for example 000002; the document type is not part of it. Also the fallback match that links an unlinked document to an existing iPaaS.com Transaction with the same number.

Dynamic Formula

return SpaceportSystemId;

SystemId

Required. This subscription; iPaaS.com requires the system the transaction comes from. Keep as shipped.

Dynamic Formula

See the formula below the table.

CustomerId

Recommended. The iPaaS.com Customer linked to the document's business account.

Dynamic Formula

See the formula below the table.

CompanyId

Optional. The iPaaS.com Company linked to the document's business account; empty when the account is a Customer.

Dynamic Formula

See the formula below the table.

Type

Required. Return for a credit memo; Invoice for an invoice, a debit memo, or any other AR document.

Dynamic Formula

See the formula below the table.

Status

Required. Complete for Closed, Cancelled for Voided, Canceled, or Rejected, Processing for Open, and Pending for every other status.

Field

DiscountTotal

DiscountAmount

Optional. The sum of the document-level discounts; line discounts are carried on each line's DiscountAmount.

Field

TaxTotal

TaxAmount

Recommended. The document's tax total.

Field

LineTotal

Subtotal

Recommended. The sum of the line amounts after line discounts, before tax.

Dynamic Formula

See the formula below the table.

Total

Recommended. The document total, including tax: the Balance while on hold, otherwise the Amount.

Field

TotalQty

TotalQty

Optional. The sum of the line quantities.

Dynamic Formula

See the formula below the table.

TransactionCreatedDateTime

Recommended. The document date, in UTC.

Dynamic Formula

See the formula below the table.

TransactionUpdatedDateTime

Optional. When the document was last changed in Acumatica, in UTC.

Field

Balance

Acumatica Balance (custom field)

Optional. The amount still owed after release; the document total before release.

The CustomerId dynamic formula:

var customerId = await GetSpaceportIdAsync(CustomerID, "Customer", SpaceportSystemId);
if(customerId != null)
    return customerId;
return null;

The CompanyId dynamic formula:

var companyId = await GetSpaceportIdAsync(CustomerID, "Company", SpaceportSystemId);
if(companyId != null)
    return companyId;
return null;

The Type dynamic formula:

if (DocType == "Credit Memo")
    return "Return";
return "Invoice";

The Status dynamic formula:

if (Status == "Closed")
    return "Complete";
if (Status == "Voided" || Status == "Canceled" || Status == "Cancelled" || Status == "Rejected")
    return "Cancelled";
if (Status == "Open")
    return "Processing";
return "Pending";

The Total dynamic formula:

if (Hold == true)
    return Balance;
return Amount;

The TransactionCreatedDateTime dynamic formula:

if (Date == null)
    return null;
return new DateTimeOffset(DateTime.SpecifyKind(Convert.ToDateTime(Date), DateTimeKind.Utc));

The TransactionUpdatedDateTime dynamic formula:

if (LastModifiedDateTime == null)
    return null;
return new DateTimeOffset(DateTime.SpecifyKind(Convert.ToDateTime(LastModifiedDateTime), DateTimeKind.Utc));

Add/Update Acumatica AR Invoice Line TO iPaaS.com

iPaaS.com data type: Transaction Line

This child collection has no mapping filter; every line of the document is processed.

Description: Captures each document line.

Mapping Type

Source Field (Acumatica)

Destination Field (iPaaS.com)

Description

Dynamic Formula

See the formula below the table.

Sku

Required. The line's Inventory ID, or the placeholder MISC-CHARGE for a line with no inventory item. It must exist as a product in iPaaS.com, or the document is not captured.

Field

TransactionDescription

Description

Optional. The line description.

Field

Qty

Qty

Recommended. The invoiced quantity.

Field

UnitPrice

UnitPrice

Recommended. The unit price.

Field

ExtendedPrice

ExtendedPrice

Recommended. Unit price times quantity, before the line discount.

Field

DiscountAmount

DiscountAmount

Optional. The line discount amount.

Field

LineNbr

SequenceNumber

Optional. The Acumatica line number.

Dynamic Formula

"Product"

Type

Required. Product; keep as shipped.

Dynamic Formula

"Complete"

Status

Required. Complete: an invoice line has been billed.

Field

Account

Acumatica Account (custom field)

Optional. The GL sales account the line posts to.

The Sku dynamic formula:

if (string.IsNullOrWhiteSpace(InventoryID))
    return "MISC-CHARGE";
return InventoryID.Trim();

The formula can send a different placeholder per kind of line, keyed on the line's GL Account. For example, with a freight income account 40500 and a service income account 40600 (example account numbers; use the accounts from your Acumatica chart of accounts):

if (!string.IsNullOrWhiteSpace(InventoryID))
    return InventoryID.Trim();
if (Account == "40500")
    return "SHIPPING";
if (Account == "40600")
    return "SERVICE-FEE";
return "MISC-CHARGE";

Create each placeholder SKU, here SHIPPING, SERVICE-FEE, and MISC-CHARGE, as a product in iPaaS.com, and keep MISC-CHARGE as the last fallback so that no line is rejected.

Add/Update Acumatica AR Invoice Tax TO iPaaS.com

iPaaS.com data type: Transaction Tax

This child collection has no mapping filter; every tax of the document is processed.

Description: Captures each tax on the document, one per Tax ID.

Mapping Type

Source Field (Acumatica)

Destination Field (iPaaS.com)

Description

Field

TaxID

Authority

Recommended. The Acumatica Tax ID; also links a tax to a tax already on an existing Transaction.

Field

TaxAmount

Amount

Recommended. The tax amount.

Field

TaxRate

TaxPercent

Optional. The tax rate, as a percentage.

Add/Update Acumatica AR Invoice Payment TO iPaaS.com

iPaaS.com data type: Transaction Payment

This child collection has no mapping filter; every payment and credit memo applied to the document is processed.

Description: Captures each payment and credit memo applied to the invoice.

Mapping Type

Source Field (Acumatica)

Destination Field (iPaaS.com)

Description

Field

AmountPaid

Amount

Recommended. The amount applied to the invoice.

Dynamic Formula

See the formula below the table.

Method

Required. The applied payment's method, or Credit Memo for an applied credit memo; it must exist in iPaaS.com as a Payment Method (VALD-1036).

Field

Status

Status

Optional. The Acumatica status of the applied payment or credit memo.

Dynamic Formula

return DocType + " " + ReferenceNbr;

Description

Optional. The applied document's type and reference number, for example Payment 000123 or Credit Memo 000208.

The Method dynamic formula:

if (string.IsNullOrEmpty(PaymentMethod) && DocType == "Credit Memo")
    return "Credit Memo";
return PaymentMethod;

Error Handling

Errors appear in Dashboard / Integration Monitoring / Error Logs. For the full list of Acumatica error messages and codes, see Acumatica Error Messages.

  • AR invoice could not be located (ACUM-NFND-1012): the document type and reference number entered for a Manual Sync do not exist in Acumatica, or the value entered is not a document type and reference number. Resolution: check the document on the Acumatica Invoices and Memos (AR301000) form and transfer it again, for example as Invoice|000002.

  • The document's business account could not be transferred first (ACUM-EXTN-1006): the transfer of the document's account to iPaaS.com failed. Resolution: correct the account error shown with it, then transfer the document again.

  • Existing transaction could not be linked (ACUM-BIZL-1012) and existing transaction line, tax, or payment could not be linked (ACUM-BIZL-1013, 1015, and 1016): a matching iPaaS.com record was found, but the link to it could not be saved. The transfer stops rather than create a duplicate. Resolution: reprocess the document; if the error repeats, ask your MiSP to check the record named in the message.

  • No customer, Company, or email (VALD-1002): the document's business account was captured by neither the Customer nor the Company collection. Resolution: adjust their filters so that the account is captured, then transfer the document again.

  • A line's SKU is not an iPaaS.com product (NFND-1003): the document is not captured. Resolution: create the product in iPaaS.com, or the placeholder product for lines with no inventory item, then transfer the document again.

  • Payment method not valid (VALD-1036): an applied payment's method, or Credit Memo, does not exist in iPaaS.com. Resolution: create the Payment Method in iPaaS.com, or convert the method in the Method formula, then transfer the document again.

If Acumatica is temporarily unavailable during a transfer, the transfer fails and an error appears in Dashboard / Integration Monitoring / Error Logs; reprocess the document from the Error Logs or transfer it again with a Manual Sync.

Testing & Validation

Test Scenarios

  1. Run a Manual Sync of an invoice on hold with two lines and verify the Transaction's number, type (Invoice), status (Pending), customer, amounts, and dates, and its lines in iPaaS.com.

  2. Change a line quantity, remove a line, and add a line in Acumatica, transfer the invoice again, and confirm the same Transaction is updated and its lines follow the document.

  3. Run a Manual Sync of a credit memo and confirm a Return is captured; run one of a debit memo and confirm an Invoice is captured.

  4. Release an invoice, apply a partial payment, and confirm the status becomes Processing, the Total stays the document total, and Acumatica Balance shows the amount still owed; pay it in full and confirm the status becomes Complete.

  5. Apply a credit memo to an invoice and confirm the invoice is captured with a Credit Memo payment.

  6. Transfer an invoice with a line that has no inventory item and confirm the line is captured with MISC-CHARGE and its account in Acumatica Account.

  7. Run a Manual Sync of a reference number that does not exist and confirm ACUM-NFND-1012 appears in Dashboard / Integration Monitoring / Error Logs.

Validation Checklist

  • Polling is configured for the integration.

  • Every inventory item used on the invoice lines exists in iPaaS.com as a product, and MISC-CHARGE exists.

  • Every Acumatica payment method used on the applied payments, and Credit Memo, exists in iPaaS.com as a Payment Method.

  • The Acumatica Balance and Acumatica Account custom fields are configured.

  • The Customer and Company collections are active, with filters that capture the accounts you invoice.

  • Any condition added to the mapping filter keeps the RecordType condition and uses fields that sales orders have too.

Additional Notes

  • Bulk initialization is not available for this collection; documents are captured by the invoice poll as they change, or by Manual Sync.

  • The child collections run with the parent; lines, taxes, and payments cannot be transferred on their own.

  • Customer payments are captured only as payments applied to an invoice, not as Transactions of their own.

At the time this documentation was written:

  • First invoice poll: the first invoice poll on a subscription does not pull documents that already exist in Acumatica; send those with a Manual Sync if they are needed in iPaaS.com.

  • Reference numbers across document types: a document is linked by its reference number alone, so an invoice and a credit memo with the same number would update the same Transaction.

Related Documents

Related Mapping Documentation

Did this answer your question?