Sage Intacct in Agent Builder
Give an agent its own Sage Intacct connection, then list or draft invoices, bills, customers, vendors and projects, with 26 actions. Invoices, bills and payments stay drafts until you submit them.
Checked against the app on
What the Sage Intacct step does
The Sage Intacct step lets an agent read and write the sales and purchase records on one Sage Intacct company. It can list and open invoices, customers, receipts, bills, vendors and projects, and it can create or update them. Each step does one thing, picked from 26 actions, and hands what Sage sends back to the next step. A list hands on one item per record, so a later step can email a summary or, inside a Loop, raise one bill per purchase order.
Build modular AI workflows with reusable nodes
Job finished
Job status changed
Read the job
Get job
Draft the invoice
Create invoice
Email accounts
1 action enabled
- 1Sage Intacct in the Integration group of the Nodes panel.
- 2The step on the canvas. Its summary shows the action, Create invoice.
- 3Connection: the Sage Intacct company this agent uses, shown by its company ID.
- 4Endpoint: the action the step performs, chosen from the full list.
- 5The action's fields. The customer id is fixed. The reference comes from the BigChange REST step before it. The submit checkbox is off, so the invoice stays a draft.
Centrus works alongside Sage Intacct. Invoices, bills, customers and vendors stay in Sage. Nothing on this step deletes a record, and a new invoice, bill or payment stays a draft until you tick the submit checkbox on that action. A draft payment is not posted cash. Recurring invoices and recurring bills are different: those actions create the schedule itself. For asking questions in chat, which uses a separate organisation connection, see Sage Intacct in chat. How every connection on the Integrations page is organised is in Integrations overview.
Add the step
Open the agent in Agent Builder and find Sage Intacct in the Integration group of the Nodes panel, under JobLogic and above Xero. Drag it onto the canvas and connect the step before it to its left-hand side. Until you choose an action, its summary on the canvas reads No endpoint selected.
Read the job
Get job
Sage Intacct
No endpoint selected
- 1Sage Intacct in the Integration group. Drag it onto the canvas.
- 2The new step. It reads No endpoint selected until you choose an action in its Details panel.
On a phone, Agent Builder shows the canvas only. The Nodes panel is hidden on screens narrower than 768 pixels and the Details panel on screens narrower than 1,024 pixels, so you can follow an agent's steps on a phone but need a tablet or computer to add a Sage Intacct step or change its settings.

