Overview
The iVendNext Action Node reads from and writes to your iVendNext tenant from within an n8n workflow. It executes on demand — when the workflow reaches it — whether that workflow was started by a schedule, another application, an AI agent, or the iVendNext Trigger Node.
Every operation the Action Node performs is on a document. In iVendNext, every record is a document: a Sales Order, a Customer, an Item, a Purchase Invoice. The Action Node works with all of them.
How It Is Organised
The node asks three questions in order:
| Setting | Meaning |
|---|---|
| Resource | Always Document. Every record in iVendNext is a document, so one resource covers the entire platform. |
| Operation | What to do: Create, Get, Get Many, Update, or Delete. |
| DocType | Which Document Type to act on. The dropdown is loaded live from your tenant, including any custom DocTypes. |
The Five Operations
Create
Adds a new document to iVendNext. When you select a DocType and choose Create, the node presents the field list for that type. Fill in or map the values, and the node creates the document when the workflow runs.
Typical use: Turn a web order into a Sales Order; add a new Customer record; create a new Item.
Get
Retrieves one document by its Document Name — the unique identifier iVendNext assigns to every record. Supply the Document Name (typed directly or mapped from an earlier step using an expression), and the node returns the full document.
Typical use: Look up a single customer's details; fetch a specific order; read a price record before deciding what to do next.
Get Many
Returns a list of documents, with optional filtering, field selection, and a result limit. This is the workhorse for reporting, bulk synchronisation, and any automation that needs to work across a set of records rather than a single one.
Typical use: All orders placed today above a value threshold; all items with stock below reorder level; all customers in a given territory.
Update
Changes fields on an existing document without affecting other fields. Supply the Document Name and the fields to modify.
Typical use: Write a tracking number back to a Sales Order; change an item's price; update a document's status after an external action has occurred.
Delete
Removes a document by its Document Name. Only draft documents — those that have not been submitted — can be deleted.
Typical use: Clean up cancelled drafts; remove test records created during workflow development.
Entering Field Values (Create and Update)
When you select a DocType for Create or Update, the node fetches that type's full field list from your tenant — required fields first, then optional ones. Behind-the-scenes fields (internal counters, timestamps, layout elements) are hidden automatically, so only fields that carry business data are shown.
Fields appear in the format that matches their iVendNext type: text fields become text boxes, choice fields become dropdowns, date fields become date pickers, number fields become number inputs, and yes/no fields become toggles.
Fill in the fields directly or map values from earlier workflow steps using n8n expressions. An expression like ={{ $json.customer }} passes the customer field from the previous node's output.
Meta Fields
For fields not shown in the standard panel — less common fields, custom fields, or child table (line-item) data — use the Meta Fields section. Add a Field Name and Value pair. The Field Name must match the field's exact internal name in iVendNext. Values accept n8n expressions, so you can pass numbers, dates, or arrays from earlier steps.
This is how Sales Order line items are handled. The items table on a Sales Order is a child table (an array of rows). Pass it via a Meta Field expression:
={{ $json.line_items.map(li => ({
item_code: li.sku,
qty: li.qty,
rate: li.price
})) }}
This maps each row from the incoming data into the format iVendNext expects, creating a fully formed Sales Order with all line items in a single Create operation.
Get Many Options
| Option | Effect |
|---|---|
| Return All | Returns every matching record, paging through large datasets automatically. Off by default — turn on for full-dataset sync jobs. |
| Limit | When Return All is off, the maximum records to return (default: 10). Use for "top N" lists and exploratory workflows. |
| Field Names or IDs | Specify which columns come back. Returning only needed fields keeps results fast and reduces data passed through subsequent steps. |
| Filters | One or more conditions — Field · Operator · Value. Supported operators: IS, IS NOT, IS GREATER, IS LESS, EQUALS or GREATER, EQUALS or LESS. Combine multiple conditions to narrow results precisely. |
Example — today's orders over £500:
Operation : Get Many
DocType : Sales Order
Return All : On
Filters :
• grand_total EQUALS or GREATER 500
• transaction_date IS ={{ $today }}
Field Names: name, customer, grand_total, status
Continue on Fail
When a workflow processes multiple records — for example, a Get Many result feeding into a Create for each row — one bad record will normally stop the entire run.
Enabling Continue on Fail changes this behaviour. A record that fails is passed through the workflow with an error note attached rather than halting the run. You can route those failed items to a separate branch — a review list, an alert, or a Slack notification — so nothing is silently lost.
This setting is recommended for any workflow that processes records in batch: nightly stock syncs, bulk order imports, or any scheduled job that iterates over a list.
Identifying Documents for Get, Update, and Delete
These three operations act on a specific record and require the Document Name. In most workflows, the Document Name is not typed manually — it is mapped from an earlier step using an expression. For example, if the Trigger Node delivered a Sales Order, the customer field on that order can be passed to a subsequent Get operation as ={{ $json.customer }}, fetching the full customer record without any manual input.
**