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
| Item | Value |
|---|---|
| Block type | sage-intacct (the older id sageIntacct still resolves to it) |
| Connection | Connected from Integrations (provider id sage-intacct) |
| Account pin | config.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.
| Action | In Studio list | Runs | What it does | Main config |
|---|---|---|---|---|
createInvoice | Yes | Yes | Create an AR invoice | customerId, lineItems |
getInvoice | Yes | Yes | Read an AR invoice | invoiceId |
createCustomer | Yes | Yes | Create a customer | customerId, name |
query | Yes | Yes | Read records of one object with readByQuery | object |
createPayment | Yes | No | No executor; a step with this action fails | Use createArPayment or createApPayment |
getPayment | Yes | No | No executor; a step with this action fails | Use query on the payment object |
postInvoice | No | Yes | Set an AR invoice's state to Posted | invoiceId |
listInvoices | No | Yes | List AR invoices | None |
getCustomer, updateCustomer, listCustomers | No | Yes | Read and maintain customers | customerId (get, update) |
getBill, createBill, listBills | No | Yes | AP bills | billId (get); vendorId, lineItems (create) |
getVendor, createVendor, listVendors | No | Yes | Vendors | vendorId (get) |
createArPayment | No | Yes | Record a customer payment and apply it to invoices | customerId, bankAccountId or undepositedFundsAccount, invoices |
createApPayment | No | Yes | Record a vendor payment against bills | vendorId, bankAccountId, bills |
createJournalEntry | No | Yes | Post a GL journal entry | lines |
listJournalEntries | No | Yes | List journal entries | None |
getAccount, listAccounts | No | Yes | Chart of accounts | accountNo (get) |
getProject, createProject, listProjects | No | Yes | Projects | projectId (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
| Action | Fields |
|---|---|
createInvoice | customerId, invoiceDate, dueDate, paymentTerm, invoiceNumber, poNumber, description, currency, exchangeRateType, lineItems[] (accountNumber, amount, memo, locationId, departmentId, projectId, customerId, vendorId, itemId, quantity, price) |
createBill | vendorId, billDate, dueDate, billNumber, vendorDocNumber, paymentTerm, description, currency, lineItems[] |
createArPayment | customerId, paymentMethod, bankAccountId, undepositedFundsAccount, receiptDate, referenceNumber, invoices[], overpaymentAmount, overpaymentLocationId |
createApPayment | vendorId, paymentMethod, bankAccountId, paymentDate, documentNumber, description, bills[] |
createJournalEntry | journal (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 actions | object (query only), fields (default *), filter, orderBy (query only), pageSize (default 100) |
| Get actions | The 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
createPaymentorgetPaymentfails because no executor is registered under those names. object is required: thequeryaction needs the Intacct object name, for exampleARINVOICE.- Intacct errors come back inside the XML response.
Rillet actions
Reference for the Rillet actions: the connection type, each action and what it does, its inputs and outputs, and the live catalog call.
Salesforce actions
Reference for the Salesforce actions: the sign-in connection, each action id, the fields each executor reads, outputs, and a complete query example.
Loopfour