Build modular AI workflows with reusable nodes
Job finished
Job status changed
Read the job
Get job
Draft the invoice
Create invoice
Email accounts
1 action enabled
Connect the step
The Sage Intacct connection belongs to this agent alone. It is separate from any Sage Intacct connection in chat, and separate from a BigChange connection on the same agent, so connecting one does not connect the other. One Sage Intacct connection covers every Sage Intacct step in the agent, so you only connect once per agent. It does not cover a BigChange webhook or a Schedule trigger. Those start the run. This step is what talks to Sage.
The connect window always shows six boxes: Company ID, Sender ID, Sender password, Web Services user ID, Web Services password and Entity ID. The help line on the window tells you where they live in Intacct. You need the Web Services subscription turned on, the sender ID added under Company, then Security, then Web Services authorizations, and a Web Services user created under Company, then Admin, then Web Services users. Sage issues the sender password with the Web Services developer licence. The user password is emailed when that user is created. The company ID is your Intacct company ID. Entity ID is only meaningful for a company with more than one entity. The chat window can hide the sender boxes when Centrus holds the sender licence, and it can leave Entity ID blank. This step's window does neither. If you do not have these values, ask the person who administers Sage Intacct.
- 1Save the agent with Save draft. Until it has been saved once, the Connection section reads Save this workflow as a draft first, then connect the account. and Connect is greyed out.
- 2Select the Sage Intacct step. In the Details panel, open Connection and click Connect.
- 3In the Connect Sage Intacct window, fill in all six boxes, then click Connect. The window will not continue while any box is empty. An empty box comes back as that box's name followed by is required, for example Entity ID is required, and nothing is saved.
- 4Centrus asks Sage for a session with those values. If Sage accepts them, a notice reads Sage Intacct connected to this agent, and Connection reads Connected, followed by the company ID.
Not connected
Save this workflow as a draft first, then connect the account.
Not connected
Connect your Sage Intacct account to use this node.
Connected · MeridianFM
DisconnectConnect Sage Intacct
Enter Sage Intacct Web Services credentials for this agent. You need a sender ID (Web Services developer licence from Sage), your company ID, and a Web Services user. In Intacct: enable the Web Services subscription, add the sender ID under Company → Security → Web Services authorizations, and create the Web Services user under Company → Admin → Web Services users. The sender password is issued by Sage with the licence; the user password is emailed when the user is created.
1Connect Sage Intacct
Enter Sage Intacct Web Services credentials for this agent. You need a sender ID (Web Services developer licence from Sage), your company ID, and a Web Services user. In Intacct: enable the Web Services subscription, add the sender ID under Company → Security → Web Services authorizations, and create the Web Services user under Company → Admin → Web Services users. The sender password is issued by Sage with the licence; the user password is emailed when the user is created.
- 1Where the sender ID, the company ID and the Web Services user come from.
- 2Copy from existing agent, for reusing a connection you made on another agent.
- 3The six values. Both passwords are hidden as you type them. Every box has to contain something before Connect will try them.
- 4Connect checks the values with Sage, then saves them on this agent.
- 5The agents you can copy from, each with its company ID.
The placeholder on Entity ID says it is optional, but the window still refuses to connect until that box has a value. Sage is then asked for a session at that entity. A company with a single entity may not have an entity ID. If the value is one Sage does not recognise, the notice is Could not verify Sage Intacct credentials, and it does not say which box was wrong. The same notice covers a wrong password, a sender Sage has not authorised, and a company ID that does not match. Nothing is saved, and the window stays open.
Reusing a connection. If you have already connected Sage Intacct on another agent you created, choose that agent under Copy from existing agent. Centrus fills in the boxes from it, and you click Connect to save them on this agent. The list only shows agents you created that are not archived and have a Sage Intacct connection, so an agent someone else shared with you never appears. When there are none, the box reads No other agents with this connection. If the copy itself fails, the message is Could not copy credentials from that agent.
Sharing and copying the agent. When you share an agent, its Sage Intacct connection stays with it, and everyone who runs it uses that connection rather than their own. When you duplicate an agent, the steps are copied but the connection is not, so connect Sage Intacct again on the copy. Copy from existing agent makes that quick. For the details, see Share an agent.
Disconnecting. Disconnect removes the credentials from this agent only. A notice reads Sage Intacct disconnected from this agent. Its Sage Intacct steps stop working until someone connects it again. Other agents keep their own connections, and a BigChange connection on this agent is left as it is. Chat keeps its own Sage Intacct connection too.
Choose an action
Select the step and open Endpoint in the Details panel. The section's own line reads Choose the Sage Intacct action. Reads, creates, and updates for invoices, bills, customers, vendors, projects, and recurring schedules. Invoices, bills, and payments stay drafts unless post is true. Draft payments are not posted cash. There is no delete. Endpoint tool type holds all 26 actions in one list that starts with List invoices. The list has no search box and no headings, so the tables at the end of this guide are the quickest way to find the exact name you need.
Choose the Sage Intacct action. Reads, creates, and updates for invoices, bills, customers, vendors, projects, and recurring schedules. Invoices, bills, and payments stay drafts unless post is true. Draft payments are not posted cash. There is no delete.
Select an endpoint to configure its inputs.
Choose the Sage Intacct action. Reads, creates, and updates for invoices, bills, customers, vendors, projects, and recurring schedules. Invoices, bills, and payments stay drafts unless post is true. Draft payments are not posted cash. There is no delete.
Create a draft AR invoice. Stays a draft unless post is true.
2- 1Endpoint tool type, open. Scroll for the action you want. The list starts with the reads.
- 2A line on what the chosen action does. Here a new invoice stays a draft unless you submit it.
- 3Who fills in the fields. Keep Set endpoint fields here.
Keep Set endpoint fields here. Let AI populate endpoint fields hides the fields so that an AI can fill them, but on a step in the agent's main flow nothing fills them in when the step runs. To have an AI choose the values, attach the step to an AI step as a tool instead, as described below.
Each action then shows its own fields in a box titled with the action's name. The label on a field is the first sentence of its description, and a required field has an asterisk. The line under the box is the rest of that description. Create invoice needs a customer business id, an invoice date and the lines. You also need a due date or a payment term. The window does not mark those two with an asterisk, but Sage refuses the invoice without one of them, and the message names the fields dueDate and termName. Dates in these boxes are written year first, so 09/10/2026 is 2026-10-09. Leave the checkbox When true, submit the document unticked and the invoice stays a draft. Tick it and Sage submits the document. There is no separate submit action later.
The customer box is labelled Customer business id (CUSTOMERID), not the record key. That is the id you gave the customer in Sage, such as NGH-014 for Northgate Housing, not the record key you would paste into Get invoice. A bill uses the same idea for the vendor: Vendor business id (VENDORID), not the record key. Get invoice, Get bill, Get customer, Get vendor, Get AR payment and Get project take that record key, and it is text, so a reference from an earlier step survives. The label on the key box stops at the letters e.g, because the sentence is cut at the first full stop. The line under the box still has the rest, including the warning not to treat the key as a number.
To use a value from an earlier step, open Step data references at the top of the Details panel and click a field to copy its reference, then paste it into a text field. In the overview agent, Optional reference or PO number holds the job reference from Read the job, written {{ steps.integration-bigchange_rest-1791540900000-2.json.reference }}. Fan-out page cap and Default 100 are number fields, so a reference pasted into either is turned into a number and lost. Use a text field for a value from an earlier step, or type the page size as a plain number.
Create a draft AR invoice. Stays a draft unless post is true.
Downstream nodes can read this step as {{ steps.integration-sage-1791540900000-3.json.field }}
Paste references into subject, body, field paths, or expressions. Run the workflow once to see real field names in the Runs panel.
Earlier steps
Read the job
BigChange REST · integration-bigchange_rest-1791540900000-2
Run trigger
triggeredAtQuery AR invoices with due date, state, amount due, and customer.
Create a draft AP bill. Stays a draft unless post is true.
- 1A text field holding a reference to the job's reference.
- 2Step data references. Click a field to copy its reference.
- 3A number field. It takes a fixed number but not a reference. 100 is the most one page will return.
Invoice lines, or a JSON array string is where the amounts go. It is a text box. Each line needs an amount and either a GL account or an account label. The line under the box names those as txnAmount, glAccount and accountLabel. A short draft for the Riverside House boiler service looks like [{"txnAmount":"186.00","accountLabel":"Service income"}]. The same shape is used on bills. Inside a Loop, the vendor or customer box can hold a reference to the current item, such as {{ item.json.reference }}, because those boxes are text. A bill with When true, submit the document ticked is submitted. Left unticked, it stays a draft.
What the step passes on. A list action passes on one item per record, and its summary reads Found followed by the count, for example Found 4 invoices. Six outstanding invoices become six items. Get invoice and the other get actions pass on one item, the record itself. A create or update passes on one item, including the new record key. Later steps reach their fields through Step data references, and an AI step reads all of the items together. To create one bill or one invoice for each item, put that step inside a Loop, described in Conditions, loops and approvals.
As a tool for an AI step. Connect a Sage Intacct step to the Tools side of an Intelligence step and its Details panel changes. Instead of one endpoint, Actions lets you choose several, with a search box, and the AI decides when to call each one and fills in the fields itself. The step's summary on the canvas lists up to three actions, then shows the first one and a count if there are more.
Job finished
Job status changed
Write the invoice
Draft lines
Invoice tools
Get customer, Create invoice
- 1The Sage Intacct step attached to the Intelligence step as a tool.
- 2Actions: the Sage Intacct actions the AI may call. These two are a lookup and a draft, not a long list.
- 3Pause for approval: each call the AI makes waits for someone to approve it in the Runs panel.
Pause for approval appears on every Sage Intacct step but only applies to calls an AI makes, so it has no effect on a step in the main flow. To ask someone before a main-flow step changes Sage, put an Approval step in front of it. Do not give an Intelligence step the long lists (List invoices, List customers, List AR payments, List bills, List vendors or List projects). Centrus warns you, because the whole list would be loaded into the AI. Use the Ingest step for those, as described under Limits and good to know.
Start an agent from another system's alert
Sage Intacct has no trigger of its own. Nothing in the Trigger group listens to Sage. An agent that should run when something happens in another system starts with that system's trigger, then a Sage Intacct step. The two patterns you will use are a BigChange webhook, for one record at a time, and a Schedule, for a list on a weekday morning. Setting up the BigChange webhook, the full list of events, and what each event contains are covered in BigChange REST in Agent Builder. The general picture for every system that does have its own alert is in Start an agent from a system alert.
Job finished
Job status changed
Draft the invoice
Create invoice
- 1Connection on the BigChange webhook. This is the BigChange REST connection, not Sage Intacct. Sage Intacct has no trigger of its own.
- 2Event types: the events that start a run. Only Job status changed is ticked.
- 3Set this up in BigChange: the steps to follow in BigChange and the address to paste there.
- 4Simulate webhook: runs the agent once with a sample alert. A Sage Intacct write in the steps after it still changes Sage.
What the Sage Intacct step should read from the alert. The trigger hands on data.entityId, the ID of the BigChange record that changed. That ID is not a Sage record key. The usual pattern is a BigChange REST Get job in between, with the job id set to {{ trigger.json.data.entityId }}, and then a text field on the Sage step, such as Optional reference or PO number, set to the job reference that Get job returned. The Sage customer business id is not on that alert. Put it in the customer box yourself, or have an earlier step supply the id you store for that customer, such as NGH-014 for Northgate Housing.
A Schedule does not carry a record. Use it when the Sage step should look something up on its own, such as List invoices every Monday. A simulated BigChange alert is a real run: Create invoice with the submit checkbox ticked does change Sage, and the run uses credits. Alerts and schedules only start runs once the agent is published. Simulate webhook and Run now work on drafts. BigChange does not have a Sage-style approved event for a purchase order. The purchase order events are Purchase order created, Purchase order modified and Purchase order deleted. A weekly list of orders, then a Loop, is the way to post one bill per order.
Example agents
Job finished
Job status changed
Read the job
Get job
Draft the invoice
Create invoice
Email accounts
1 action enabled
Draft invoice on job complete raises a draft sales invoice when a visit is finished. Job finished is a BigChange webhook with Job status changed ticked, and the status filter in BigChange set to the completed statuses. Read the job uses Get job, so the agent has the site and the job reference, for example J-10482 for a boiler service at Riverside House for Northgate Housing. Draft the invoice uses Create invoice with the customer business id NGH-014, the invoice date written year first, the job reference in Optional reference or PO number, one line for £186.00, and the submit checkbox left off. The invoice waits in Sage as a draft until someone submits it there, or until you tick that checkbox. Email accounts tells the accounts team the draft is waiting. Each finished job costs four credits. The agent needs both a BigChange REST connection, for the webhook and Get job, and the Sage Intacct connection.
Monday at 08:00
Weekly · Mon at 08:00
Outstanding invoices
List invoices · outstanding
Write the summary
Aged debtors
Email accounts
1 action enabled
Weekly aged debtors emails Liam Carter in accounts at 08:00 every Monday. Outstanding invoices uses List invoices with the outstanding checkbox ticked, so the items are invoices that are posted, partly paid or selected and still have an amount due. Paid, draft and reversed invoices are left out. Write the summary reads those items together and drafts a short note of who owes what, such as Northgate Housing at £1,240.00 due on 02/10/2026. Email accounts sends that one email. The list costs 1 credit however many rows come back. The list stops after five pages of 100, and the outstanding tick is applied to the rows already fetched, so a long book can be missing debtors. For the full book, use Ingest, described under Limits and good to know.
Monday at 07:30
Weekly · Mon at 07:30
This week's orders
List purchase orders
Each order
Batch size 1
Post the bill
Create bill
Email accounts
1 action enabled
Bills for sent orders posts one supplier bill for each purchase order raised that week. BigChange does not send an event called approved. A purchase order carries sent, received and cancelled times, and List purchase orders can be limited by the dates it was created. This week's orders uses that list. Post the bill sits inside a Loop so it runs once per order, with the vendor business id taken from the current item, a due date or a payment term, the lines for that order, and When true, submit the document ticked. Ticking it submits the bill. Leaving it off would leave a draft, which is not a cleared payment either. Put a Condition in front of the Sage step if a cancelled order should be skipped. Email accounts sends one note when the loop has finished. The list costs 1 credit. Each bill costs another credit, so twelve orders cost twelve credits for that step.
Test before it goes live
A dry run is the safe way to try a Sage Intacct step. Open Runs in the toolbar, click Run now and choose Dry run (no actions performed). Read actions such as List invoices, Get invoice and List bills call Sage for real, so you see real rows. Write actions, such as Create invoice, Create bill, Record AR payment and Create recurring invoice, are skipped, and nothing in Sage changes. Run for real performs every action, including the writes. A recurring invoice or recurring bill is the schedule itself, not a draft, so try those with a dry run before you publish.
Runs
Each run executes the workflow node-by-node. Select a run to follow its steps.
Triggered
Fetched job J-10482
DRY RUN: would create the invoice (not performed)
2Step output
{
"dryRun": true,
"customerId": "NGH-014",
"invoiceDate": "2026-10-09",
"referenceNumber": "J-10482",
"post": false
}- 1The dry run, started with Run now.
- 2The step's summary: the invoice was not created.
- 3The output: the draft the step would have sent, with submit left off.
Open a step in the run to see its output. A list's summary is Found followed by the count. The panel shows the first 50 items of each output, and later steps still receive all of them. A dry run costs 1 credit for the whole run. A simulated BigChange alert is not a dry run, so test write actions with Run now first. For Run now, dry runs and the Runs panel in full, see Test an agent before it goes live.
Costs
A Sage Intacct step costs 1 automation credit each time it runs successfully, whatever the action and however many rows come back. A step that fails costs nothing. When the step is a tool, each call the AI makes costs 1 credit. Sage Intacct has no trigger. A run started by the BigChange webhook, or by a schedule, still costs 1 credit for the run, like any other run, and the trigger itself is free. An Intelligence step that writes the email is charged on top, at least 2 credits, and varies with the length of the summary.
Draft invoice on job complete
Every run
When the alert starts it
Read the job
BigChange REST, one call
Draft the invoice
Sage Intacct, one draft
Email accounts
Outlook
Each run
4
The BigChange webhook trigger itself is free. Create invoice costs 1 credit whether the invoice is left as a draft or submitted.
Bills for sent orders
Every run
When the schedule starts it
This week's orders
BigChange REST, one list
Post the bill
Sage Intacct, once per order in a Loop
Email accounts
Outlook
Each run
3, plus 1 per order
Twelve orders means twelve bills, and twelve credits for that step. One list stays 1 credit however many rows it returns.
Inside a Loop, the step is charged on every pass, so a Loop over 40 purchase orders that posts a bill for each one costs 40 credits for that step. A single list action is usually cheaper than fetching records one at a time, but a create still has to run once per record. For allowances, limits and how to see what each run cost, see Automation credits and usage limits.
Limits and good to know
Query AR invoices with due date, state, amount due, and customer.
This node always uses the agent's own connection, even though the workflow is set to per-user integration mode. Sage Intacct doesn't support per-user credentials.
Connected · MeridianFM
Disconnect- 1List invoices. The date window is a key such as last_30_days. The outstanding box is applied after the pages are fetched. Five pages of 100 is the default cap.
- 2The note shown when the agent is in per-user integration mode.
- Pages of 100, five by default. List invoices, List customers, List AR payments, List bills, List vendors and List projects return at most 100 rows a page. Default 100 will not go higher. Fan-out page cap defaults to 5, so a list step stops at 500 rows unless you raise it. It will not go past 500 pages. When more rows exist, the result is marked truncated.
- Outstanding is applied after the fetch. The checkbox Keep posted/partiallyPaid/selected invoices with amount due keeps posted, partly paid and selected invoices that still have an amount due, and leaves out paid, draft and reversed. It filters the pages already fetched. A busy company can fill those five pages with newer invoices and never see older debt. The same pattern applies to bills. Use the Ingest step for a wide book, described under Large lists.
- Dates are year first. Invoice, bill, due, receipt and payment dates are written as 2026-10-09. A date window is a key the box names, such as this_week or last_30_days. On invoices the date filter uses the due date unless you change it. Leave the window empty when you want the outstanding box to see every page the cap allows, not only the last 30 days.
- Drafts, except the schedules. Create invoice, Update invoice, Create bill and Update bill stay drafts unless When true, submit the document is ticked. Record AR payment and Record AP payment are drafts unless that checkbox is ticked, and a draft is not posted cash. Create recurring invoice and Create recurring bill create the schedule immediately. There is no draft, and there is no delete on any action.
- Projects can be switched off. List projects comes back empty when the company has no Projects module, and the run continues. Get project comes back without a project in the same case. Create project fails if the module is off. The category box asks for contract, capitalized, internalNonBillable or internalBillable.
- One entity on the connection. Entity ID on the connect window is sent as the location for the session. Each action also has an optional entity box, labelled only Optional, which overrides the connected entity for that call. The label is cut at the first full stop.
- 60 seconds. A call is given 60 seconds. After that the step fails with Sage Intacct request failed.
- Per-user integration mode. Sage Intacct only works with the agent's own connection. In per-user mode the Connection section says the step still uses that connection, because Sage Intacct has no per-user credentials. Keep agents that use it on the agent's own connection.
- Two connections for a job agent. A draft invoice started from a finished job needs BigChange REST for the webhook and for Get job, and Sage Intacct for the invoice. Connecting one does not connect the other, and connecting Sage in chat does not connect this step.
- Keys stay text. Record keys are strings. Do not turn them into numbers. Number fields such as Fan-out page cap and Default 100 cannot hold a reference. Text fields such as the customer business id, the vendor business id and the record key can.
When it does not work
No output recorded.
Sage Intacct is not connected to this agent
No output recorded.
Stored Sage Intacct password is invalid. Please reconnect.
- 1The agent has no Sage Intacct connection.
- 2The saved password can no longer be read.
- Sage Intacct is not connected to this agent. Open the step's Connection section and click Connect. If you have duplicated the agent, the copy needs its own connection. A Sage Intacct connection in chat does not count, and neither does a BigChange connection on the same agent.
- Company ID is required, or the same sentence for Sender ID, Sender password, Web Services user ID, Web Services password or Entity ID. Connect refuses to try until every box has a value, including Entity ID. Fill the empty box. A single-entity company still has to put a value Sage will accept in Entity ID.
- Could not verify Sage Intacct credentials. Sage did not accept the six values, or the request did not complete in a way Centrus repeats. A wrong password, a sender that has not been authorised, a bad company ID and a bad entity ID all look the same. Check them with your Sage administrator, then try Connect again. Nothing was saved.
- Sage Intacct sender ID is not configured. Neither the boxes nor the sender Centrus holds could be used. Fill in Sender ID and Sender password from the Web Services licence, and make sure that sender is authorised in Intacct.
- Stored Sage Intacct password is invalid. Please reconnect. Centrus cannot read the saved user password. The same sentence with sender password means that saved secret cannot be read. Disconnect, then connect again.
- Sage Intacct credentials are incomplete. Please reconnect. The saved connection is missing the company ID, the Web Services user or the password. Disconnect and connect again.
- key is required. A get action ran without a record key. Paste the key, or a reference to it, into the key box.
- Sage Intacct dueDate or termName is required. Create invoice or Create bill had neither a due date nor a payment term. Fill Due date, yyyy-mm-dd or Payment term name. The customer, vendor, date and lines messages use the same shape, with the field's internal name.
- Sage Intacct financialEntity or undepositedAccountNo is required. Record AR payment needs a bank account or an undeposited funds account. Record AP payment always needs the bank, savings or charge-card id in Bank, savings, or charge-card id the payment is paid from.
- No action selected. The step has no action yet. Choose one under Endpoint tool type.
- An alert never starts the agent. Sage Intacct does not listen for alerts. Check the BigChange webhook or the Schedule on the same agent: the agent must be published, and a webhook must have its event type ticked and be added in BigChange. See BigChange REST in Agent Builder.
- No other agents with this connection. None of the agents you created has a Sage Intacct connection. Enter the six values by hand.
- The list is shorter than the debt you expected. The outstanding checkbox runs after the page cap. Raise Fan-out page cap, or use Ingest. A date window of last_30_days only looks at that window.
- Projects comes back empty. The company does not have the Projects module. List projects and Get project do not fail the run. Create project does.
- A long list warns you. List invoices, List customers, List AR payments, List bills, List vendors and List projects should not be tools on an Intelligence step. Use Ingest.
Actions and endpoints
The Sage Intacct step offers 26 actions: 12 read from Sage Intacct and 14 change it. Every call is an HTTP POST of XML to https:/. The table names the XML operation. A list uses query. A get uses read. A create or update uses the operation in the last column. Where an action sends the entity as well, the table still gives the main operation.
| Action | What it does | Reads or changes | Endpoint |
|---|---|---|---|
| List invoices | Lists AR invoices, one item per invoice. Optional due date window, state, and an outstanding tick. Default 5 pages of 100. | Reads | POST query ARINVOICE |
| Get invoice | Fetches one AR invoice by its record key. The key is text. | Reads | POST read ARINVOICE |
| Create invoice | Creates an AR invoice. Stays a draft unless the submit checkbox is ticked. Needs a customer business id, an invoice date, lines, and a due date or a payment term. | Changes | POST create_invoice |
| Update invoice | Updates an AR invoice by its record key. Stays a draft unless the submit checkbox is ticked. There is no delete. | Changes | POST update_invoice |
| Create recurring invoice | Creates a recurring invoice schedule. This is the schedule itself, not a draft. There is no delete. | Changes | POST create_recurringinvoice |
| Action | What it does | Reads or changes | Endpoint |
|---|---|---|---|
| List customers | Lists AR customers, one item per customer. Optional status and date window. | Reads | POST query CUSTOMER |
| Get customer | Fetches one AR customer by its record key. | Reads | POST read CUSTOMER |
| Create customer | Creates a customer. The id you supply is the business id, not the record key. | Changes | POST create CUSTOMER |
| Update customer | Updates a customer by record key or business id. There is no delete. | Changes | POST update CUSTOMER |
| Action | What it does | Reads or changes | Endpoint |
|---|---|---|---|
| List AR payments | Lists AR receipts against customer invoices, one item per receipt. | Reads | POST query ARPYMT |
| Get AR payment | Fetches one AR receipt by its record key. | Reads | POST read ARPYMT |
| Record AR payment | Records an AR receipt. Stays a draft unless the submit checkbox is ticked. A draft is not posted cash. Needs a bank or an undeposited account, a method, a customer business id, a date, a currency, and the invoices it applies to. | Changes | POST create ARPYMT |
| Action | What it does | Reads or changes | Endpoint |
|---|---|---|---|
| List bills | Lists AP bills, one item per bill. Optional due date window, state, and an outstanding tick. Default 5 pages of 100. | Reads | POST query APBILL |
| Get bill | Fetches one AP bill by its record key. | Reads | POST read APBILL |
| Create bill | Creates an AP bill. Stays a draft unless the submit checkbox is ticked. Needs a vendor business id, a bill date, a currency, lines, and a due date or a payment term. | Changes | POST create APBILL |
| Update bill | Updates an AP bill by its record key. Stays a draft unless the submit checkbox is ticked. There is no delete. | Changes | POST update APBILL |
| Create recurring bill | Creates a recurring bill schedule. This is the schedule itself, not a draft. There is no delete. | Changes | POST create_recurringbill |
| Action | What it does | Reads or changes | Endpoint |
|---|---|---|---|
| List vendors | Lists AP vendors, one item per vendor. | Reads | POST query VENDOR |
| Get vendor | Fetches one AP vendor by its record key. | Reads | POST read VENDOR |
| Create vendor | Creates a vendor. The id you supply is the business id, not the record key. | Changes | POST create VENDOR |
| Update vendor | Updates a vendor by record key or business id. There is no delete. | Changes | POST update VENDOR |
| Action | What it does | Reads or changes | Endpoint |
|---|---|---|---|
| Record AP payment | Records an AP payment in the outbox. Stays a draft unless the submit checkbox is ticked. A draft is not a cleared payment. Needs a bank, a method, a vendor business id, a date, a currency, and the bills it applies to. | Changes | POST create APPYMT |
| Action | What it does | Reads or changes | Endpoint |
|---|---|---|---|
| List projects | Lists projects, one item per project. Comes back empty, and the run continues, when the Projects module is off. | Reads | POST query PROJECT |
| Get project | Fetches one project by its record key. Comes back without a project when the module is off. | Reads | POST read PROJECT |
| Create project | Creates a project. Fails if the Projects module is off. Needs a name and a category. | Changes | POST create PROJECT |
| Update project | Updates a project by its business id, not the record key. There is no delete. | Changes | POST update PROJECT |