Loopfour
Integrations

Sage Intacct actions

Reference for the Sage Intacct actions: the connection type, each action and what it does, its inputs and outputs, and the live catalog call.

The Sage Intacct block creates and reads accounts receivable, accounts payable and general ledger records through the Intacct XML gateway. For the plain-language overview, see Sage Intacct.

When to use it

Use a Sage Intacct step to create and post customer invoices, enter vendor bills, record AR and AP payments, post journal entries, or read records with a query.

Connection

ItemValue
Block typesage-intacct (the older id sageIntacct still resolves to it)
ConnectionConnected from Integrations (provider id sage-intacct)
Account pinconfig.connection, the connection row id. Without it the step uses the company's default Sage Intacct connection

Actions

The action id is sage-intacct.<action>. The executors themselves require only the record id on get, update and post actions, and object on query. Sage Intacct validates the other fields, so the "Main config" column lists what Intacct needs in practice.

ActionIn Studio listRunsWhat it doesMain config
createInvoiceYesYesCreate an AR invoicecustomerId, lineItems
getInvoiceYesYesRead an AR invoiceinvoiceId
createCustomerYesYesCreate a customercustomerId, name
queryYesYesRead records of one object with readByQueryobject
createPaymentYesNoNo executor; a step with this action failsUse createArPayment or createApPayment
getPaymentYesNoNo executor; a step with this action failsUse query on the payment object
postInvoiceNoYesSet an AR invoice's state to PostedinvoiceId
listInvoicesNoYesList AR invoicesNone
getCustomer, updateCustomer, listCustomersNoYesRead and maintain customerscustomerId (get, update)
getBill, createBill, listBillsNoYesAP billsbillId (get); vendorId, lineItems (create)
getVendor, createVendor, listVendorsNoYesVendorsvendorId (get)
createArPaymentNoYesRecord a customer payment and apply it to invoicescustomerId, bankAccountId or undepositedFundsAccount, invoices
createApPaymentNoYesRecord a vendor payment against billsvendorId, bankAccountId, bills
createJournalEntryNoYesPost a GL journal entrylines
listJournalEntriesNoYesList journal entriesNone
getAccount, listAccountsNoYesChart of accountsaccountNo (get)
getProject, createProject, listProjectsNoYesProjectsprojectId (get)

Actions marked "No" in the Studio list run when a workflow definition names them, but they are not in GET /api/v1/blocks/sage-intacct, and POST /api/v1/workflows/validate reports them as UNKNOWN_OPERATION.

The Studio form and the executor

The Studio form writes Record Fields (JSON) as fields and Query as query. The executors read flat fields instead (customerId, lineItems, name and so on) and the query action reads object, fields, filter, orderBy and pageSize. Set the executor fields in the workflow definition. Get Invoice is the Studio action that works as the form fills it in.

Fields

ActionFields
createInvoicecustomerId, invoiceDate, dueDate, paymentTerm, invoiceNumber, poNumber, description, currency, exchangeRateType, lineItems[] (accountNumber, amount, memo, locationId, departmentId, projectId, customerId, vendorId, itemId, quantity, price)
createBillvendorId, billDate, dueDate, billNumber, vendorDocNumber, paymentTerm, description, currency, lineItems[]
createArPaymentcustomerId, paymentMethod, bankAccountId, undepositedFundsAccount, receiptDate, referenceNumber, invoices[], overpaymentAmount, overpaymentLocationId
createApPaymentvendorId, paymentMethod, bankAccountId, paymentDate, documentNumber, description, bills[]
createJournalEntryjournal (default GJ), batchDate, reverseDate, description, lines[] (accountNumber, type where 1 is a debit and -1 a credit, amount, description, locationId, departmentId, projectId, customerId, vendorId, classId)
query, list actionsobject (query only), fields (default *), filter, orderBy (query only), pageSize (default 100)
Get actionsThe record id plus optional fields

createJournalEntry does not check that debits equal credits before sending; Sage Intacct rejects an unbalanced entry.

Output

The step output is the Sage Intacct XML gateway response as returned through the connection.

Example

{
  "id": "post_reclass",
  "type": "action",
  "name": "Post reclass entry",
  "action": "sage-intacct.createJournalEntry",
  "config": {
    "connection": "<sage-intacct-connection-id>",
    "journal": "GJ",
    "batchDate": "{{input.batchDate}}",
    "description": "Reclass prepaid software",
    "lines": [
      { "accountNumber": "6500", "type": 1, "amount": 1200, "description": "Software expense", "departmentId": "FIN" },
      { "accountNumber": "1400", "type": -1, "amount": 1200, "description": "Prepaid software", "departmentId": "FIN" }
    ]
  }
}

Live catalog

GET /api/v1/blocks/sage-intacct returns the Studio fields and the six Studio actions. See Block and action discovery.

Errors and limits

  • A step with createPayment or getPayment fails because no executor is registered under those names.
  • object is required: the query action needs the Intacct object name, for example ARINVOICE.
  • Intacct errors come back inside the XML response.

On this page