Human module guide and AI reference

AutoCount API module guide

Start here to see which AutoCount modules can read, create, edit, void, delete, print, and bulk-create through the Local Connector. Developers and AI tools can then use the searchable JSON command reference below.

Contents

Start here

Use This API In 6 Steps

For humans: follow these steps in order. For AI tools: read this page, then use /v1/schema/modules and /v1/schema/commands/{commandType} before writing payloads.

Find command
1

Step 1: Check connector online

Confirm the customer connector is online and the right AutoCount account book is active before sending any command.

Open portal Status or call GET /v1/connectors/{connectorId}/status. Connector status
2

Step 2: Choose module

Pick the business area first: Sales, Purchase, AR, AP, Stock, GL, Tax, Reports, or e-Invoice.

Use the Module Operation Matrix to see what is supported or guarded. Module matrix
3

Step 3: Choose action

Decide whether you want to read, validate, create, edit, void, delete, transfer, print PDF, or bulk create.

Search the Complete Module Command Reference. Command reference
4

Step 4: Get full payload

Open the command card and click Full payload schema. This shows simple fields and AutoCount-native sections.

GET /v1/schema/commands/{commandType}. Example schema
5

Step 5: Send command

Post one command with a new commandId, connectorId, companyId, type, and payload. Use validate-* before create-* for risky writes.

POST /v1/commands. Command flow
6

Step 6: Check result

Queued means waiting, leased means connector picked it up, done means the connector returned a result, failed means read the message.

GET /v1/commands/{commandId}. Result status

Copy This Rule For AI / Mac Soft AI

1. Check connector status first.
2. Call /v1/schema/modules to choose the module.
3. Choose the command type from the docs or OpenAPI catalog.
4. Call /v1/schema/commands/{commandType} to get the full payload.
5. Use validate-* before create-* when money, stock, tax, or knock-off is involved.
6. Send POST /v1/commands with a unique commandId, then check the result.

What AutoCount API Is

AutoCount API is a cloud API in front of your customer's local AutoCount Accounting 2.2 installation. Cloud apps call us; the Local Connector executes through AutoCount installed DLLs.

Why Local Connector Is Needed

AutoCount desktop data is inside the customer's local machine/server. The connector runs there, logs in to account books, and polls outbound to the cloud. No router port forwarding is needed.

Who Uses It

Software developers, Mac Soft AI, AI agents, e-Invoice tools, reporting apps, mobile apps, and automation workflows that need controlled AutoCount read/write access.

Before You Start

How To Read The Module Table

Every module is shown by business operation, not only by technical read/write mode. This is what customers care about before they buy.

Jump to modules
Read / View

List records, get details, check balances, outstanding documents, account books, and setup tables. These commands do not save into AutoCount.

Create

Create new master records or new transaction documents through AutoCount SDK logic, using unique commandId for idempotency.

Edit

Change an existing record. Master data edit is enabled where proven; posted transaction edit returns editBlocked until safe SDK save is proven.

Void / Cancel

Cancel a transaction while keeping accounting audit trail. Sales, purchase, and GL Cash Book use AutoCount cancellation where supported.

Delete

Safe delete request. Sales and purchase delete uses AutoCount SDK Delete; GL Cash Book and journal delete also use SDK hard delete. Use void-* when audit-trail cancellation is required. Unproven or linked records return deleteBlocked instead of blind SQL delete.

PDF / Print

Generate human-readable AutoCount-looking PDF/report where report export is proven, such as sales, purchase, and GL cash book vouchers.

Bulk

Create many records/documents in one leased connector command, instead of waiting one cloud heartbeat per row.

Connector, Computer, Account Book

NameMeaningImportant rule
ConnectorOne cloud connector config and one command queue.This is what the subscription connector limit counts.
ComputerA Windows PC/server running the Local Connector.Shown for monitoring only. It is not the billing connector count.
Account bookAn AutoCount database/company configured locally.Counts toward the account book limit.

If the same connector config is installed on three computers, the portal shows one connector and three computers. For production with multiple active PCs or branches, create separate connector configs so each location has its own command queue.

Quick Start

1Customer signs up

Create account, verify email, and login to the portal.

2Install connector

Download installer and import the connector config from the portal.

3Add AutoCount book

Key in AutoCount server, database, user, password, then test connection.

4Copy API message

Portal gives one copy-ready message for developer, Mac Soft AI, or AI tool.

What the customer gives to developer / Mac Soft AI

After login, the portal shows the exact API URL, API key, connectorId, companyId, and first read-only test command. The customer clicks Copy Message For Developer and sends it to the person or AI tool building the integration.

StepWhat to doWhere
1Create an account and choose a plan.GET /signup
2Verify the email address from the verification email.GET /verify-email?token=...
3Open the portal and download the connector installer.GET /portal
4Download connector config and import it into the Windows connector.GET /app/connector-config.json
5Add one or more AutoCount account books in the connector setup.Local Connector
6Call the API with a unique command ID.POST /v1/commands

Use With Mac Soft AI

For a CEO, executive, admin, or clerk demo, Mac Soft AI should load the AutoCount Demo Operator skill, then run run-company-discovery before answering business questions or preparing writes.

First demo command

{
  "commandId": "demo-company-discovery-001",
  "connectorId": "customer-main",
  "companyId": "customerbook",
  "type": "run-company-discovery",
  "payload": {}
}

The command returns activeModules, masterDataCounts, documentCounts, features, workflows, and aiHints. Mac Soft AI then uses the demo ontology pack to interpret AutoCount entities, relationships, workflows, and safe-write rules.

Intelligent Connector Flow

AI tools and human developers should not guess AutoCount fields. Start with context, read the field catalog, validate proposed writes, use suggestions when validation fails, then inspect readBack after save.

1AI Startup Flow

Call read-company-ai-context to learn active modules, workflow hints, starter commands, and safety rules.

2Read fields

Call read-field-catalog for the module/document so AI knows read, write, native, and guarded fields.

3Validate first

Call validate-command or set validateOnly on a write command before risky saves.

4Fix safely

Call suggest-command-fixes for missing debtor, creditor, item, UOM, account, tax, project, payment method, or knock-off values.

5Read result

After save, inspect readBack. If readBack.attempted is false, call the matching get/detail command before telling the user it saved correctly.

Copyable first calls

POST /v1/commands
{
  "commandId": "ai-start-001",
  "connectorId": "customer-main",
  "companyId": "customerbook",
  "type": "read-company-ai-context",
  "payload": {}
}

GET /v1/schema/commands/read-company-ai-context
GET /v1/schema/commands/read-field-catalog
GET /v1/schema/commands/validate-command

Connector Setup and Operations

The Local Connector is the Windows Service that talks to AutoCount Accounting 2.2 through the installed AutoCount DLL SDK. Customer apps, developers, Mac Soft AI, and AI tools should call https://api.autocount.cloud only. Do not call the Local Connector API directly from external automation.

Requirements

  • A licensed AutoCount Accounting 2.2 64-bit installation on the Windows PC/server.
  • For create, edit, void, delete, save, and bulk write operations, the account book must also have the required AutoCount API/Control API license or permission. Read commands may still work without it.
  • The Windows machine can open the AutoCount account book database.
  • Administrator rights for installation, because the installer creates the AutoCountConnector Windows Service.
  • Outbound HTTPS access to https://api.autocount.cloud. No router port forwarding is required.
  • An AutoCount user/password for every account book. SQL User and SQL Password are only needed when the customer uses a custom SQL login.

Install / Update

  1. Download AutoCountConnectorSetup.exe from the portal or docs.
  2. Run installer as administrator on the AutoCount machine.
  3. Open the desktop/start menu shortcut for AutoCount Connector Setup.
  4. Click Import Cloud Config and choose the JSON downloaded from GET /app/connector-config.json or from the connector row.
  5. Add or select an account book, key in credentials, click Test Connection, then Save and Activate. New account books are write-enabled by default.
  6. Use Reset Write only to repair old or restricted policy files.

Fresh Account Book Checklist

For a new or blank AutoCount account book, create or confirm the basic records before running write automation: at least one debtor, one creditor, one stock item with valid base UOM, and two active stock locations when using stock transfer. AP invoice payloads should send lines[].accountNo or a valid single-line accountNo. BOM and manufacturing commands need real finished-good and component item codes from that account book.

After moving or restoring a connector project, clear generated local idempotency results or use new commandId values. Reusing an old command ID returns the previous result, even if the account book data has changed.

Fresh Account Book Write Readiness

WorkflowDo this firstCreate commandProof field to check
AR payment knock-offCall read-ar-outstanding-documents and use returned docKey plus docType RI.create-ar-paymentpaidDocumentsRows and knock-off table rows.
AP payment knock-offCall read-ap-outstanding-documents and use returned docKey plus docType PB.create-ap-paymentpaidDocumentsRows and knock-off table rows.
AR refund knock-offCreate/list/get the AR credit note first; refund knocks off the credit note, not the invoice.create-ar-refundpaidDocumentsRows and refund knock-off rows.
AP refund knock-offCreate/list/get the AP credit note first; refund knocks off the supplier credit note/purchase return.create-ap-refundpaidDocumentsRows and refund knock-off rows.
AR/AP depositUse debtorCode for AR and creditorCode for AP. Pick payment method from read-payment-methods when needed.create-ar-deposit / create-ap-depositGLTrxID, detailCount, and paymentAmount.
GL Account MaintenanceCall list-general-account-types; use a returned AccType. In the tested fresh account book, expense is EP, not EX.create-gl-accountRead back with get-gl-account.
Sales transfer pathsCreate the source document first, then use the direct AutoCount transfer path the business needs.transfer-quotation-to-sales-order, transfer-quotation-to-delivery-order, transfer-quotation-to-sales-invoice, transfer-sales-order-to-delivery-order, transfer-sales-order-to-sales-invoice, transfer-delivery-order-to-sales-invoice, transfer-sales-invoice-to-sales-credit-noteEach target returns a saved docNo.
Purchase transfer pathsCreate the source document first, then use the direct AutoCount transfer path the business needs.transfer-purchase-order-to-goods-received-note, transfer-purchase-order-to-purchase-invoice, transfer-goods-received-note-to-purchase-invoice, transfer-purchase-invoice-to-purchase-returnEach target returns a saved docNo.

Multiple Account Books

One connector config can contain many AutoCount account books. Each row has its own company ID, server, database, AutoCount user/password, optional SQL credentials, active state, and write/read policy. If the customer has 400 account books, add/import those account books under the connector and use the portal filter/search to find the needed company ID.

Multiple Computers

Connector count means connector config / command queue, not computer count. If the same cloud config is installed on three computers, the dashboard shows one connector with three computers and they share one queue. For separate active PCs, branches, or servers, create separate connector configs so each one has its own connectorId and command queue.

Service Behavior

The installed service name is AutoCountConnector and the display name is AutoCount Connector. It starts automatically with Windows and can continue running after Windows logout, as long as the computer/server stays powered on and can access AutoCount/SQL Server.

Security

AutoCount passwords and optional SQL passwords stay on the customer's Windows machine and are encrypted locally with Windows DPAPI. The connector key is only for connector-to-cloud communication. Customer apps and AI tools use tenant/named app API keys, not connector keys.

Local Support API

The local service listens on http://127.0.0.1:18000 for support and diagnostics only. Use GET /health, GET /companies, GET /capabilities, and support-only POST /execute when checking a customer PC. Production integrations must use POST /v1/commands and GET /v1/commands/:commandId on the cloud API.

Support Bundle

If a command is stuck or a customer PC behaves differently from the dashboard, create a Support Bundle from the connector tool before reinstalling. It helps compare service state, account books, policy, version, and recent local errors without asking the customer to understand logs.

Troubleshooting

What you seeLikely reasonWhat to do
Connector offlineThe cloud did not receive a recent heartbeat.Start the AutoCountConnector Windows Service, confirm internet access, and confirm cloud config is imported.
127.0.0.1:18000 cannot connectThe local service is not installed or not running.Open services.msc, start AutoCount Connector, or reinstall/repair the connector.
Incorrect passwordAutoCount password or custom SQL password is wrong for that account book.Select the account book row, update credentials, Test Connection, Save, Activate, then restart the service.
Command type is not allowedThe company policy does not allow that command, usually because the policy file is old or restricted.Use the correct command type or click Reset Write in the connector setup.
ConnectorUpdateRequiredThe command needs a newer Local Connector than the customer PC is running.Download and install the latest connector from the portal, restart the service, then retry with a new commandId.
Queued too long while connector is onlineA stale/poison command, expired lease, or too many single-detail calls may be blocking useful work.Check /admin/queue-health, use bulk commands for large reads, run /admin/queue-cleanup as dry-run first, then confirm fail-only cleanup after reviewing matched commands.
Leased but no resultThe connector picked up the command but did not post success/failure back.Update/restart connector, check GET /health, create a Support Bundle, then retry with a new commandId.
No rows returnedWrong companyId/account book, filters too narrow, or no matching records in AutoCount.Check the dashboard company/database, remove filters, and compare with the AutoCount screen.
Old empty result after adding recordsThe same commandId replayed an old idempotent result.Use a new commandId for each fresh verification or support retest.
AP invoice detail account errorNo valid posting account was sent.Send lines[].accountNo or single-line accountNo from the account book's chart/default purchase account.
Payment/refund saves but does not allocateMissing or wrong knockOffs rows.Read the source document keys first, then send docKey, docType, docNo, and amount in knockOffs.
FK_GLMAST_AccTypeThe GL account type code is not valid in this account book.Call list-general-account-types and use a returned code such as EP for expenses.

Authentication

Key / LoginUsed byPurpose
Customer loginHuman customerAccess portal, download installer/config, manage app keys.
Tenant API keyCustomer app or AI toolCall POST /v1/commands and GET /v1/commands/:id.
Named app API keyMac Soft AI / AI / one integrationSeparate key per app so the customer can revoke one integration without rotating all access.
Connector keyLocal Connector onlyPoll commands, post results, report companies and heartbeat.

External API calls use Authorization: Bearer <apiKey>. Never put connector keys into customer apps.

API Access Rights

Customers can create a named app API key for each AI tool, integration, or developer and optionally restrict it by module and action. Default tenant API key remains full access so current integrations keep working.

Existing app keys without accessRights remain full access. To restrict a key, open the portal API Keys area and choose Full, Sales, Purchase, or Read Only, or send an accessRights object when creating the key.

ModuleWhat it coversActions
GLGeneral ledger, journal, cash book, bank reconciliation, chart/default accounts.Read, Create, Edit, Void, Delete
ARDebtor/customer master, AR payments, AR deposits, AR refunds, AR outstanding and statements.Read, Create, Edit, Void, Delete
APCreditor/supplier master, AP payments, AP deposits, AP refunds, AP outstanding and statements.Read, Create, Edit, Void, Delete
StockItems, stock balance, stock documents, BOM, assembly, item package.Read, Create, Edit, Void, Delete
SalesQuotation, sales order, delivery order, sales invoice, cash sale, sales credit note, sales PDFs.Read, Create, Edit, Void, Delete
PurchasePurchase order, goods received note, purchase invoice, cash purchase, purchase return, purchase PDFs.Read, Create, Edit, Void, Delete

If a restricted API key calls a command outside its allowed module/action, the cloud rejects it before queueing and returns HTTP 403 with PermissionDenied. This access control is website/cloud controlled only; it does not sync AutoCount users.

{
  "name": "Sales AI",
  "accessRights": {
    "GL": [],
    "AR": ["Read"],
    "AP": [],
    "Stock": ["Read"],
    "Sales": ["Read", "Create"],
    "Purchase": []
  }
}

How Commands Work

Commands are asynchronous. Your app queues work in the cloud, the Local Connector polls outbound, AutoCount executes locally, and the result is returned to the cloud.

The cloud keeps only the latest 200 completed command transactions per customer account. Pending commands are kept until finished, then older completed request/result records are deleted automatically.

StatusMeaning
queuedThe command is waiting for the Local Connector.
leasedThe connector picked up the command and is processing it.
doneThe connector posted the final result.

Always send a caller-generated unique commandId. This gives idempotency, audit, and safer retries. The value must be URL-safe: use only letters, numbers, dot, underscore, and hyphen, max 160 characters. Do not use spaces, slash, pipe, question mark, ampersand, hash, or customer names as separators. Prefer UUIDs or simple IDs like export-debtors-20260831-001.

If commands stay queued while connector status is online: check connector queue health, look for old leased commands, unsafe command IDs, and repeated lease attempts, use bulk commands instead of thousands of single-detail reads, run admin queue cleanup dry-run, confirm cleanup only after reviewing matched commands, then retry with a fresh safe commandId.

{
  "commandId": "invoice-count-20260612-001",
  "connectorId": "customer-connector-id",
  "companyId": "macsofttest",
  "type": "list-sales-invoices",
  "payload": {}
}

Edit, Void, Delete Operations

This API exposes edit, void, and delete as first-class command types, but it follows AutoCount accounting safety rules. It will not do blind SQL updates or blind deletes. If a safe SDK path is not proven for a module, the command returns a clear blocked result instead of damaging audit trail, stock, tax, e-Invoice, or payment knock-off links.

AR/AP delete order: never delete an invoice while an AR receive payment, AP payment, AR/AP credit note, refund, debit note, or contra is knocking it off. The connector checks AutoCount LoadPayments/LoadPaidDocuments first and returns every row in dependentDocuments. Untick the invoice from every payment and credit note; removing only one link keeps deletion blocked. Confirm each allocation document has paidDocumentsRows: 0 and a positive localUnappliedAmount, then delete the now-unlinked invoice. Every payment or credit note remains independently unapplied for later allocation.

Edit

Operation command pattern: update-* or edit-* in customer language. The canonical command names currently use update-*.

Safe behavior: Master data edit is supported where AutoCount SDK load/save is proven, for example debtor, creditor, stock item, item BOM, and supported General Maintenance records.

Blocked behavior: Posted accounting transaction edits return editBlocked until exact SDK edit safety is proven.

Example command types: update-debtor, update-item, update-sales-invoice, update-ar-payment, update-gl-cash-book-entry, update-journal-entry.

Void

Operation command pattern: void-*.

Safe behavior: Sales and purchase void uses AutoCount CancelDocument where AutoCount exposes it. GL Cash Book void also uses CashBookCommand.CancelDocument. Successful results include operationUsed: CancelDocument or CashBookCommand.CancelDocument.

Blocked behavior: Cash Sale, Cash Purchase, AR/AP, stock, journal, and compliance-sensitive modules return voidBlocked until the module-specific AutoCount void/cancel path is proven.

Example command types: void-sales-invoice, void-sales-order, void-purchase-invoice, void-gl-cash-book-entry, void-ar-payment, void-journal-entry.

Delete

Operation command pattern: delete-*.

Safe behavior: Delete means hard delete where AutoCount SDK exposes Delete and the document is not locked or linked. Sales and purchase delete uses AutoCount SDK Delete. GL Cash Book and journal delete also use their AutoCount SDK Delete commands. Use void-* when audit-trail cancellation is required.

Blocked behavior: Modules without a proven SDK delete path return deleteBlocked with a suggested reversal, cancellation, or replacement workflow.

Example command types: delete-sales-invoice, delete-purchase-invoice, delete-gl-cash-book-entry, delete-ar-payment, delete-stock-adjustment, delete-journal-entry.

Copy-ready JSON examples

{
  "commandId": "edit-customer-20260620-001",
  "connectorId": "customer-connector-id",
  "companyId": "macsofttest",
  "type": "update-debtor",
  "payload": {
    "accNo": "300-API",
    "phone1": "03-11111111"
  }
}
{
  "commandId": "void-sales-invoice-20260620-001",
  "connectorId": "customer-connector-id",
  "companyId": "macsofttest",
  "type": "void-sales-invoice",
  "payload": {
    "docNo": "IV-000001",
    "reason": "Customer cancelled order"
  }
}
{
  "commandId": "delete-journal-20260620-001",
  "connectorId": "customer-connector-id",
  "companyId": "macsofttest",
  "type": "delete-journal-entry",
  "payload": {
    "docNo": "JV-000001",
    "reason": "Reverse incorrect journal"
  }
}
{
  "commandId": "cash-sale-20260627-001",
  "connectorId": "customer-connector-id",
  "companyId": "macsofttest",
  "type": "create-cash-sale",
  "payload": {
    "debtorCode": "300-A001",
    "docDate": "2026-06-27",
    "description": "Create Cash Sale with payment",
    "lines": [
      { "itemCode": "ITEM001", "qty": 1, "unitPrice": 100 }
    ],
    "payments": [
      { "paymentMethod": "CASH", "paymentAmount": 60, "chequeNo": "CS-API-001" },
      { "paymentMethod": "CARD", "paymentAmount": 40, "creditCardApprovalCode": "APPROVED-001" }
    ]
  }
}

Cash Sale payment buttons: AutoCount's Cash button means one payments row using the cash payment method. Credit Card button means one payments row using the customer's credit-card payment method code, for example CARD or the exact code from read-payment-methods. Multi Payment button means send multiple payments rows whose total equals the Cash Sale total. Credit Sale button means omit payments so AutoCount keeps the amount outstanding. Cash Sale is not complete until the payment row is included, unless the user intentionally wants Credit Sale.

Split payment / Multi Payment example: for Cash Sale or Cash Purchase, send two or more payments rows. Use read-payment-methods first. payments[].paymentMethod must match an active AutoCount Payment Method code, and the paymentAmount total should equal the document total.

{
  "commandId": "cash-purchase-20260627-001",
  "connectorId": "customer-connector-id",
  "companyId": "macsofttest",
  "type": "create-cash-purchase",
  "payload": {
    "creditorCode": "400-S001",
    "supplierInvoiceNo": "SUP-CP-API-001",
    "docDate": "2026-06-27",
    "description": "Cash Purchase with split payment",
    "items": [
      { "itemCode": "ITEM001", "qty": 1, "unitPrice": 100, "accountNo": "610-0000" }
    ],
    "payments": [
      { "paymentMethod": "CASH", "paymentAmount": 60 },
      { "paymentMethod": "BANK", "paymentAmount": 40 }
    ]
  }
}
{
  "commandId": "cashbook-payment-20260620-001",
  "connectorId": "customer-connector-id",
  "companyId": "macsofttest",
  "type": "create-gl-cash-book-payment",
  "payload": {
    "payTo": "API Supplier",
    "description": "API payment voucher",
    "lines": [
      { "accNo": "610-0000", "amount": 100, "description": "Expense line" }
    ],
    "payments": [
      { "paymentMethod": "CASH", "paymentAmount": 100 }
    ]
  }
}

For the full list, open OpenAPI JSON and search x-autocount-command-catalog.commands for update-, void-, and delete-. The human command reference below shows the same command names grouped by module.

Module Operation Matrix

Use this first. It tells a human what each AutoCount module can do now and what is intentionally guarded for accounting safety.

Command JSON
Yesconfirmed by connector implementation and tests Guardednot confirmed; API returns a blocked result instead of guessing Blockedintentionally blocked Partialmixed: each command card says confirmed or guarded
ModuleRead / ViewCreateEditVoidDeletePDF / PrintBulkWhat This Means
Master Data YesYesYesN/AGuardedN/AYes Debtor/customer, creditor/supplier, stock item, item detail, credit control, and item BOM are readable. Debtor, creditor, item, and item BOM create/update are supported. Delete is guarded because linked transactions must be protected.
General Maintenance YesYesYesN/AGuardedN/AYes Safe setup tables are supported: address, area, C/N type, D/N type, debtor/creditor type, currency, payment method, price category, project, sales/purchase agent, shipping method. Account Type and Credit Term remain list-only.
Sales YesYesYesPartialYesYesYes Invoices, orders, delivery orders, cash sales, quotations, advanced quotations, sales credit notes, and sales debit notes are covered. Applicable SDK header/detail fields and existing UDFs use strict patches, explicit detail modes, native validateOnly and fresh persisted verification. Linked, paid and e-Invoice records retain specialised safeguards; field discovery is not all-field certification. Void uses AutoCount CancelDocument except Cash Sale, which remains guarded after fresh-book proof. Delete uses AutoCount SDK Delete where the document is not locked or linked.
Purchase YesPartialYesPartialYesYesYes Purchase order, GRN, purchase invoice, purchase return, and cash purchase are covered where AutoCount SDK exposes the document command. Applicable SDK header/detail fields and existing UDFs use strict patches, explicit detail modes, native validateOnly and fresh persisted verification. Linked, paid and e-Invoice records retain specialised safeguards; field discovery is not all-field certification. Cash Purchase create can return probeBlocked on SDK installs where the detail API is unavailable. Void uses AutoCount CancelDocument except Cash Purchase, which remains guarded after fresh-book proof.
AR YesYesYesGuardedconditionalYesYes AR invoice and receive-payment delete are proven only for unlinked records. Before every AR/AP delete the connector loads AutoCount knock-off dependencies. If a payment/allocation exists it returns arapDocumentHasKnockOffDependencies and dependent document details without deleting anything. Reverse or clear the allocation first and verify the invoice is outstanding again.
AP YesYesYesGuardedconditionalYesYes AP invoice, payment, refund, credit note, debit note, outstanding documents, knock-off validation/create, and AutoCount PDF export are covered. AP invoice and supplier-payment delete are proven only for unlinked records. Linked invoices are protected by native LoadPayments; unlinked delete uses the loaded AutoCount DocKey and verifies the same DocKey is gone. Refund and note delete remain guarded pending separate proof.
Stock YesYesYesYesYesYesYes Items, stock balance, adjustments, receive, issue, transfer, UOM conversion, stock take, write-off, update cost, packages, BOM, assembly, assembly order, disassembly, AutoCount stock document PDFs, stock document header/detail edit, void/cancel, and delete are covered. Item Package create/update/deactivation and reference-safe deletion passed native maintenance2; package void remains guarded. Package delete previews are incomplete, not approval to delete. BOM deletion remains subject to its native master-data guards.
GL YesYesYesYesYesYesYes Chart of accounts, GL account balance, GL Account Maintenance create, multi-line journal create/validate, journal SDK header/detail edit, journal void/delete through CancelDocument, and journal voucher PDF are covered. Journal edits require balanced totals, explicit detail modes and fresh persisted verification. Source-linked and specialised records stay guarded.
GL Cash Book YesYesYesYesYesYesYes Bank/cash accounts, cash-flow metadata, cheque listing, Cash Book Entry document grid, inquiry rows, payment voucher, official receipt, SDK header/detail/payment edit, hard delete through CashBookCommand.Delete, void through CancelDocument, and voucher PDF export are covered. Edits require balanced totals, explicit detail modes and fresh persisted verification. Reconciliation, source links and specialised records remain guarded.
Bank Reconciliation YesYesYesGuardedYesNot yetNot yet BankReconCommand list/detail/uncleared/draft validation are covered. Create and edit save selected transaction rows through BankRecon.Save. Delete uses BankReconCommand.Delete. Void remains guarded because AutoCount exposes delete, not a separate void path.
Bulk N/AYesN/AN/AN/AN/AYes Bulk create wraps existing create commands so many records can be processed by one cloud lease with per-row idempotency/audit results. This is the preferred path for hundreds of invoices or journals.
e-Invoice YesGuardedGuardedGuardedBlockedNot yetNot yet Local settings, submission status, consolidated inquiry, self-billed list, and supplier item mapping list are supported. Submit/cancel/import/sync remain guarded compliance actions.

Guarded does not mean missing. It means the API command exists, but the connector refuses unsafe accounting changes until that AutoCount module has a proven SDK edit/void/delete path. This protects audit trail, stock, tax, e-Invoice, and knock-off/payment links.

Document Payloads and Views

Grouped by document. Use this first when a human or AI needs to know which AutoCount document can be viewed, which command writes it, and which header/detail fields can be sent.

Machine-readable document catalog: /v1/schema/documents. Then open each command's /v1/schema/commands/{commandType} for the exact JSON schema.

Sales Document-level guide for read/view commands, write commands, and AutoCount native payload sections. 8 documents
Sales Invoicesales-invoice

Use list/get for headers, read-*-lines for detail rows, and read-document-linkage before changing transferred documents.

Full payload schema: /v1/schema/commands/create-sales-invoice

View / read commands

Write commands

Transfer commands

PDF / report commands

Header / Master payload

  • DocNo string - Sales document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.

Detail payload

  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.

Transfer payload

  • DocType string - Source document type such as SO or DO.
  • DocNo string - Source document number.

Options payload

  • SaveAsDraft boolean - Save document as draft if supported.
  • DocNoFormatName string - Document numbering format name.
Sales Ordersales-order

Use list/get for headers, read-*-lines for detail rows, and read-document-linkage before changing transferred documents.

Full payload schema: /v1/schema/commands/create-sales-order

View / read commands

Write commands

Transfer commands

PDF / report commands

Header / Master payload

  • DocNo string - Sales document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.

Detail payload

  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.

Transfer payload

  • DocType string - Source document type such as SO or DO.
  • DocNo string - Source document number.

Options payload

  • SaveAsDraft boolean - Save document as draft if supported.
  • DocNoFormatName string - Document numbering format name.
Delivery Orderdelivery-order

Use list/get for headers, read-*-lines for detail rows, and read-document-linkage before changing transferred documents.

Full payload schema: /v1/schema/commands/create-delivery-order

View / read commands

Write commands

Transfer commands

PDF / report commands

Header / Master payload

  • DocNo string - Sales document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.

Detail payload

  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.

Transfer payload

  • DocType string - Source document type such as SO or DO.
  • DocNo string - Source document number.

Options payload

  • SaveAsDraft boolean - Save document as draft if supported.
  • DocNoFormatName string - Document numbering format name.
Cash Salecash-sale

Use list/get for headers, read-*-lines for detail rows, and read-document-linkage before changing transferred documents.

Full payload schema: /v1/schema/commands/create-cash-sale

View / read commands

Write commands

PDF / report commands

Header / Master payload

  • DocNo string - Sales document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.

Detail payload

  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.

Transfer payload

  • DocType string - Source document type such as SO or DO.
  • DocNo string - Source document number.

Options payload

  • SaveAsDraft boolean - Save document as draft if supported.
  • DocNoFormatName string - Document numbering format name.
Quotationquotation

Use list/get for headers, read-*-lines for detail rows, and read-document-linkage before changing transferred documents.

Full payload schema: /v1/schema/commands/create-quotation

View / read commands

Write commands

Transfer commands

PDF / report commands

Header / Master payload

  • DocNo string - Sales document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.

Detail payload

  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.

Transfer payload

  • DocType string - Source document type such as SO or DO.
  • DocNo string - Source document number.

Options payload

  • SaveAsDraft boolean - Save document as draft if supported.
  • DocNoFormatName string - Document numbering format name.
Advanced Quotationadvanced-quotation

Use list/get for headers, read-*-lines for detail rows, and read-document-linkage before changing transferred documents.

Full payload schema: /v1/schema/commands/create-advanced-quotation

View / read commands

Write commands

Transfer commands

PDF / report commands

Header / Master payload

  • DocNo string - Sales document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.

Detail payload

  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.

Transfer payload

  • DocType string - Source document type such as SO or DO.
  • DocNo string - Source document number.

Options payload

  • SaveAsDraft boolean - Save document as draft if supported.
  • DocNoFormatName string - Document numbering format name.
Sales Credit Notesales-credit-note

Use list/get for headers, read-*-lines for detail rows, and read-document-linkage before changing transferred documents.

Full payload schema: /v1/schema/commands/create-sales-credit-note

View / read commands

Write commands

Transfer commands

PDF / report commands

Header / Master payload

  • DocNo string - Sales document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.

Detail payload

  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.

Transfer payload

  • DocType string - Source document type such as SO or DO.
  • DocNo string - Source document number.

Options payload

  • SaveAsDraft boolean - Save document as draft if supported.
  • DocNoFormatName string - Document numbering format name.
Sales Debit Notesales-debit-note

Use list/get for headers, read-*-lines for detail rows, and read-document-linkage before changing transferred documents.

Full payload schema: /v1/schema/commands/create-sales-debit-note

View / read commands

Write commands

PDF / report commands

Header / Master payload

  • DocNo string - Sales document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.

Detail payload

  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.

Transfer payload

  • DocType string - Source document type such as SO or DO.
  • DocNo string - Source document number.

Options payload

  • SaveAsDraft boolean - Save document as draft if supported.
  • DocNoFormatName string - Document numbering format name.
Purchase Document-level guide for read/view commands, write commands, and AutoCount native payload sections. 5 documents
Purchase Orderpurchase-order

Use read-purchase-detail-lines or document-specific line reads for item/account/project/tax fields. Use transfer commands for the PO -> GRN -> PI -> PR flow.

Full payload schema: /v1/schema/commands/create-purchase-order

View / read commands

Write commands

Transfer commands

PDF / report commands

Header / Master payload

  • DocNo string - Purchase invoice document number.
  • DocDate date - Document date.
  • CreditorCode string - Supplier/creditor code.
  • CreditorName string - Supplier display name.
  • Agent string - Purchase agent.
  • PurchaseLocation string - Purchase stock location.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • InvAddr1 string - Invoice address line 1.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • SupplierDONo string - Supplier delivery order number.
  • SupplierInvoiceNo string - Supplier invoice number.

Detail payload

  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.

Transfer payload

  • DocType string - Source document type such as PO or GRN.
  • DocNo string - Source document number.

Options payload

  • DocNoFormatName string - Document number format.
  • SaveAsDraft boolean - Draft/save option.
Goods Received Notegoods-received-note

Use read-purchase-detail-lines or document-specific line reads for item/account/project/tax fields. Use transfer commands for the PO -> GRN -> PI -> PR flow.

Full payload schema: /v1/schema/commands/create-goods-received-note

View / read commands

Write commands

Transfer commands

PDF / report commands

Header / Master payload

  • DocNo string - Purchase invoice document number.
  • DocDate date - Document date.
  • CreditorCode string - Supplier/creditor code.
  • CreditorName string - Supplier display name.
  • Agent string - Purchase agent.
  • PurchaseLocation string - Purchase stock location.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • InvAddr1 string - Invoice address line 1.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • SupplierDONo string - Supplier delivery order number.
  • SupplierInvoiceNo string - Supplier invoice number.

Detail payload

  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.

Transfer payload

  • DocType string - Source document type such as PO or GRN.
  • DocNo string - Source document number.

Options payload

  • DocNoFormatName string - Document number format.
  • SaveAsDraft boolean - Draft/save option.
Purchase Invoicepurchase-invoice

Use read-purchase-detail-lines or document-specific line reads for item/account/project/tax fields. Use transfer commands for the PO -> GRN -> PI -> PR flow.

Full payload schema: /v1/schema/commands/create-purchase-invoice

View / read commands

Write commands

Transfer commands

PDF / report commands

Header / Master payload

  • DocNo string - Purchase invoice document number.
  • DocDate date - Document date.
  • CreditorCode string - Supplier/creditor code.
  • CreditorName string - Supplier display name.
  • Agent string - Purchase agent.
  • PurchaseLocation string - Purchase stock location.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • InvAddr1 string - Invoice address line 1.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • SupplierDONo string - Supplier delivery order number.
  • SupplierInvoiceNo string - Supplier invoice number.

Detail payload

  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.

Transfer payload

  • DocType string - Source document type such as PO or GRN.
  • DocNo string - Source document number.

Options payload

  • DocNoFormatName string - Document number format.
  • SaveAsDraft boolean - Draft/save option.
Purchase Returnpurchase-return

Use read-purchase-detail-lines or document-specific line reads for item/account/project/tax fields. Use transfer commands for the PO -> GRN -> PI -> PR flow.

Full payload schema: /v1/schema/commands/create-purchase-return

View / read commands

Write commands

Transfer commands

PDF / report commands

Header / Master payload

  • DocNo string - Purchase invoice document number.
  • DocDate date - Document date.
  • CreditorCode string - Supplier/creditor code.
  • CreditorName string - Supplier display name.
  • Agent string - Purchase agent.
  • PurchaseLocation string - Purchase stock location.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • InvAddr1 string - Invoice address line 1.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • SupplierDONo string - Supplier delivery order number.
  • SupplierInvoiceNo string - Supplier invoice number.

Detail payload

  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.

Transfer payload

  • DocType string - Source document type such as PO or GRN.
  • DocNo string - Source document number.

Options payload

  • DocNoFormatName string - Document number format.
  • SaveAsDraft boolean - Draft/save option.
Cash Purchasecash-purchase

Use read-purchase-detail-lines or document-specific line reads for item/account/project/tax fields. Use transfer commands for the PO -> GRN -> PI -> PR flow.

Full payload schema: /v1/schema/commands/create-cash-purchase

View / read commands

Write commands

PDF / report commands

Header / Master payload

  • DocNo string - Purchase invoice document number.
  • DocDate date - Document date.
  • CreditorCode string - Supplier/creditor code.
  • CreditorName string - Supplier display name.
  • Agent string - Purchase agent.
  • PurchaseLocation string - Purchase stock location.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • InvAddr1 string - Invoice address line 1.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • SupplierDONo string - Supplier delivery order number.
  • SupplierInvoiceNo string - Supplier invoice number.

Detail payload

  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.

Transfer payload

  • DocType string - Source document type such as PO or GRN.
  • DocNo string - Source document number.

Options payload

  • DocNoFormatName string - Document number format.
  • SaveAsDraft boolean - Draft/save option.
AR Document-level guide for read/view commands, write commands, and AutoCount native payload sections. 6 documents
AR Invoicear-invoice

Use read-ar-outstanding-documents before knock-off/allocation writes. Header updates use debtorCode plus docNo.

Full payload schema: /v1/schema/commands/create-ar-invoice

View / read commands

Write commands

PDF / report commands

Header / Master payload

  • DocNo string - Optional AutoCount document number.
  • DocDate date - Document date.
  • DueDate date - Due date.
  • DebtorCode string - Customer/debtor code.
  • Description string - Header description.
  • Ref string - Reference.
  • RefNo string - Reference number.
  • RefNo2 string - Reference number 2.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • DisplayTerm string - Credit term.
  • TaxEntityID number - Tax entity maintenance id.
  • InclusiveTax boolean - Inclusive tax flag.
  • JournalType string - Journal type.
  • TaxDocNo string - Tax document number.

Detail payload

  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Amount number - Line amount.
  • TaxCode string - Tax code.
  • TaxAmt number - Tax amount.

Options payload

  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.
AR Paymentar-payment

Use read-ar-outstanding-documents before knock-off/allocation writes. Header updates use debtorCode plus docNo.

Full payload schema: /v1/schema/commands/create-ar-payment

View / read commands

Write commands

PDF / report commands

Header / Master payload

  • DocNo string - Optional AutoCount document number.
  • DocDate date - Payment document date.
  • DebtorCode string - Customer/debtor code.
  • ProjNo string - Header project code.
  • DeptNo string - Header department code.
  • Description string - Payment description.
  • CurrencyCode string - Currency code.
  • Note string - Payment note.

Detail payload

  • PaymentMethod string - Exact AutoCount payment method code.
  • ChequeNo string - Cheque/reference number.
  • PaymentAmt number - Payment amount.
  • BankCharge number - Bank charge amount.
  • ToBankRate number - Bank currency rate.
  • PaymentBy string - Payment by label.

Knock-off payload

  • DocType string - AutoCount knock-off document type such as RI.
  • DocKey number - AutoCount outstanding document key.
  • DocNo string - Outstanding document number.
  • KnockOffDate date - Knock-off date.
  • KnockOffAmount number - Allocated amount.

Options payload

  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.
AR Depositar-deposit

Use read-ar-outstanding-documents before knock-off/allocation writes. Header updates use debtorCode plus docNo.

Full payload schema: /v1/schema/commands/create-ar-deposit

View / read commands

Write commands

PDF / report commands

Header / Master payload

  • DocNo string - Optional AutoCount document number.
  • DocDate date - Deposit date.
  • DebtorCode string - Customer/debtor code.
  • Description string - Deposit description.
  • Note string - Note.
  • ProjNo string - Header project code.
  • DeptNo string - Header department code.
  • DepositPaymentMethod string - Deposit payment method.
  • IsSecurityDeposit boolean - Security deposit flag.

Detail payload

  • PaymentMethod string - Payment method code.
  • ChequeNo string - Cheque/reference number.
  • PaymentAmt number - Deposit amount.
  • BankCharge number - Bank charge amount.
  • PaymentBy string - Payment by label.

Options payload

  • DocNoFormatName string - Optional AutoCount numbering format.
AR Refundar-refund

Use read-ar-outstanding-documents before knock-off/allocation writes. Header updates use debtorCode plus docNo.

Full payload schema: /v1/schema/commands/create-ar-refund

View / read commands

Write commands

  • validate-ar-refund read - Validate an AR refund without saving. Refund knocks off AR credit notes, not invoices. Use docType RC or friendly CN alias; docKey is recommended.
  • create-ar-refund write - Create an AR refund. Refund knocks off AR credit notes, not invoices. Use docType RC or friendly CN alias; docKey is recommended.
  • update-ar-refund write - Update AR refund header/simple fields.
  • void-ar-refund write - Guarded AR refund void request.
  • delete-ar-refund write - Guarded AR refund delete request.

PDF / report commands

Header / Master payload

  • DocNo string - Optional AutoCount document number.
  • DocDate date - Refund date.
  • DebtorCode string - Customer/debtor code.
  • Description string - Refund description.
  • ReferenceInvoiceNo string - Reference invoice number.
  • CurrencyCode string - Currency code.
  • Note string - Note.

Detail payload

  • PaymentMethod string - Exact AutoCount payment method code.
  • ChequeNo string - Cheque/reference number.
  • PaymentAmt number - Refund payment amount.
  • BankCharge number - Bank charge amount.
  • PaymentBy string - Payment by label.

Knock-off payload

  • DocType string - Credit-note document type such as RC.
  • DocKey number - AutoCount credit note key.
  • DocNo string - Credit note document number.
  • KnockOffDate date - Knock-off date.
  • KnockOffAmount number - Allocated amount.

Options payload

  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.
AR Credit Notear-credit-note

Use read-ar-outstanding-documents before knock-off/allocation writes. Header updates use debtorCode plus docNo.

Full payload schema: /v1/schema/commands/create-ar-credit-note

View / read commands

Write commands

PDF / report commands

Header / Master payload

  • DocNo string - Optional AutoCount document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • CNType string - Credit note type.
  • Reason string - Credit/debit note reason.
  • Ref string - Reference.
  • Description string - Header description.
  • JournalType string - Journal type.
  • TaxDocNo string - Tax document number.
  • OurInvoiceNo string - Our invoice number.

Detail payload

  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • Description string - Line description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Amount number - Line amount.
  • TaxCode string - Tax code.

Knock-off payload

  • DocType string - AutoCount knock-off document type.
  • DocKey number - AutoCount outstanding document key.
  • DocNo string - Outstanding document number.
  • KnockOffDate date - Knock-off date.
  • KnockOffAmount number - Allocated amount.

Options payload

  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.
AR Debit Notear-debit-note

Use read-ar-outstanding-documents before knock-off/allocation writes. Header updates use debtorCode plus docNo.

Full payload schema: /v1/schema/commands/create-ar-debit-note

View / read commands

Write commands

PDF / report commands

Header / Master payload

  • DocNo string - Optional AutoCount document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DNType string - Debit note type.
  • Reason string - Credit/debit note reason.
  • Ref string - Reference.
  • Description string - Header description.
  • JournalType string - Journal type.
  • TaxDocNo string - Tax document number.
  • OurInvoiceNo string - Our invoice number.

Detail payload

  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • Description string - Line description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Amount number - Line amount.
  • TaxCode string - Tax code.

Knock-off payload

  • DocType string - AutoCount knock-off document type.
  • DocKey number - AutoCount outstanding document key.
  • DocNo string - Outstanding document number.
  • KnockOffDate date - Knock-off date.
  • KnockOffAmount number - Allocated amount.

Options payload

  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.
AP Document-level guide for read/view commands, write commands, and AutoCount native payload sections. 6 documents
AP Invoiceap-invoice

Use read-ap-outstanding-documents before knock-off/allocation writes. Header updates use creditorCode plus docNo.

Full payload schema: /v1/schema/commands/create-ap-invoice

View / read commands

Write commands

PDF / report commands

Header / Master payload

  • DocNo string - Optional AutoCount document number.
  • DocDate date - Document date.
  • DueDate date - Due date.
  • CreditorCode string - Supplier/creditor code.
  • Description string - Header description.
  • Ref string - Reference.
  • RefNo string - Reference number.
  • RefNo2 string - Reference number 2.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • DisplayTerm string - Credit term.
  • TaxEntityID number - Tax entity maintenance id.
  • InclusiveTax boolean - Inclusive tax flag.
  • JournalType string - Journal type.
  • SupplierInvoiceNo string - Supplier invoice number.

Detail payload

  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Amount number - Line amount.
  • TaxCode string - Tax code.
  • TaxAmt number - Tax amount.

Options payload

  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.
AP Paymentap-payment

Use read-ap-outstanding-documents before knock-off/allocation writes. Header updates use creditorCode plus docNo.

Full payload schema: /v1/schema/commands/create-ap-payment

View / read commands

Write commands

PDF / report commands

Header / Master payload

  • DocNo string - Optional AutoCount document number.
  • DocDate date - Payment document date.
  • CreditorCode string - Supplier/creditor code.
  • ProjNo string - Header project code.
  • DeptNo string - Header department code.
  • Description string - Payment description.
  • CurrencyCode string - Currency code.
  • Note string - Payment note.

Detail payload

  • PaymentMethod string - Exact AutoCount payment method code.
  • ChequeNo string - Cheque/reference number.
  • PaymentAmt number - Payment amount.
  • BankCharge number - Bank charge amount.
  • ToBankRate number - Bank currency rate.
  • PaymentBy string - Payment by label.

Knock-off payload

  • DocType string - AutoCount knock-off document type such as PB.
  • DocKey number - AutoCount outstanding document key.
  • DocNo string - Outstanding document number.
  • KnockOffDate date - Knock-off date.
  • KnockOffAmount number - Allocated amount.

Options payload

  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.
AP Depositap-deposit

Use read-ap-outstanding-documents before knock-off/allocation writes. Header updates use creditorCode plus docNo.

Full payload schema: /v1/schema/commands/create-ap-deposit

View / read commands

Write commands

PDF / report commands

Header / Master payload

  • DocNo string - Optional AutoCount document number.
  • DocDate date - Deposit date.
  • CreditorCode string - Supplier/creditor code.
  • Description string - Deposit description.
  • Note string - Note.
  • ProjNo string - Header project code.
  • DeptNo string - Header department code.
  • DepositPaymentMethod string - Deposit payment method.
  • IsSecurityDeposit boolean - Security deposit flag.

Detail payload

  • PaymentMethod string - Payment method code.
  • ChequeNo string - Cheque/reference number.
  • PaymentAmt number - Deposit amount.
  • BankCharge number - Bank charge amount.
  • PaymentBy string - Payment by label.

Options payload

  • DocNoFormatName string - Optional AutoCount numbering format.
AP Refundap-refund

Use read-ap-outstanding-documents before knock-off/allocation writes. Header updates use creditorCode plus docNo.

Full payload schema: /v1/schema/commands/create-ap-refund

View / read commands

Write commands

  • validate-ap-refund read - Validate an AP refund without saving. Refund knocks off AP credit notes, not supplier invoices. Use docType PC or friendly CN alias; docKey is recommended.
  • create-ap-refund write - Create an AP refund. Refund knocks off AP credit notes, not supplier invoices. Use docType PC or friendly CN alias; docKey is recommended.
  • update-ap-refund write - Update AP refund header/simple fields.
  • void-ap-refund write - Guarded AP refund void request.
  • delete-ap-refund write - Guarded AP refund delete request.

PDF / report commands

Header / Master payload

  • DocNo string - Optional AutoCount document number.
  • DocDate date - Refund date.
  • CreditorCode string - Supplier/creditor code.
  • Description string - Refund description.
  • ReferenceInvoiceNo string - Reference invoice number.
  • CurrencyCode string - Currency code.
  • Note string - Note.

Detail payload

  • PaymentMethod string - Exact AutoCount payment method code.
  • ChequeNo string - Cheque/reference number.
  • PaymentAmt number - Refund payment amount.
  • BankCharge number - Bank charge amount.
  • PaymentBy string - Payment by label.

Knock-off payload

  • DocType string - Credit-note document type such as PC.
  • DocKey number - AutoCount credit note key.
  • DocNo string - Credit note document number.
  • KnockOffDate date - Knock-off date.
  • KnockOffAmount number - Allocated amount.

Options payload

  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.
AP Credit Noteap-credit-note

Use read-ap-outstanding-documents before knock-off/allocation writes. Header updates use creditorCode plus docNo.

Full payload schema: /v1/schema/commands/create-ap-credit-note

View / read commands

Write commands

PDF / report commands

Header / Master payload

  • DocNo string - Optional AutoCount document number.
  • DocDate date - Document date.
  • CreditorCode string - Supplier/creditor code.
  • CNType string - Credit note type.
  • Reason string - Credit/debit note reason.
  • Ref string - Reference.
  • Description string - Header description.
  • JournalType string - Journal type.
  • SupplierCNNo string - Supplier credit note number.
  • SupplierInvoiceNo string - Supplier invoice number.

Detail payload

  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • Description string - Line description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Amount number - Line amount.
  • TaxCode string - Tax code.

Knock-off payload

  • DocType string - AutoCount knock-off document type.
  • DocKey number - AutoCount outstanding document key.
  • DocNo string - Outstanding document number.
  • KnockOffDate date - Knock-off date.
  • KnockOffAmount number - Allocated amount.

Options payload

  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.
AP Debit Noteap-debit-note

Use read-ap-outstanding-documents before knock-off/allocation writes. Header updates use creditorCode plus docNo.

Full payload schema: /v1/schema/commands/create-ap-debit-note

View / read commands

Write commands

PDF / report commands

Header / Master payload

  • DocNo string - Optional AutoCount document number.
  • DocDate date - Document date.
  • CreditorCode string - Supplier/creditor code.
  • DNType string - Debit note type.
  • Reason string - Credit/debit note reason.
  • Ref string - Reference.
  • Description string - Header description.
  • JournalType string - Journal type.
  • SupplierDNNo string - Supplier debit note number.
  • SupplierInvoiceNo string - Supplier invoice number.

Detail payload

  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • Description string - Line description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Amount number - Line amount.
  • TaxCode string - Tax code.

Knock-off payload

  • DocType string - AutoCount knock-off document type.
  • DocKey number - AutoCount outstanding document key.
  • DocNo string - Outstanding document number.
  • KnockOffDate date - Knock-off date.
  • KnockOffAmount number - Allocated amount.

Options payload

  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.
Stock Document-level guide for read/view commands, write commands, and AutoCount native payload sections. 8 documents
Stock Adjustmentstock-adjustment

Use stock line reads for item/location/UOM/batch/serial/cost detail. Use max/limit for large stock books.

Full payload schema: /v1/schema/commands/create-stock-adjustment

View / read commands

Write commands

PDF / report commands

Header / Master payload

  • DocNo string - Stock document number.
  • DocDate date - Document date.
  • Description string - Document description.
  • UserDefinedFields object - Header UDF object.

Detail payload

  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - From/location code.
  • ToLocation string - Destination location for transfers.
  • Qty number - Quantity.
  • UnitCost number - Unit cost.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • UserDefinedFields object - Detail UDF object.
Stock Receivestock-receive

Use stock line reads for item/location/UOM/batch/serial/cost detail. Use max/limit for large stock books.

Full payload schema: /v1/schema/commands/create-stock-receive

View / read commands

Write commands

PDF / report commands

Header / Master payload

  • DocNo string - Stock document number.
  • DocDate date - Document date.
  • Description string - Document description.
  • UserDefinedFields object - Header UDF object.

Detail payload

  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - From/location code.
  • ToLocation string - Destination location for transfers.
  • Qty number - Quantity.
  • UnitCost number - Unit cost.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • UserDefinedFields object - Detail UDF object.
Stock Issuestock-issue

Use stock line reads for item/location/UOM/batch/serial/cost detail. Use max/limit for large stock books.

Full payload schema: /v1/schema/commands/create-stock-issue

View / read commands

Write commands

PDF / report commands

Header / Master payload

  • DocNo string - Stock document number.
  • DocDate date - Document date.
  • Description string - Document description.
  • UserDefinedFields object - Header UDF object.

Detail payload

  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - From/location code.
  • ToLocation string - Destination location for transfers.
  • Qty number - Quantity.
  • UnitCost number - Unit cost.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • UserDefinedFields object - Detail UDF object.
Stock Transferstock-transfer

Use stock line reads for item/location/UOM/batch/serial/cost detail. Use max/limit for large stock books.

Full payload schema: /v1/schema/commands/create-stock-transfer

View / read commands

Write commands

PDF / report commands

Header / Master payload

  • DocNo string - Stock document number.
  • DocDate date - Document date.
  • Description string - Document description.
  • UserDefinedFields object - Header UDF object.

Detail payload

  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - From/location code.
  • ToLocation string - Destination location for transfers.
  • Qty number - Quantity.
  • UnitCost number - Unit cost.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • UserDefinedFields object - Detail UDF object.
Stock UOM Conversionstock-uom-conversion

Use stock line reads for item/location/UOM/batch/serial/cost detail. Use max/limit for large stock books.

Full payload schema: /v1/schema/commands/create-stock-uom-conversion

View / read commands

Write commands

PDF / report commands

Header / Master payload

No field names are published for this section yet.

Detail payload

No field names are published for this section yet.

Stock Takestock-take

Use stock line reads for item/location/UOM/batch/serial/cost detail. Use max/limit for large stock books.

Full payload schema: /v1/schema/commands/create-stock-take

View / read commands

Write commands

PDF / report commands

Header / Master payload

  • DocNo string - Stock document number.
  • DocDate date - Document date.
  • Description string - Document description.
  • UserDefinedFields object - Header UDF object.

Detail payload

  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - From/location code.
  • ToLocation string - Destination location for transfers.
  • Qty number - Quantity.
  • UnitCost number - Unit cost.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • UserDefinedFields object - Detail UDF object.
Stock Write Offstock-write-off

Use stock line reads for item/location/UOM/batch/serial/cost detail. Use max/limit for large stock books.

Full payload schema: /v1/schema/commands/create-stock-write-off

View / read commands

Write commands

PDF / report commands

Header / Master payload

No field names are published for this section yet.

Detail payload

No field names are published for this section yet.

Stock Update Coststock-update-cost

Use stock line reads for item/location/UOM/batch/serial/cost detail. Use max/limit for large stock books.

Full payload schema: /v1/schema/commands/create-stock-update-cost

View / read commands

Write commands

PDF / report commands

Header / Master payload

No field names are published for this section yet.

Detail payload

No field names are published for this section yet.

POS Document-level guide for read/view commands, write commands, and AutoCount native payload sections. 1 documents
POS Raw Transactionspos-raw-transactions

POS is DLL raw read only. Use list for receipt ranges and get for one receipt/document. For shops closing after midnight, send businessDate with businessDayEndTime.

Full payload schema: /v1/schema/commands/list-pos-raw-transactions

View / read commands

Write commands

None published for this document yet.

Header / Master payload

  • businessDate date - POS business date. Use with businessDayEndTime when the shop closes after midnight.
  • dateFrom date - Optional start date/time filter.
  • dateTo date - Optional end date/time filter.
  • businessDayEndTime string - Optional close time such as 02:00 for shops that close after midnight.
  • docNo string - POS receipt/document number for get.
  • docKey number - AutoCount POS document key for get.
  • maxRows number - Maximum POS rows to return. Use bounded reads for large POS books.

Detail payload

  • ItemCode string - POS item code returned by AutoCount POS DLL.
  • Description string - POS item/line description.
  • Qty number - Quantity sold.
  • UOM string - Unit of measure.
  • UnitPrice number - Unit price.
  • Discount string - Discount text/amount where returned.
  • TaxCode string - Tax code where returned.
  • Amount number - Line amount.

Payment payload

  • PaymentMethod string - POS payment method returned by AutoCount POS DLL.
  • PaymentAmount number - Payment amount.
  • ReferenceNo string - Payment/reference number where returned.

Options payload

  • includeRawTables boolean - Return raw DLL tables where supported.
GL Document-level guide for read/view commands, write commands, and AutoCount native payload sections. 1 documents
Journal Entryjournal-entry

Journal detail debit and credit must balance before save.

Full payload schema: /v1/schema/commands/create-journal-entry

View / read commands

Write commands

PDF / report commands

Header / Master payload

  • DocNo string - Journal document number.
  • DocDate date - Journal date.
  • JournalType string - Journal type.
  • Description string - Journal description.

Detail payload

  • AccNo string - GL account number.
  • Description string - Line description.
  • Debit number - Debit amount.
  • Credit number - Credit amount.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • TaxCode string - Tax code.
GL Cash Book Document-level guide for read/view commands, write commands, and AutoCount native payload sections. 2 documents
GL Cash Book Paymentgl-cash-book-payment

Payment voucher payload has header, posting lines, and payment method rows.

Full payload schema: /v1/schema/commands/create-gl-cash-book-payment

View / read commands

Write commands

PDF / report commands

Header / Master payload

  • DocNo string - Cash book document number.
  • DocDate date - Cash book date.
  • PayTo string - Payment payee.
  • TaxEntityID number - Tax entity maintenance id.
  • Description string - Cash book description.

Detail payload

  • AccNo string - GL account number.
  • Amount number - Cash book line amount.

Payment payload

  • PaymentMethod string - Payment method code.
  • PaymentAmount number - Payment amount.
GL Cash Book Receiptgl-cash-book-receipt

Official receipt payload has header, posting lines, and payment method rows.

Full payload schema: /v1/schema/commands/create-gl-cash-book-receipt

View / read commands

Write commands

PDF / report commands

Header / Master payload

  • DocNo string - Cash book document number.
  • DocDate date - Cash book date.
  • ReceiveFrom string - Receipt payer.
  • TaxEntityID number - Tax entity maintenance id.
  • Description string - Cash book description.

Detail payload

  • AccNo string - GL account number.
  • Amount number - Cash book line amount.

Payment payload

  • PaymentMethod string - Payment method code.
  • PaymentAmount number - Payment amount.
Bank Reconciliation Document-level guide for read/view commands, write commands, and AutoCount native payload sections. 1 documents
Bank Reconciliationgl-bank-reconciliation

Read uncleared rows first, then create/update with selected BankTransKey values.

Full payload schema: /v1/schema/commands/create-gl-bank-reconciliation

View / read commands

Write commands

Header / Master payload

  • AccNo string - Bank/cash account number.
  • ReconDate date - Reconciliation date.
  • ActualBalance number - Actual bank balance.

Detail payload

  • BankTransKey string - Bank reconciliation transaction key.
  • DocNo string - Document number.

Complete Module Command Reference

This is the human-readable detail for the same command catalog exposed in /openapi.json. Start with the module matrix above, then search here when you need the exact command type and JSON payload. For the full machine-readable payload schema, open /v1/schema/commands/{commandType} or use the Full payload schema link inside each command card.

AR/AP field rule: AR is customer/debtor and uses debtorCode. AP is supplier/creditor and uses creditorCode. If the user says supplier, purchase, A/P, AP invoice, AP payment, AP refund, AP credit note, or AP debit note, use the AP command and never use debtorCode.
Total commands: 709 delete: 1 | read: 284 | report: 12 | write: 412
Read 220Validate 46Create 83Edit 79Void 73Delete 61Transfer 17PDF/Report 17Bulk 59e-Invoice 11write 34read 8delete 1

Showing all 709 commands. Open a module, then open one command to see payload fields and JSON.

Administration1 commandswrite 1
change-user-id write write Change an AutoCount user ID.

Full payload schema: /v1/schema/commands/change-user-id

Payload fields

oldUserID
required old value for oldUserID
newUserID
required new value for newUserID
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example JSON

{
  "oldUserID": "old.user",
  "newUserID": "new.user",
  "confirm": true
}

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

AP51 commandsRead 22Validate 6Create 6Edit 6Void 5Delete 5read 1
create-ap-credit-note write Create Create an AP credit note. Supports knock-offs and guarded MyInvois type 12 self-billed recovery for TSM.

Full payload schema: /v1/schema/commands/create-ap-credit-note

Payload fields

creditorCode
required AutoCount creditor/supplier code
supplierCreditNoteNo
supplier credit note number
docDate
required or optional YYYY-MM-DD document date
amount
optional single-line amount; lines is preferred for multiple lines
knockOffs
optional array for credit/debit note knock-off where AutoCount supports it
restoreMode
optional internal recovery value recover-existing-myinvois-direct
confirmNoLhdnSubmit
required true in recovery mode
taxEntity
supplier taxpayer identity required in recovery mode
buyerTaxEntity
buyer taxpayer identity required in recovery mode
eInvoiceRecovery
required UUID, timestamps, status, link, totals and tax in recovery mode
_arApRule
AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
dueDate
optional YYYY-MM-DD due date
description
optional document description/narration
ref
optional reference
branchCode
optional creditor/supplier branch code/name where the customer uses branches
attention
optional attention/contact person
contact
optional contact person alias for attention
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean
taxDate
optional YYYY-MM-DD tax date
accountNo
required for simple one-line AP payload unless every line has accountNo; use a valid purchase/expense GL account
taxType
optional tax type/code
lines
recommended array of AP GL/account rows; each AP line must choose a valid posting account with accountNo / accNo / glAccount / postingAccountNo
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "creditorCode": "400-S001",
  "supplierCreditNoteNo": "SCN-001",
  "docDate": "2026-06-24",
  "amount": 100,
  "knockOffs": [
    {
      "docType": "PB",
      "docKey": "424508",
      "docNo": "PI-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0
    }
  ],
  "dueDate": "2026-07-24",
  "description": "AP document created through API",
  "ref": "API-REF-1001",
  "branchCode": "MAIN",
  "attention": "Accounts Department",
  "contact": "Accounts Department",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "lines": [
    {
      "accountNo": "610-0000",
      "description": "Service line 1",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "taxAmount": 0,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    },
    {
      "accountNo": "620-0000",
      "description": "Different posting account line",
      "amount": 50,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Normal create requires write access. Recovery is companyId=tsm only, UUID guarded, native SelfBilled-linked, reload verified, and does not submit to LHDN. AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP. Use read-ap-outstanding-documents first when a knock-off needs docKey. For simple invoices, amount/accountNo still works. For multiple posting accounts, send lines and put accountNo on each line. AR/AP invoice/note posting account order is: lines[].accountNo/top-level accountNo, AutoCount default account only when needed, then safe recent same-party history where the connector has a proven read path.

create-ap-debit-note write Create Create an AP debit note; guarded MyInvois type 13 self-billed recovery is supported for TSM.

Full payload schema: /v1/schema/commands/create-ap-debit-note

Payload fields

creditorCode
required AutoCount creditor/supplier code
supplierDebitNoteNo
supplier debit note number optional
docDate
required or optional YYYY-MM-DD document date
amount
optional single-line amount; lines is preferred for multiple lines
restoreMode
optional internal recovery value recover-existing-myinvois-direct
confirmNoLhdnSubmit
required true in recovery mode
taxEntity
supplier taxpayer identity required in recovery mode
buyerTaxEntity
buyer taxpayer identity required in recovery mode
eInvoiceRecovery
required UUID, timestamps, status, link, totals and tax in recovery mode
_arApRule
AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
dueDate
optional YYYY-MM-DD due date
description
optional document description/narration
ref
optional reference
branchCode
optional creditor/supplier branch code/name where the customer uses branches
attention
optional attention/contact person
contact
optional contact person alias for attention
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean
taxDate
optional YYYY-MM-DD tax date
accountNo
required for simple one-line AP payload unless every line has accountNo; use a valid purchase/expense GL account
taxType
optional tax type/code
lines
recommended array of AP GL/account rows; each AP line must choose a valid posting account with accountNo / accNo / glAccount / postingAccountNo
knockOffs
optional array for credit/debit note knock-off where AutoCount supports it
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "creditorCode": "400-S001",
  "supplierDebitNoteNo": "SDN-001",
  "docDate": "2026-06-24",
  "amount": 100,
  "dueDate": "2026-07-24",
  "description": "AP document created through API",
  "ref": "API-REF-1001",
  "branchCode": "MAIN",
  "attention": "Accounts Department",
  "contact": "Accounts Department",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "lines": [
    {
      "accountNo": "610-0000",
      "description": "Service line 1",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "taxAmount": 0,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    },
    {
      "accountNo": "620-0000",
      "description": "Different posting account line",
      "amount": 50,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022"
    }
  ],
  "knockOffs": [
    {
      "docType": "PB",
      "docKey": "424508",
      "docNo": "PI-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Normal create uses AutoCount SDK. Recovery is companyId=tsm only, UUID guarded, native SelfBilled-linked, reload verified, and does not submit to LHDN. AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP. Use read-ap-outstanding-documents first when a knock-off needs docKey. For simple invoices, amount/accountNo still works. For multiple posting accounts, send lines and put accountNo on each line. AR/AP invoice/note posting account order is: lines[].accountNo/top-level accountNo, AutoCount default account only when needed, then safe recent same-party history where the connector has a proven read path.

create-ap-deposit write Create Create an AP deposit with a real payment detail and GL transaction.

Full payload schema: /v1/schema/commands/create-ap-deposit

Payload fields

creditorCode
required AutoCount creditor/supplier code
docDate
required or optional YYYY-MM-DD document date
amount
required deposit amount
paymentMethod
optional AutoCount Payment Method code such as CASH or MAYBANK
_arApRule
AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
depositPaymentMethod
optional AutoCount deposit header payment method; defaults from paymentMethod
paymentBy
optional payment type such as Cash, Cheque, Bank Transfer, Credit Card
chequeNo
optional cheque/reference number
bankCharge
optional bank charge amount
description
optional deposit narration
note
optional note
isSecurityDeposit
optional boolean; true for security deposit where AutoCount account book supports it
project
optional project code
department
optional department code

Example JSON

{
  "creditorCode": "400-S001",
  "docDate": "2026-06-24",
  "amount": 100,
  "paymentMethod": "CASH",
  "depositPaymentMethod": "CASH",
  "paymentBy": "Cash",
  "chequeNo": "API-DEP-1001",
  "bankCharge": 0,
  "description": "AP deposit created through API",
  "note": "Deposit received before invoice",
  "isSecurityDeposit": false,
  "project": "PRJAPI",
  "department": "HQ"
}

Notes: Requires write access permission. Real save is tested against AutoCount APDepositCommand and verifies GLTrxID. AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP. Creates a real AutoCount deposit with one payment detail row and posts a GL transaction when saved.

create-ap-invoice write Create Create an AP invoice.

Full payload schema: /v1/schema/commands/create-ap-invoice

Payload fields

creditorCode
required AutoCount creditor/supplier code
supplierInvoiceNo
required supplier invoice number
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
dueDate
optional YYYY-MM-DD due date
ref
optional reference
currencyCode
optional currency code such as MYR
inclusiveTax
optional boolean
project
optional top-level project fallback for all AP invoice detail lines
projNo
project code alias
projectNo
project code alias
department
optional top-level department fallback
deptNo
department code alias
lines
recommended array of AP GL/account rows; each AP line must choose a valid posting account with accountNo / accNo / glAccount / postingAccountNo
accountNo
required for simple one-line AP payload unless every line has accountNo; use a valid purchase/expense GL account
amount
optional single-line amount; lines is preferred for multiple lines
_arApRule
AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP.
description
optional document description/narration
branchCode
optional creditor/supplier branch code/name where the customer uses branches
attention
optional attention/contact person
contact
optional contact person alias for attention
currencyRate
optional exchange rate
taxDate
optional YYYY-MM-DD tax date
taxType
optional tax type/code
knockOffs
optional array for credit/debit note knock-off where AutoCount supports it
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "creditorCode": "400-S001",
  "supplierInvoiceNo": "SUP-INV-1001",
  "docDate": "2026-06-24",
  "dueDate": "2026-07-24",
  "ref": "API-REF-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "project": "PRJAPI",
  "projNo": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "accountNo": "610-0000",
      "description": "Service line 1",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "taxAmount": 0,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    },
    {
      "accountNo": "620-0000",
      "description": "Different posting account line",
      "amount": 50,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022"
    }
  ],
  "description": "AP document created through API",
  "branchCode": "MAIN",
  "attention": "Accounts Department",
  "contact": "Accounts Department",
  "knockOffs": [
    {
      "docType": "PB",
      "docKey": "424508",
      "docNo": "PI-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Creates AP invoice through AutoCount SDK. The connector pre-checks creditorCode, AP journalType, detail count, and every GL posting account before SaveAPInvoice. Posting account order is: lines[].accountNo/top-level accountNo, AutoCount default purchase account, then recent AP invoice detail account for the same creditor. Send top-level project/projNo to apply one project to every line, or send line-level project/projNo for different projects per line. For taxable AP lines, use a purchase-side tax code from list-tax-codes, for example TX in Singapore GST books. AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP. Use read-ap-outstanding-documents first when a knock-off needs docKey. For simple invoices, amount/accountNo still works. For multiple posting accounts, send lines and put accountNo on each line. AR/AP invoice/note posting account order is: lines[].accountNo/top-level accountNo, AutoCount default account only when needed, then safe recent same-party history where the connector has a proven read path.

create-ap-payment write Create Create an AP payment. Supports one or many real supplier invoice knock-offs.

Full payload schema: /v1/schema/commands/create-ap-payment

Payload fields

creditorCode
required AutoCount creditor/supplier code
docDate
required or optional YYYY-MM-DD document date
amount
required total payment/refund amount
knockOffs
optional array of documents to allocate this payment/refund against; docKey is recommended
_arApRule
AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
paymentMethod
required or optional AutoCount Payment Method code such as CASH or MAYBANK
paymentBy
optional payment type such as Cash, Cheque, Bank Transfer, Credit Card
chequeNo
optional cheque/reference number
bankCharge
optional bank charge amount
paymentAccountNo
optional GL bank/cash account number
bankChargeAccountNo
optional GL bank charge account number
creditCardApprovalCode
optional credit-card approval code/reference
description
optional payment/refund narration
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "creditorCode": "400-S001",
  "docDate": "2026-06-24",
  "amount": 100,
  "knockOffs": [
    {
      "docType": "PB",
      "docKey": "424508",
      "docNo": "PI-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0,
      "gainLossAmount": 0,
      "withholdingTaxAmount": 0
    }
  ],
  "paymentMethod": "CASH",
  "paymentBy": "Cash",
  "chequeNo": "API-PAY-1001",
  "bankCharge": 0,
  "paymentAccountNo": "110-0010",
  "bankChargeAccountNo": "810-0000",
  "creditCardApprovalCode": "",
  "description": "AP payment/refund created through API",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Requires write access permission. Real multi-invoice knock-off save is proven; PI aliases are normalized to PB. AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP. For payment against invoices use RI for AR and PB for AP. For refund against credit notes use RC/ARCN for AR and PC/APCN for AP. Friendly aliases are normalized by the connector where supported.

create-ap-refund write Create Create an AP refund. Refund knocks off AP credit notes, not supplier invoices. Use docType PC or friendly CN alias; docKey is recommended.

Full payload schema: /v1/schema/commands/create-ap-refund

Payload fields

creditorCode
required AutoCount creditor/supplier code
docDate
required or optional YYYY-MM-DD document date
amount
required total payment/refund amount
knockOffs
optional array of documents to allocate this payment/refund against; docKey is recommended
_arApRule
AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
paymentMethod
required or optional AutoCount Payment Method code such as CASH or MAYBANK
paymentBy
optional payment type such as Cash, Cheque, Bank Transfer, Credit Card
chequeNo
optional cheque/reference number
bankCharge
optional bank charge amount
paymentAccountNo
optional GL bank/cash account number
bankChargeAccountNo
optional GL bank charge account number
creditCardApprovalCode
optional credit-card approval code/reference
description
optional payment/refund narration
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "creditorCode": "400-S001",
  "docDate": "2026-06-24",
  "amount": 100,
  "knockOffs": [
    {
      "docType": "PB",
      "docKey": "424508",
      "docNo": "PI-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0,
      "gainLossAmount": 0,
      "withholdingTaxAmount": 0
    }
  ],
  "paymentMethod": "CASH",
  "paymentBy": "Cash",
  "chequeNo": "API-PAY-1001",
  "bankCharge": 0,
  "paymentAccountNo": "110-0010",
  "bankChargeAccountNo": "810-0000",
  "creditCardApprovalCode": "",
  "description": "AP payment/refund created through API",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Requires write access permission. Real AP refund knock-off save is proven against AP credit notes; CN aliases are normalized to PC. AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP. For payment against invoices use RI for AR and PB for AP. For refund against credit notes use RC/ARCN for AR and PC/APCN for AP. Friendly aliases are normalized by the connector where supported.

delete-ap-credit-note write Delete Guarded AP credit note delete request.

Full payload schema: /v1/schema/commands/delete-ap-credit-note

Payload fields

docNo
required
reason
required

Example JSON

{
  "docNo": "PCN-000001",
  "reason": "remove/correct document"
}

Notes: Returns deleteBlocked. Use reversal, cancellation, or replacement workflow until module-specific AutoCount delete safety is proven.

delete-ap-debit-note write Delete Guarded AP debit note delete request.

Full payload schema: /v1/schema/commands/delete-ap-debit-note

Payload fields

docNo
required
reason
required

Example JSON

{
  "docNo": "PDN-000001",
  "reason": "remove/correct document"
}

Notes: Returns deleteBlocked. Use reversal, cancellation, or replacement workflow until module-specific AutoCount delete safety is proven.

delete-ap-invoice write Delete Guarded AP invoice delete request.

Full payload schema: /v1/schema/commands/delete-ap-invoice

Payload fields

docNo
required
reason
required

Example JSON

{
  "docNo": "API-000001",
  "reason": "remove/correct document"
}

Notes: Returns deleteBlocked. Use reversal, cancellation, or replacement workflow until module-specific AutoCount delete safety is proven.

delete-ap-payment write Delete Guarded AP payment delete request.

Full payload schema: /v1/schema/commands/delete-ap-payment

Payload fields

docNo
required
reason
required

Example JSON

{
  "docNo": "PV-000001",
  "reason": "remove/correct document"
}

Notes: Returns deleteBlocked. Use reversal, cancellation, or replacement workflow until module-specific AutoCount delete safety is proven.

delete-ap-refund write Delete Guarded AP refund delete request.

Full payload schema: /v1/schema/commands/delete-ap-refund

Payload fields

docNo
required
reason
required

Example JSON

{
  "docNo": "PV-000001",
  "reason": "remove/correct document"
}

Notes: Returns deleteBlocked. Use reversal, cancellation, or replacement workflow until module-specific AutoCount delete safety is proven.

export-creditor-details read read Export up to 5000 creditor/supplier master records in one read-only command.

Full payload schema: /v1/schema/commands/export-creditor-details

Payload fields

maxCreditors
optional integer 1-5000, default 5000
maxTableRows
optional integer 1-1000 per child table per supplier, default 20; zero is rejected
includeTableData
optional boolean, default true; child rows are available only in full mode
activeOnly
optional boolean, default false
detailMode
optional: auto (default, fast master fields) | full (bounded per-supplier SDK fields and child tables)

Example JSON

{
  "maxCreditors": 5000,
  "includeTableData": false,
  "activeOnly": false,
  "detailMode": "auto"
}

Notes: Fast mode returns flat data rows, not sequential get-creditor-detail calls. Use detailMode:"full" with includeTableData:true for contact/branch tables. Check partial, truncated, failedRows/failedCreditors and childTablesTruncated; do not treat a bounded export as complete. Large responses expose artifactUrl; download GET /v1/commands/{commandId}/artifact with the same tenant authorization. The authenticated artifact contains the original result, while inline data may be a preview.

get-ap-credit-note read Read Get one AP credit note by document number.

Full payload schema: /v1/schema/commands/get-ap-credit-note

Payload fields

docNo
required AP credit note document number

Example JSON

{
  "docNo": "PCN-000001"
}
get-ap-debit-note read Read Get one AP debit note by document number.

Full payload schema: /v1/schema/commands/get-ap-debit-note

Payload fields

docNo
required AP debit note document number

Example JSON

{
  "docNo": "PDN-000001"
}
get-ap-deposit read Read Get one AP deposit by document number.

Full payload schema: /v1/schema/commands/get-ap-deposit

Payload fields

docNo
required AP deposit document number

Example JSON

{
  "docNo": "PV-000001"
}
get-ap-invoice read Read Get one AP invoice by document number.

Full payload schema: /v1/schema/commands/get-ap-invoice

Payload fields

docNo
required AP invoice document number

Example JSON

{
  "docNo": "API-000001"
}
get-ap-payment read Read Get one AP payment by document number.

Full payload schema: /v1/schema/commands/get-ap-payment

Payload fields

docNo
required AP payment document number

Example JSON

{
  "docNo": "PV-000001"
}
get-ap-refund read Read Get one AP refund by document number.

Full payload schema: /v1/schema/commands/get-ap-refund

Payload fields

docNo
required AP refund document number

Example JSON

{
  "docNo": "PV-000001"
}
get-creditor-detail read Read Read one creditor/supplier with all public SDK fields and child tables.

Full payload schema: /v1/schema/commands/get-creditor-detail

Payload fields

accNo
required creditor/supplier code; creditorCode or supplierCode also accepted
maxTableRows
optional child-table row limit; maxTableRows: 0 means return all child-table rows
includeTableData
optional boolean, default true

Example JSON

{
  "accNo": "400-S001",
  "maxTableRows": 0
}

Notes: Uses AutoCount.ARAP.Creditor.CreditorDataAccess.GetCreditor. Returns fields and child tables such as CreditorTable, BranchTable, ContactTable, TaxExemptionTable, and GLMastTable when available.

list-ap-credit-notes read Read List AP credit notes.

Full payload schema: /v1/schema/commands/list-ap-credit-notes

Payload fields

No payload fields required.

Example JSON

{}
list-ap-debit-notes read Read List AP debit notes.

Full payload schema: /v1/schema/commands/list-ap-debit-notes

Payload fields

No payload fields required.

Example JSON

{}
list-ap-deposits read Read List AP deposits.

Full payload schema: /v1/schema/commands/list-ap-deposits

Payload fields

No payload fields required.

Example JSON

{}
list-ap-invoices read Read List AP invoices.

Full payload schema: /v1/schema/commands/list-ap-invoices

Payload fields

No payload fields required.

Example JSON

{}
list-ap-payments read Read List AP payments.

Full payload schema: /v1/schema/commands/list-ap-payments

Payload fields

No payload fields required.

Example JSON

{}
list-ap-refunds read Read List AP refunds.

Full payload schema: /v1/schema/commands/list-ap-refunds

Payload fields

No payload fields required.

Example JSON

{}
read-ap-credit-note-lines read Read Read AP credit note detail/account lines only.

Full payload schema: /v1/schema/commands/read-ap-credit-note-lines

Payload fields

creditorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "creditorCode": "400-S001",
  "limit": 50
}
read-ap-debit-note-lines read Read Read AP debit note detail/account lines only.

Full payload schema: /v1/schema/commands/read-ap-debit-note-lines

Payload fields

creditorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "creditorCode": "400-S001",
  "limit": 50
}
read-ap-detail-lines read Read Read AP account/detail lines across AP invoices, payments, refunds, credit notes, and debit notes.

Full payload schema: /v1/schema/commands/read-ap-detail-lines

Payload fields

creditorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "creditorCode": "400-S001",
  "limit": 50
}
read-ap-invoice-lines read Read Read AP invoice detail/account lines only.

Full payload schema: /v1/schema/commands/read-ap-invoice-lines

Payload fields

creditorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "accountNo": "610-0000",
  "limit": 50
}
read-ap-outstanding read Read Legacy AP outstanding lookup. Prefer read-ap-outstanding-documents for docKey-based knock-off.

Full payload schema: /v1/schema/commands/read-ap-outstanding

Payload fields

creditorCode
optional creditor/supplier code
maxRows
optional row limit; maxRows: 0 means return all rows

Example JSON

{
  "creditorCode": "400-S001",
  "maxRows": 0
}
read-ap-outstanding-documents read Read List outstanding AP invoice documents with docKey for allocation and knock-off.

Full payload schema: /v1/schema/commands/read-ap-outstanding-documents

Payload fields

creditorCode
optional creditor/supplier code
maxRows
optional row limit; maxRows: 0 means return all rows

Example JSON

{
  "creditorCode": "400-S001",
  "maxRows": 0
}

Notes: Returns SDK-safe docType PB plus displayDocType PI. Use the returned docType for AP payment and AP credit-note invoice knock-off.

read-ap-payment-lines read Read Read AP payment detail/payment method lines only.

Full payload schema: /v1/schema/commands/read-ap-payment-lines

Payload fields

creditorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "creditorCode": "400-S001",
  "limit": 50
}
read-ap-refund-lines read Read Read AP refund detail/payment method lines only.

Full payload schema: /v1/schema/commands/read-ap-refund-lines

Payload fields

creditorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "creditorCode": "400-S001",
  "limit": 50
}
read-creditors read Read List creditors/suppliers.

Full payload schema: /v1/schema/commands/read-creditors

Payload fields

No payload fields required.

Example JSON

{}
update-ap-credit-note write Edit Update AP credit note header/simple fields.

Full payload schema: /v1/schema/commands/update-ap-credit-note

Payload fields

docNo
required existing document number
docKey
optional existing document key
reason
required audit reason
docDate
optional YYYY-MM-DD document date
description
optional description; null or empty clears optional text
ref
optional reference where the AutoCount document exposes it
note
optional note where the AutoCount document exposes it
journalType
optional journal type where the AutoCount document exposes it
creditorCode
optional supplier/creditor code where AutoCount allows changing it
detailMode
explicit update | append | replace | delete for detail edits
lines
optional posting/detail updates selected by dtlKey
knockOffs
optional knock-off allocation edit array for credit-note style documents; each row supports docType, docKey, docNo, amount
knockOffMode
optional knock-off edit mode: replace | append | update
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values

Example JSON

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification.

update-ap-debit-note write Edit Update AP debit note header/simple fields.

Full payload schema: /v1/schema/commands/update-ap-debit-note

Payload fields

docNo
required existing document number
docKey
optional existing document key
reason
required audit reason
docDate
optional YYYY-MM-DD document date
description
optional description; null or empty clears optional text
ref
optional reference where the AutoCount document exposes it
note
optional note where the AutoCount document exposes it
journalType
optional journal type where the AutoCount document exposes it
creditorCode
optional supplier/creditor code where AutoCount allows changing it
detailMode
explicit update | append | replace | delete for detail edits
lines
optional posting/detail updates selected by dtlKey
knockOffs
optional knock-off allocation edit array for credit-note style documents; each row supports docType, docKey, docNo, amount
knockOffMode
optional knock-off edit mode: replace | append | update
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values

Example JSON

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification.

update-ap-deposit write Edit Update an AP deposit editable SDK fields and supported detail rows with persisted verification.

Full payload schema: /v1/schema/commands/update-ap-deposit

Payload fields

docNo
required existing document number
reason
required audit reason
description
optional description; null or empty clears optional text
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values
detailMode
explicit update | append | replace | delete for detail edits
paymentLines
optional payment detail updates selected by dtlKey

Example JSON

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification. Deposit editing is limited to unallocated deposits; cancelled, transferred, refunded or forfeited deposits are blocked. Native acceptance must be verified on the selected account book.

update-ap-invoice write Edit Update AP invoice header/simple fields.

Full payload schema: /v1/schema/commands/update-ap-invoice

Payload fields

docNo
required existing document number
docKey
optional existing document key
reason
required audit reason
docDate
optional YYYY-MM-DD document date
description
optional description; null or empty clears optional text
ref
optional reference where the AutoCount document exposes it
note
optional note where the AutoCount document exposes it
journalType
optional journal type where the AutoCount document exposes it
creditorCode
optional supplier/creditor code where AutoCount allows changing it
detailMode
explicit update | append | replace | delete for detail edits
lines
optional posting/detail updates selected by dtlKey
knockOffs
optional knock-off allocation edit array for credit-note style documents; each row supports docType, docKey, docNo, amount
knockOffMode
optional knock-off edit mode: replace | append | update
newDocNo
optional new AutoCount document number; docNo remains the lookup key
supplierInvoiceNo
optional supplier invoice number for AP invoice
supplierInvNo
alias for supplierInvoiceNo on AP invoice updates
invoiceNo
alias for supplierInvoiceNo on AP invoice updates
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values

Example JSON

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification. docNo selects the existing invoice; newDocNo is the dedicated renumber field, supplierInvoiceNo/invoiceNo is the supplier reference.

update-ap-payment write Edit Update AP payment header/simple fields.

Full payload schema: /v1/schema/commands/update-ap-payment

Payload fields

docNo
required existing document number
docKey
optional existing document key
reason
required audit reason
docDate
optional YYYY-MM-DD document date
description
optional description; null or empty clears optional text
ref
optional reference where the AutoCount document exposes it
note
optional note where the AutoCount document exposes it
journalType
optional journal type where the AutoCount document exposes it
creditorCode
optional supplier/creditor code where AutoCount allows changing it
detailMode
explicit update | append | replace | delete for detail edits
paymentLines
optional payment detail updates selected by dtlKey
knockOffs
optional knock-off allocation edit array; each row supports docType, docKey, docNo, amount
knockOffMode
optional knock-off edit mode: replace | append | update
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values

Example JSON

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification.

update-ap-refund write Edit Update AP refund header/simple fields.

Full payload schema: /v1/schema/commands/update-ap-refund

Payload fields

docNo
required existing document number
docKey
optional existing document key
reason
required audit reason
docDate
optional YYYY-MM-DD document date
description
optional description; null or empty clears optional text
ref
optional reference where the AutoCount document exposes it
note
optional note where the AutoCount document exposes it
journalType
optional journal type where the AutoCount document exposes it
creditorCode
optional supplier/creditor code where AutoCount allows changing it
detailMode
explicit update | append | replace | delete for detail edits
paymentLines
optional payment detail updates selected by dtlKey
knockOffs
optional knock-off allocation edit array; each row supports docType, docKey, docNo, amount
knockOffMode
optional knock-off edit mode: replace | append | update
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values

Example JSON

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification.

validate-ap-credit-note read Validate Validate an AP credit note without saving. Supports one or many real supplier invoice knock-offs.

Full payload schema: /v1/schema/commands/validate-ap-credit-note

Payload fields

creditorCode
required AutoCount creditor/supplier code
supplierCreditNoteNo
supplier credit note number
amount
optional single-line amount; lines is preferred for multiple lines
knockOffs
optional array for credit/debit note knock-off where AutoCount supports it
_arApRule
AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
dueDate
optional YYYY-MM-DD due date
description
optional document description/narration
ref
optional reference
branchCode
optional creditor/supplier branch code/name where the customer uses branches
attention
optional attention/contact person
contact
optional contact person alias for attention
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean
taxDate
optional YYYY-MM-DD tax date
accountNo
required for simple one-line AP payload unless every line has accountNo; use a valid purchase/expense GL account
taxType
optional tax type/code
lines
recommended array of AP GL/account rows; each AP line must choose a valid posting account with accountNo / accNo / glAccount / postingAccountNo
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "creditorCode": "400-S001",
  "supplierCreditNoteNo": "SCN-001",
  "amount": 100,
  "knockOffs": [
    {
      "docType": "PB",
      "docKey": "424508",
      "docNo": "PI-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0
    }
  ],
  "docDate": "2026-06-24",
  "dueDate": "2026-07-24",
  "description": "AP document created through API",
  "ref": "API-REF-1001",
  "branchCode": "MAIN",
  "attention": "Accounts Department",
  "contact": "Accounts Department",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "lines": [
    {
      "accountNo": "610-0000",
      "description": "Service line 1",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "taxAmount": 0,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    },
    {
      "accountNo": "620-0000",
      "description": "Different posting account line",
      "amount": 50,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Real positive knock-off validation is proven for outstanding AP documents. AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP. Use read-ap-outstanding-documents first when a knock-off needs docKey. For simple invoices, amount/accountNo still works. For multiple posting accounts, send lines and put accountNo on each line. AR/AP invoice/note posting account order is: lines[].accountNo/top-level accountNo, AutoCount default account only when needed, then safe recent same-party history where the connector has a proven read path.

validate-ap-debit-note read Validate Validate an AP debit note without saving.

Full payload schema: /v1/schema/commands/validate-ap-debit-note

Payload fields

creditorCode
required AutoCount creditor/supplier code
supplierDebitNoteNo
supplier debit note number optional
amount
optional single-line amount; lines is preferred for multiple lines
_arApRule
AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
dueDate
optional YYYY-MM-DD due date
description
optional document description/narration
ref
optional reference
branchCode
optional creditor/supplier branch code/name where the customer uses branches
attention
optional attention/contact person
contact
optional contact person alias for attention
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean
taxDate
optional YYYY-MM-DD tax date
accountNo
required for simple one-line AP payload unless every line has accountNo; use a valid purchase/expense GL account
taxType
optional tax type/code
lines
recommended array of AP GL/account rows; each AP line must choose a valid posting account with accountNo / accNo / glAccount / postingAccountNo
knockOffs
optional array for credit/debit note knock-off where AutoCount supports it
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "creditorCode": "400-S001",
  "supplierDebitNoteNo": "SDN-001",
  "amount": 100,
  "docDate": "2026-06-24",
  "dueDate": "2026-07-24",
  "description": "AP document created through API",
  "ref": "API-REF-1001",
  "branchCode": "MAIN",
  "attention": "Accounts Department",
  "contact": "Accounts Department",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "lines": [
    {
      "accountNo": "610-0000",
      "description": "Service line 1",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "taxAmount": 0,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    },
    {
      "accountNo": "620-0000",
      "description": "Different posting account line",
      "amount": 50,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022"
    }
  ],
  "knockOffs": [
    {
      "docType": "PB",
      "docKey": "424508",
      "docNo": "PI-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP. Use read-ap-outstanding-documents first when a knock-off needs docKey. For simple invoices, amount/accountNo still works. For multiple posting accounts, send lines and put accountNo on each line. AR/AP invoice/note posting account order is: lines[].accountNo/top-level accountNo, AutoCount default account only when needed, then safe recent same-party history where the connector has a proven read path.

validate-ap-deposit read Validate Validate an AP deposit without saving.

Full payload schema: /v1/schema/commands/validate-ap-deposit

Payload fields

creditorCode
required AutoCount creditor/supplier code
docDate
required or optional YYYY-MM-DD document date
amount
required deposit amount
paymentMethod
optional AutoCount Payment Method code such as CASH or MAYBANK
_arApRule
AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
depositPaymentMethod
optional AutoCount deposit header payment method; defaults from paymentMethod
paymentBy
optional payment type such as Cash, Cheque, Bank Transfer, Credit Card
chequeNo
optional cheque/reference number
bankCharge
optional bank charge amount
description
optional deposit narration
note
optional note
isSecurityDeposit
optional boolean; true for security deposit where AutoCount account book supports it
project
optional project code
department
optional department code

Example JSON

{
  "creditorCode": "400-S001",
  "docDate": "2026-06-24",
  "amount": 100,
  "paymentMethod": "CASH",
  "depositPaymentMethod": "CASH",
  "paymentBy": "Cash",
  "chequeNo": "API-DEP-1001",
  "bankCharge": 0,
  "description": "AP deposit created through API",
  "note": "Deposit received before invoice",
  "isSecurityDeposit": false,
  "project": "PRJAPI",
  "department": "HQ"
}

Notes: AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP. Creates a real AutoCount deposit with one payment detail row and posts a GL transaction when saved.

validate-ap-invoice read Validate Validate an AP invoice without saving.

Full payload schema: /v1/schema/commands/validate-ap-invoice

Payload fields

creditorCode
required AutoCount creditor/supplier code
supplierInvoiceNo
required supplier invoice number
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
dueDate
optional YYYY-MM-DD due date
ref
optional reference
currencyCode
optional currency code such as MYR
inclusiveTax
optional boolean
project
optional top-level project fallback for all AP invoice detail lines
projNo
project code alias
projectNo
project code alias
department
optional top-level department fallback
deptNo
department code alias
lines
recommended array of AP GL/account rows; each AP line must choose a valid posting account with accountNo / accNo / glAccount / postingAccountNo
accountNo
required for simple one-line AP payload unless every line has accountNo; use a valid purchase/expense GL account
amount
optional single-line amount; lines is preferred for multiple lines
_arApRule
AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP.
description
optional document description/narration
branchCode
optional creditor/supplier branch code/name where the customer uses branches
attention
optional attention/contact person
contact
optional contact person alias for attention
currencyRate
optional exchange rate
taxDate
optional YYYY-MM-DD tax date
taxType
optional tax type/code
knockOffs
optional array for credit/debit note knock-off where AutoCount supports it
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "creditorCode": "400-S001",
  "supplierInvoiceNo": "SUP-INV-1001",
  "docDate": "2026-06-24",
  "dueDate": "2026-07-24",
  "ref": "API-REF-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "project": "PRJAPI",
  "projNo": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "accountNo": "610-0000",
      "description": "Service line 1",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "taxAmount": 0,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    },
    {
      "accountNo": "620-0000",
      "description": "Different posting account line",
      "amount": 50,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022"
    }
  ],
  "description": "AP document created through API",
  "branchCode": "MAIN",
  "attention": "Accounts Department",
  "contact": "Accounts Department",
  "knockOffs": [
    {
      "docType": "PB",
      "docKey": "424508",
      "docNo": "PI-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Use validate before create when AI imports many supplier bills. Posting account order is: lines[].accountNo/top-level accountNo, AutoCount default purchase account, then recent AP invoice detail account for the same creditor. If no account is found, connector returns a clear validation error before AutoCount save. Send top-level project/projNo to apply one project to every line, or send line-level project/projNo for different projects per line. For taxable AP lines, use a purchase-side tax code from list-tax-codes, for example TX in Singapore GST books. AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP. Use read-ap-outstanding-documents first when a knock-off needs docKey. For simple invoices, amount/accountNo still works. For multiple posting accounts, send lines and put accountNo on each line. AR/AP invoice/note posting account order is: lines[].accountNo/top-level accountNo, AutoCount default account only when needed, then safe recent same-party history where the connector has a proven read path.

validate-ap-payment read Validate Validate an AP payment without saving. Supports one or many real supplier invoice knock-offs.

Full payload schema: /v1/schema/commands/validate-ap-payment

Payload fields

creditorCode
required AutoCount creditor/supplier code
amount
required total payment/refund amount
knockOffs
optional array of documents to allocate this payment/refund against; docKey is recommended
_arApRule
AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
paymentMethod
required or optional AutoCount Payment Method code such as CASH or MAYBANK
paymentBy
optional payment type such as Cash, Cheque, Bank Transfer, Credit Card
chequeNo
optional cheque/reference number
bankCharge
optional bank charge amount
paymentAccountNo
optional GL bank/cash account number
bankChargeAccountNo
optional GL bank charge account number
creditCardApprovalCode
optional credit-card approval code/reference
description
optional payment/refund narration
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "creditorCode": "400-S001",
  "amount": 100,
  "knockOffs": [
    {
      "docType": "PB",
      "docKey": "424508",
      "docNo": "PI-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0,
      "gainLossAmount": 0,
      "withholdingTaxAmount": 0
    }
  ],
  "docDate": "2026-06-24",
  "paymentMethod": "CASH",
  "paymentBy": "Cash",
  "chequeNo": "API-PAY-1001",
  "bankCharge": 0,
  "paymentAccountNo": "110-0010",
  "bankChargeAccountNo": "810-0000",
  "creditCardApprovalCode": "",
  "description": "AP payment/refund created through API",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Real positive knock-off validation is proven for outstanding AP documents. The connector also accepts old PI aliases and normalizes them to PB. AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP. For payment against invoices use RI for AR and PB for AP. For refund against credit notes use RC/ARCN for AR and PC/APCN for AP. Friendly aliases are normalized by the connector where supported.

validate-ap-refund read Validate Validate an AP refund without saving. Refund knocks off AP credit notes, not supplier invoices. Use docType PC or friendly CN alias; docKey is recommended.

Full payload schema: /v1/schema/commands/validate-ap-refund

Payload fields

creditorCode
required AutoCount creditor/supplier code
amount
required total payment/refund amount
knockOffs
optional array of documents to allocate this payment/refund against; docKey is recommended
_arApRule
AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
paymentMethod
required or optional AutoCount Payment Method code such as CASH or MAYBANK
paymentBy
optional payment type such as Cash, Cheque, Bank Transfer, Credit Card
chequeNo
optional cheque/reference number
bankCharge
optional bank charge amount
paymentAccountNo
optional GL bank/cash account number
bankChargeAccountNo
optional GL bank charge account number
creditCardApprovalCode
optional credit-card approval code/reference
description
optional payment/refund narration
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "creditorCode": "400-S001",
  "amount": 100,
  "knockOffs": [
    {
      "docType": "PB",
      "docKey": "424508",
      "docNo": "PI-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0,
      "gainLossAmount": 0,
      "withholdingTaxAmount": 0
    }
  ],
  "docDate": "2026-06-24",
  "paymentMethod": "CASH",
  "paymentBy": "Cash",
  "chequeNo": "API-PAY-1001",
  "bankCharge": 0,
  "paymentAccountNo": "110-0010",
  "bankChargeAccountNo": "810-0000",
  "creditCardApprovalCode": "",
  "description": "AP payment/refund created through API",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Real AP refund knock-off save is proven against AP credit notes. CN/CreditNote aliases are normalized to PC. AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP. For payment against invoices use RI for AR and PB for AP. For refund against credit notes use RC/ARCN for AR and PC/APCN for AP. Friendly aliases are normalized by the connector where supported.

void-ap-credit-note write Void Guarded AP credit note void request.

Full payload schema: /v1/schema/commands/void-ap-credit-note

Payload fields

docNo
required
reason
required

Example JSON

{
  "docNo": "PCN-000001",
  "reason": "void/correct document"
}

Notes: Returns voidBlocked until module-specific AutoCount void/cancel safety is proven.

void-ap-debit-note write Void Guarded AP debit note void request.

Full payload schema: /v1/schema/commands/void-ap-debit-note

Payload fields

docNo
required
reason
required

Example JSON

{
  "docNo": "PDN-000001",
  "reason": "void/correct document"
}

Notes: Returns voidBlocked until module-specific AutoCount void/cancel safety is proven.

void-ap-invoice write Void Guarded AP invoice void request.

Full payload schema: /v1/schema/commands/void-ap-invoice

Payload fields

docNo
required
reason
required

Example JSON

{
  "docNo": "API-000001",
  "reason": "void/correct document"
}

Notes: Returns voidBlocked until module-specific AutoCount void/cancel safety is proven.

void-ap-payment write Void Guarded AP payment void request.

Full payload schema: /v1/schema/commands/void-ap-payment

Payload fields

docNo
required
reason
required

Example JSON

{
  "docNo": "PV-000001",
  "reason": "void/correct document"
}

Notes: Returns voidBlocked until module-specific AutoCount void/cancel safety is proven.

void-ap-refund write Void Guarded AP refund void request.

Full payload schema: /v1/schema/commands/void-ap-refund

Payload fields

docNo
required
reason
required

Example JSON

{
  "docNo": "PV-000001",
  "reason": "void/correct document"
}

Notes: Returns voidBlocked until module-specific AutoCount void/cancel safety is proven.

AR52 commandsRead 23Validate 6Create 6Edit 6Void 5Delete 5read 1
create-ar-credit-note write Create Create an AR credit note. Supports one or many real invoice knock-offs.

Full payload schema: /v1/schema/commands/create-ar-credit-note

Payload fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date
amount
optional single-line amount; lines is preferred for multiple lines
lineDescription
optional
knockOffs
optional array for credit/debit note knock-off where AutoCount supports it
_arApRule
AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
dueDate
optional YYYY-MM-DD due date
description
optional document description/narration
ref
optional reference
branchCode
optional debtor/customer branch code/name where the customer uses branches
attention
optional attention/contact person
contact
optional contact person alias for attention
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean
taxDate
optional YYYY-MM-DD tax date
accountNo
optional user-selected GL posting account for simple one-line payload; overrides the connector/default account
taxType
optional tax type/code
lines
optional array of GL/account rows for multi-line AR invoice, credit note, or debit note; each line can choose posting account with accountNo / accNo / glAccount
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "amount": 100,
  "lineDescription": "Credit adjustment",
  "knockOffs": [
    {
      "docType": "RI",
      "docKey": "424508",
      "docNo": "IV-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0
    }
  ],
  "dueDate": "2026-07-24",
  "description": "AR document created through API",
  "ref": "API-REF-1001",
  "branchCode": "MAIN",
  "attention": "Accounts Department",
  "contact": "Accounts Department",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "lines": [
    {
      "accountNo": "500-0000",
      "description": "Service line 1",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "taxAmount": 0,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    },
    {
      "accountNo": "501-0000",
      "description": "Different posting account line",
      "amount": 50,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Requires write access permission. Real knock-off validation is proven; saving should still be tested per account book. AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR. Use read-ar-outstanding-documents first when a knock-off needs docKey. For simple invoices, amount/accountNo still works. For multiple posting accounts, send lines and put accountNo on each line. AR/AP invoice/note posting account order is: lines[].accountNo/top-level accountNo, AutoCount default account only when needed, then safe recent same-party history where the connector has a proven read path.

create-ar-debit-note write Create Create an AR debit note.

Full payload schema: /v1/schema/commands/create-ar-debit-note

Payload fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date
amount
optional single-line amount; lines is preferred for multiple lines
lineDescription
optional
_arApRule
AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
dueDate
optional YYYY-MM-DD due date
description
optional document description/narration
ref
optional reference
branchCode
optional debtor/customer branch code/name where the customer uses branches
attention
optional attention/contact person
contact
optional contact person alias for attention
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean
taxDate
optional YYYY-MM-DD tax date
accountNo
optional user-selected GL posting account for simple one-line payload; overrides the connector/default account
taxType
optional tax type/code
lines
optional array of GL/account rows for multi-line AR invoice, credit note, or debit note; each line can choose posting account with accountNo / accNo / glAccount
knockOffs
optional array for credit/debit note knock-off where AutoCount supports it
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "amount": 100,
  "lineDescription": "Debit adjustment",
  "dueDate": "2026-07-24",
  "description": "AR document created through API",
  "ref": "API-REF-1001",
  "branchCode": "MAIN",
  "attention": "Accounts Department",
  "contact": "Accounts Department",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "lines": [
    {
      "accountNo": "500-0000",
      "description": "Service line 1",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "taxAmount": 0,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    },
    {
      "accountNo": "501-0000",
      "description": "Different posting account line",
      "amount": 50,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022"
    }
  ],
  "knockOffs": [
    {
      "docType": "RI",
      "docKey": "424508",
      "docNo": "IV-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Creates AR debit note through AutoCount SDK. AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR. Use read-ar-outstanding-documents first when a knock-off needs docKey. For simple invoices, amount/accountNo still works. For multiple posting accounts, send lines and put accountNo on each line. AR/AP invoice/note posting account order is: lines[].accountNo/top-level accountNo, AutoCount default account only when needed, then safe recent same-party history where the connector has a proven read path.

create-ar-deposit write Create Create an AR deposit with a real payment detail and GL transaction.

Full payload schema: /v1/schema/commands/create-ar-deposit

Payload fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date
amount
required deposit amount
paymentMethod
optional AutoCount Payment Method code such as CASH or MAYBANK
_arApRule
AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
depositPaymentMethod
optional AutoCount deposit header payment method; defaults from paymentMethod
paymentBy
optional payment type such as Cash, Cheque, Bank Transfer, Credit Card
chequeNo
optional cheque/reference number
bankCharge
optional bank charge amount
description
optional deposit narration
note
optional note
isSecurityDeposit
optional boolean; true for security deposit where AutoCount account book supports it
project
optional project code
department
optional department code

Example JSON

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "amount": 100,
  "paymentMethod": "CASH",
  "depositPaymentMethod": "CASH",
  "paymentBy": "Cash",
  "chequeNo": "API-DEP-1001",
  "bankCharge": 0,
  "description": "AR deposit created through API",
  "note": "Deposit received before invoice",
  "isSecurityDeposit": false,
  "project": "PRJAPI",
  "department": "HQ"
}

Notes: Requires write access permission. Real save is tested against AutoCount ARDepositCommand and verifies GLTrxID. AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR. Creates a real AutoCount deposit with one payment detail row and posts a GL transaction when saved.

create-ar-invoice write Create Create an AR invoice.

Full payload schema: /v1/schema/commands/create-ar-invoice

Payload fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date
amount
optional single-line amount; lines is preferred for multiple lines
_arApRule
AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
dueDate
optional YYYY-MM-DD due date
description
optional document description/narration
ref
optional reference
branchCode
optional debtor/customer branch code/name where the customer uses branches
attention
optional attention/contact person
contact
optional contact person alias for attention
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean
taxDate
optional YYYY-MM-DD tax date
accountNo
optional user-selected GL posting account for simple one-line payload; overrides the connector/default account
taxType
optional tax type/code
lines
optional array of GL/account rows for multi-line AR invoice, credit note, or debit note; each line can choose posting account with accountNo / accNo / glAccount
knockOffs
optional array for credit/debit note knock-off where AutoCount supports it
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "amount": 100,
  "dueDate": "2026-07-24",
  "description": "AR document created through API",
  "ref": "API-REF-1001",
  "branchCode": "MAIN",
  "attention": "Accounts Department",
  "contact": "Accounts Department",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "lines": [
    {
      "accountNo": "500-0000",
      "description": "Service line 1",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "taxAmount": 0,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    },
    {
      "accountNo": "501-0000",
      "description": "Different posting account line",
      "amount": 50,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022"
    }
  ],
  "knockOffs": [
    {
      "docType": "RI",
      "docKey": "424508",
      "docNo": "IV-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Requires write access permission. AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR. Use read-ar-outstanding-documents first when a knock-off needs docKey. For simple invoices, amount/accountNo still works. For multiple posting accounts, send lines and put accountNo on each line. AR/AP invoice/note posting account order is: lines[].accountNo/top-level accountNo, AutoCount default account only when needed, then safe recent same-party history where the connector has a proven read path.

create-ar-payment write Create Create an AR payment/receipt. Supports one or many real invoice knock-offs.

Full payload schema: /v1/schema/commands/create-ar-payment

Payload fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date
amount
required total payment/refund amount
knockOffs
optional array of documents to allocate this payment/refund against; docKey is recommended
_arApRule
AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
paymentMethod
required or optional AutoCount Payment Method code such as CASH or MAYBANK
paymentBy
optional payment type such as Cash, Cheque, Bank Transfer, Credit Card
chequeNo
optional cheque/reference number
bankCharge
optional bank charge amount
paymentAccountNo
optional GL bank/cash account number
bankChargeAccountNo
optional GL bank charge account number
creditCardApprovalCode
optional credit-card approval code/reference
description
optional payment/refund narration
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "amount": 100,
  "knockOffs": [
    {
      "docType": "RI",
      "docKey": "424508",
      "docNo": "IV-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0,
      "gainLossAmount": 0,
      "withholdingTaxAmount": 0
    }
  ],
  "paymentMethod": "CASH",
  "paymentBy": "Cash",
  "chequeNo": "API-PAY-1001",
  "bankCharge": 0,
  "paymentAccountNo": "110-0010",
  "bankChargeAccountNo": "810-0000",
  "creditCardApprovalCode": "",
  "description": "AR payment/refund created through API",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Requires write access permission. Real multi-invoice knock-off save is proven; IV aliases are normalized to RI. AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR. For payment against invoices use RI for AR and PB for AP. For refund against credit notes use RC/ARCN for AR and PC/APCN for AP. Friendly aliases are normalized by the connector where supported.

create-ar-refund write Create Create an AR refund. Refund knocks off AR credit notes, not invoices. Use docType RC or friendly CN alias; docKey is recommended.

Full payload schema: /v1/schema/commands/create-ar-refund

Payload fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date
amount
required total payment/refund amount
knockOffs
optional array of documents to allocate this payment/refund against; docKey is recommended
_arApRule
AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
paymentMethod
required or optional AutoCount Payment Method code such as CASH or MAYBANK
paymentBy
optional payment type such as Cash, Cheque, Bank Transfer, Credit Card
chequeNo
optional cheque/reference number
bankCharge
optional bank charge amount
paymentAccountNo
optional GL bank/cash account number
bankChargeAccountNo
optional GL bank charge account number
creditCardApprovalCode
optional credit-card approval code/reference
description
optional payment/refund narration
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "amount": 100,
  "knockOffs": [
    {
      "docType": "RI",
      "docKey": "424508",
      "docNo": "IV-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0,
      "gainLossAmount": 0,
      "withholdingTaxAmount": 0
    }
  ],
  "paymentMethod": "CASH",
  "paymentBy": "Cash",
  "chequeNo": "API-PAY-1001",
  "bankCharge": 0,
  "paymentAccountNo": "110-0010",
  "bankChargeAccountNo": "810-0000",
  "creditCardApprovalCode": "",
  "description": "AR payment/refund created through API",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Requires write access permission. Real AR refund knock-off save is proven against AR credit notes; CN aliases are normalized to RC. AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR. For payment against invoices use RI for AR and PB for AP. For refund against credit notes use RC/ARCN for AR and PC/APCN for AP. Friendly aliases are normalized by the connector where supported.

delete-ar-credit-note write Delete Guarded AR credit note delete request.

Full payload schema: /v1/schema/commands/delete-ar-credit-note

Payload fields

docNo
required
reason
required

Example JSON

{
  "docNo": "CN-000001",
  "reason": "remove/correct document"
}

Notes: Returns deleteBlocked. Use reversal, cancellation, or replacement workflow until module-specific AutoCount delete safety is proven.

delete-ar-debit-note write Delete Guarded AR debit note delete request.

Full payload schema: /v1/schema/commands/delete-ar-debit-note

Payload fields

docNo
required
reason
required

Example JSON

{
  "docNo": "DN-000001",
  "reason": "remove/correct document"
}

Notes: Returns deleteBlocked. Use reversal, cancellation, or replacement workflow until module-specific AutoCount delete safety is proven.

delete-ar-invoice write Delete Guarded AR invoice delete request.

Full payload schema: /v1/schema/commands/delete-ar-invoice

Payload fields

docNo
required
reason
required

Example JSON

{
  "docNo": "ARI-000001",
  "reason": "remove/correct document"
}

Notes: Returns deleteBlocked. Use reversal, cancellation, or replacement workflow until module-specific AutoCount delete safety is proven.

delete-ar-payment write Delete Guarded AR payment delete request.

Full payload schema: /v1/schema/commands/delete-ar-payment

Payload fields

docNo
required
reason
required

Example JSON

{
  "docNo": "OR-000001",
  "reason": "remove/correct document"
}

Notes: Returns deleteBlocked. Use reversal, cancellation, or replacement workflow until module-specific AutoCount delete safety is proven.

delete-ar-refund write Delete Guarded AR refund delete request.

Full payload schema: /v1/schema/commands/delete-ar-refund

Payload fields

docNo
required
reason
required

Example JSON

{
  "docNo": "PV-000001",
  "reason": "remove/correct document"
}

Notes: Returns deleteBlocked. Use reversal, cancellation, or replacement workflow until module-specific AutoCount delete safety is proven.

export-debtor-details read read Export all debtor/customer master records in one read-only command, including more than 5000.

Full payload schema: /v1/schema/commands/export-debtor-details

Payload fields

maxDebtors
optional nonnegative integer; omitted or 0 exports all master records in fast mode; positive values limit the export, including values above 5000; full SDK detail remains capped at 5000
maxTableRows
optional positive child-table row limit per debtor, default 20; maxTableRows:0 is rejected
includeTableData
optional boolean, default true; fast mode always skips child tables
activeOnly
optional boolean, default false
detailMode
optional: auto (default), fast (master fields only), full (bounded per-debtor SDK fields and child tables); auto uses fast when maxDebtors is omitted, 0 or above 1000; explicit 1-1000 retains SDK detail

Example JSON

{
  "includeTableData": false,
  "activeOnly": false
}

Notes: Requires connector local-mvp-2026.10.08.02 or later. Send one command and poll that command; do not queue thousands of get-debtor-detail calls. Fast mode reads internally in batches of at most 1000. Omit maxDebtors to export all; an explicit 5000 still limits the result to 5000. Check exportComplete, partial, rows and exportedRows. For large results, inline data is only a preview (responseTruncated:true); download result.artifactUrl / GET /v1/commands/{commandId}/artifact using the same tenant authorization, decompress gzip and parse JSON data. fullReturnedRows is the downloaded record count. The compressed artifact has an 8 MiB safety limit; excess size or a failed batch fails the command, never reports a complete export. This is a live read, not a point-in-time snapshot; detected count/boundary changes fail for retry. Full mode defaults/caps at 5000 and supplies child tables; use get-debtor-detail for one customer. Creditor export limits are unchanged. See docs/debtor-detail-export-api.md.

get-ar-credit-note read Read Get one AR credit note by document number.

Full payload schema: /v1/schema/commands/get-ar-credit-note

Payload fields

docNo
required AR credit note document number

Example JSON

{
  "docNo": "CN-000001"
}
get-ar-debit-note read Read Get one AR debit note by document number.

Full payload schema: /v1/schema/commands/get-ar-debit-note

Payload fields

docNo
required AR debit note document number

Example JSON

{
  "docNo": "DN-000001"
}
get-ar-deposit read Read Get one AR deposit by document number.

Full payload schema: /v1/schema/commands/get-ar-deposit

Payload fields

docNo
required AR deposit document number

Example JSON

{
  "docNo": "OR-000001"
}
get-ar-invoice read Read Get one AR invoice by document number.

Full payload schema: /v1/schema/commands/get-ar-invoice

Payload fields

docNo
required AR invoice document number

Example JSON

{
  "docNo": "ARI-000001"
}
get-ar-payment read Read Get one AR payment by document number.

Full payload schema: /v1/schema/commands/get-ar-payment

Payload fields

docNo
required AR payment document number

Example JSON

{
  "docNo": "OR-000001"
}
get-ar-refund read Read Get one AR refund by document number.

Full payload schema: /v1/schema/commands/get-ar-refund

Payload fields

docNo
required AR refund document number

Example JSON

{
  "docNo": "PV-000001"
}
get-debtor-credit-control read Read Read one debtor/customer credit-control settings through AutoCount debtor SDK.

Full payload schema: /v1/schema/commands/get-debtor-credit-control

Payload fields

accNo
required debtor/customer code; debtorCode or customerCode also accepted

Example JSON

{
  "accNo": "300-A001"
}

Notes: Returns stable fields such as companyName, controlAccount, currencyCode, creditTerm and a creditControl field map containing credit/term/limit/control fields exposed by that AutoCount DLL.

get-debtor-detail read Read Read one debtor/customer with all public SDK fields and child tables.

Full payload schema: /v1/schema/commands/get-debtor-detail

Payload fields

accNo
required debtor/customer code; debtorCode or customerCode also accepted
maxTableRows
optional child-table row limit; use 20-100 for normal lookup
includeTableData
optional boolean, default true

Example JSON

{
  "accNo": "300-A001",
  "maxTableRows": 20
}

Notes: Uses AutoCount.ARAP.Debtor.DebtorDataAccess.GetDebtor. Returns fields and child tables such as DebtorTable, BranchTable, ContactTable, TaxExemptionTable, and GLMastTable when available. Do not queue many maxTableRows:0 single-detail calls; use export-debtor-details for large exports.

list-ar-credit-notes read Read List AR credit notes.

Full payload schema: /v1/schema/commands/list-ar-credit-notes

Payload fields

No payload fields required.

Example JSON

{}
list-ar-debit-notes read Read List AR debit notes.

Full payload schema: /v1/schema/commands/list-ar-debit-notes

Payload fields

No payload fields required.

Example JSON

{}
list-ar-deposits read Read List AR deposits.

Full payload schema: /v1/schema/commands/list-ar-deposits

Payload fields

No payload fields required.

Example JSON

{}
list-ar-invoices read Read List AR invoices.

Full payload schema: /v1/schema/commands/list-ar-invoices

Payload fields

No payload fields required.

Example JSON

{}
list-ar-payments read Read List AR payments.

Full payload schema: /v1/schema/commands/list-ar-payments

Payload fields

No payload fields required.

Example JSON

{}
list-ar-refunds read Read List AR refunds.

Full payload schema: /v1/schema/commands/list-ar-refunds

Payload fields

No payload fields required.

Example JSON

{}
read-ar-credit-note-lines read Read Read AR credit note detail/account lines only.

Full payload schema: /v1/schema/commands/read-ar-credit-note-lines

Payload fields

debtorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "debtorCode": "300-A001",
  "limit": 50
}
read-ar-debit-note-lines read Read Read AR debit note detail/account lines only.

Full payload schema: /v1/schema/commands/read-ar-debit-note-lines

Payload fields

debtorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "debtorCode": "300-A001",
  "limit": 50
}
read-ar-detail-lines read Read Read AR account/detail lines across AR invoices, payments, refunds, credit notes, and debit notes.

Full payload schema: /v1/schema/commands/read-ar-detail-lines

Payload fields

debtorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "debtorCode": "300-A001",
  "limit": 50
}
read-ar-invoice-lines read Read Read AR invoice detail/account lines only.

Full payload schema: /v1/schema/commands/read-ar-invoice-lines

Payload fields

debtorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "accountNo": "500-0000",
  "limit": 50
}
read-ar-outstanding read Read Legacy AR outstanding lookup. Prefer read-ar-outstanding-documents for docKey-based knock-off.

Full payload schema: /v1/schema/commands/read-ar-outstanding

Payload fields

debtorCode
optional debtor/customer code
maxRows
optional row limit; maxRows: 0 means return all rows

Example JSON

{
  "debtorCode": "300-A001",
  "maxRows": 0
}
read-ar-outstanding-documents read Read List outstanding AR invoice documents with docKey for allocation and knock-off.

Full payload schema: /v1/schema/commands/read-ar-outstanding-documents

Payload fields

debtorCode
optional debtor/customer code
maxRows
optional row limit; maxRows: 0 means return all rows

Example JSON

{
  "debtorCode": "300-A001",
  "maxRows": 0
}

Notes: Returns SDK-safe docType RI plus displayDocType IV. Use the returned docType for AR payment and AR credit-note invoice knock-off.

read-ar-payment-lines read Read Read AR payment detail/payment method lines only.

Full payload schema: /v1/schema/commands/read-ar-payment-lines

Payload fields

debtorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "debtorCode": "300-A001",
  "limit": 50
}
read-ar-refund-lines read Read Read AR refund detail/payment method lines only.

Full payload schema: /v1/schema/commands/read-ar-refund-lines

Payload fields

debtorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "debtorCode": "300-A001",
  "limit": 50
}
read-debtors read Read List debtors/customers.

Full payload schema: /v1/schema/commands/read-debtors

Payload fields

No payload fields required.

Example JSON

{}
update-ar-credit-note write Edit Update AR credit note header/simple fields.

Full payload schema: /v1/schema/commands/update-ar-credit-note

Payload fields

docNo
required existing document number
docKey
optional existing document key
reason
required audit reason
docDate
optional YYYY-MM-DD document date
description
optional description; null or empty clears optional text
ref
optional reference where the AutoCount document exposes it
note
optional note where the AutoCount document exposes it
journalType
optional journal type where the AutoCount document exposes it
debtorCode
optional customer/debtor code where AutoCount allows changing it
detailMode
explicit update | append | replace | delete for detail edits
lines
optional posting/detail updates selected by dtlKey
knockOffs
optional knock-off allocation edit array for credit-note style documents; each row supports docType, docKey, docNo, amount
knockOffMode
optional knock-off edit mode: replace | append | update
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values

Example JSON

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification.

update-ar-debit-note write Edit Update AR debit note header/simple fields.

Full payload schema: /v1/schema/commands/update-ar-debit-note

Payload fields

docNo
required existing document number
docKey
optional existing document key
reason
required audit reason
docDate
optional YYYY-MM-DD document date
description
optional description; null or empty clears optional text
ref
optional reference where the AutoCount document exposes it
note
optional note where the AutoCount document exposes it
journalType
optional journal type where the AutoCount document exposes it
debtorCode
optional customer/debtor code where AutoCount allows changing it
detailMode
explicit update | append | replace | delete for detail edits
lines
optional posting/detail updates selected by dtlKey
knockOffs
optional knock-off allocation edit array for credit-note style documents; each row supports docType, docKey, docNo, amount
knockOffMode
optional knock-off edit mode: replace | append | update
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values

Example JSON

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification.

update-ar-deposit write Edit Update an AR deposit editable SDK fields and supported detail rows with persisted verification.

Full payload schema: /v1/schema/commands/update-ar-deposit

Payload fields

docNo
required existing document number
reason
required audit reason
description
optional description; null or empty clears optional text
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values
detailMode
explicit update | append | replace | delete for detail edits
paymentLines
optional payment detail updates selected by dtlKey

Example JSON

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification. Deposit editing is limited to unallocated deposits; cancelled, transferred, refunded or forfeited deposits are blocked. Native acceptance must be verified on the selected account book.

update-ar-invoice write Edit Update AR invoice header/simple fields.

Full payload schema: /v1/schema/commands/update-ar-invoice

Payload fields

docNo
required existing document number
docKey
optional existing document key
reason
required audit reason
docDate
optional YYYY-MM-DD document date
description
optional description; null or empty clears optional text
ref
optional reference where the AutoCount document exposes it
note
optional note where the AutoCount document exposes it
journalType
optional journal type where the AutoCount document exposes it
debtorCode
optional customer/debtor code where AutoCount allows changing it
detailMode
explicit update | append | replace | delete for detail edits
lines
optional posting/detail updates selected by dtlKey
knockOffs
optional knock-off allocation edit array for credit-note style documents; each row supports docType, docKey, docNo, amount
knockOffMode
optional knock-off edit mode: replace | append | update
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values

Example JSON

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification.

update-ar-payment write Edit Update AR payment header/simple fields.

Full payload schema: /v1/schema/commands/update-ar-payment

Payload fields

docNo
required existing document number
docKey
optional existing document key
reason
required audit reason
docDate
optional YYYY-MM-DD document date
description
optional description; null or empty clears optional text
ref
optional reference where the AutoCount document exposes it
note
optional note where the AutoCount document exposes it
journalType
optional journal type where the AutoCount document exposes it
debtorCode
optional customer/debtor code where AutoCount allows changing it
detailMode
explicit update | append | replace | delete for detail edits
paymentLines
optional payment detail updates selected by dtlKey
knockOffs
optional knock-off allocation edit array; each row supports docType, docKey, docNo, amount
knockOffMode
optional knock-off edit mode: replace | append | update
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values

Example JSON

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification.

update-ar-refund write Edit Update AR refund header/simple fields.

Full payload schema: /v1/schema/commands/update-ar-refund

Payload fields

docNo
required existing document number
docKey
optional existing document key
reason
required audit reason
docDate
optional YYYY-MM-DD document date
description
optional description; null or empty clears optional text
ref
optional reference where the AutoCount document exposes it
note
optional note where the AutoCount document exposes it
journalType
optional journal type where the AutoCount document exposes it
debtorCode
optional customer/debtor code where AutoCount allows changing it
detailMode
explicit update | append | replace | delete for detail edits
paymentLines
optional payment detail updates selected by dtlKey
knockOffs
optional knock-off allocation edit array; each row supports docType, docKey, docNo, amount
knockOffMode
optional knock-off edit mode: replace | append | update
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values

Example JSON

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification.

validate-ar-credit-note read Validate Validate an AR credit note without saving. Supports one or many real invoice knock-offs.

Full payload schema: /v1/schema/commands/validate-ar-credit-note

Payload fields

debtorCode
required AutoCount debtor/customer code
amount
optional single-line amount; lines is preferred for multiple lines
lineDescription
optional
knockOffs
optional array for credit/debit note knock-off where AutoCount supports it
_arApRule
AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
dueDate
optional YYYY-MM-DD due date
description
optional document description/narration
ref
optional reference
branchCode
optional debtor/customer branch code/name where the customer uses branches
attention
optional attention/contact person
contact
optional contact person alias for attention
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean
taxDate
optional YYYY-MM-DD tax date
accountNo
optional user-selected GL posting account for simple one-line payload; overrides the connector/default account
taxType
optional tax type/code
lines
optional array of GL/account rows for multi-line AR invoice, credit note, or debit note; each line can choose posting account with accountNo / accNo / glAccount
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "debtorCode": "300-A001",
  "amount": 100,
  "lineDescription": "Credit adjustment",
  "knockOffs": [
    {
      "docType": "RI",
      "docKey": "424508",
      "docNo": "IV-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0
    }
  ],
  "docDate": "2026-06-24",
  "dueDate": "2026-07-24",
  "description": "AR document created through API",
  "ref": "API-REF-1001",
  "branchCode": "MAIN",
  "attention": "Accounts Department",
  "contact": "Accounts Department",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "lines": [
    {
      "accountNo": "500-0000",
      "description": "Service line 1",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "taxAmount": 0,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    },
    {
      "accountNo": "501-0000",
      "description": "Different posting account line",
      "amount": 50,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Real positive knock-off validation is proven for outstanding AR documents. AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR. Use read-ar-outstanding-documents first when a knock-off needs docKey. For simple invoices, amount/accountNo still works. For multiple posting accounts, send lines and put accountNo on each line. AR/AP invoice/note posting account order is: lines[].accountNo/top-level accountNo, AutoCount default account only when needed, then safe recent same-party history where the connector has a proven read path.

validate-ar-debit-note read Validate Validate an AR debit note without saving.

Full payload schema: /v1/schema/commands/validate-ar-debit-note

Payload fields

debtorCode
required AutoCount debtor/customer code
amount
optional single-line amount; lines is preferred for multiple lines
lineDescription
optional
_arApRule
AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
dueDate
optional YYYY-MM-DD due date
description
optional document description/narration
ref
optional reference
branchCode
optional debtor/customer branch code/name where the customer uses branches
attention
optional attention/contact person
contact
optional contact person alias for attention
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean
taxDate
optional YYYY-MM-DD tax date
accountNo
optional user-selected GL posting account for simple one-line payload; overrides the connector/default account
taxType
optional tax type/code
lines
optional array of GL/account rows for multi-line AR invoice, credit note, or debit note; each line can choose posting account with accountNo / accNo / glAccount
knockOffs
optional array for credit/debit note knock-off where AutoCount supports it
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "debtorCode": "300-A001",
  "amount": 100,
  "lineDescription": "Debit adjustment",
  "docDate": "2026-06-24",
  "dueDate": "2026-07-24",
  "description": "AR document created through API",
  "ref": "API-REF-1001",
  "branchCode": "MAIN",
  "attention": "Accounts Department",
  "contact": "Accounts Department",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "lines": [
    {
      "accountNo": "500-0000",
      "description": "Service line 1",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "taxAmount": 0,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    },
    {
      "accountNo": "501-0000",
      "description": "Different posting account line",
      "amount": 50,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022"
    }
  ],
  "knockOffs": [
    {
      "docType": "RI",
      "docKey": "424508",
      "docNo": "IV-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR. Use read-ar-outstanding-documents first when a knock-off needs docKey. For simple invoices, amount/accountNo still works. For multiple posting accounts, send lines and put accountNo on each line. AR/AP invoice/note posting account order is: lines[].accountNo/top-level accountNo, AutoCount default account only when needed, then safe recent same-party history where the connector has a proven read path.

validate-ar-deposit read Validate Validate an AR deposit without saving.

Full payload schema: /v1/schema/commands/validate-ar-deposit

Payload fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date
amount
required deposit amount
paymentMethod
optional AutoCount Payment Method code such as CASH or MAYBANK
_arApRule
AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
depositPaymentMethod
optional AutoCount deposit header payment method; defaults from paymentMethod
paymentBy
optional payment type such as Cash, Cheque, Bank Transfer, Credit Card
chequeNo
optional cheque/reference number
bankCharge
optional bank charge amount
description
optional deposit narration
note
optional note
isSecurityDeposit
optional boolean; true for security deposit where AutoCount account book supports it
project
optional project code
department
optional department code

Example JSON

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "amount": 100,
  "paymentMethod": "CASH",
  "depositPaymentMethod": "CASH",
  "paymentBy": "Cash",
  "chequeNo": "API-DEP-1001",
  "bankCharge": 0,
  "description": "AR deposit created through API",
  "note": "Deposit received before invoice",
  "isSecurityDeposit": false,
  "project": "PRJAPI",
  "department": "HQ"
}

Notes: AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR. Creates a real AutoCount deposit with one payment detail row and posts a GL transaction when saved.

validate-ar-invoice read Validate Validate an AR invoice without saving.

Full payload schema: /v1/schema/commands/validate-ar-invoice

Payload fields

debtorCode
required AutoCount debtor/customer code
amount
optional single-line amount; lines is preferred for multiple lines
_arApRule
AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
dueDate
optional YYYY-MM-DD due date
description
optional document description/narration
ref
optional reference
branchCode
optional debtor/customer branch code/name where the customer uses branches
attention
optional attention/contact person
contact
optional contact person alias for attention
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean
taxDate
optional YYYY-MM-DD tax date
accountNo
optional user-selected GL posting account for simple one-line payload; overrides the connector/default account
taxType
optional tax type/code
lines
optional array of GL/account rows for multi-line AR invoice, credit note, or debit note; each line can choose posting account with accountNo / accNo / glAccount
knockOffs
optional array for credit/debit note knock-off where AutoCount supports it
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "debtorCode": "300-A001",
  "amount": 100,
  "docDate": "2026-06-24",
  "dueDate": "2026-07-24",
  "description": "AR document created through API",
  "ref": "API-REF-1001",
  "branchCode": "MAIN",
  "attention": "Accounts Department",
  "contact": "Accounts Department",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "lines": [
    {
      "accountNo": "500-0000",
      "description": "Service line 1",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "taxAmount": 0,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    },
    {
      "accountNo": "501-0000",
      "description": "Different posting account line",
      "amount": 50,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022"
    }
  ],
  "knockOffs": [
    {
      "docType": "RI",
      "docKey": "424508",
      "docNo": "IV-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR. Use read-ar-outstanding-documents first when a knock-off needs docKey. For simple invoices, amount/accountNo still works. For multiple posting accounts, send lines and put accountNo on each line. AR/AP invoice/note posting account order is: lines[].accountNo/top-level accountNo, AutoCount default account only when needed, then safe recent same-party history where the connector has a proven read path.

validate-ar-payment read Validate Validate an AR payment/receipt without saving. Supports one or many real invoice knock-offs.

Full payload schema: /v1/schema/commands/validate-ar-payment

Payload fields

debtorCode
required AutoCount debtor/customer code
amount
required total payment/refund amount
knockOffs
optional array of documents to allocate this payment/refund against; docKey is recommended
_arApRule
AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
paymentMethod
required or optional AutoCount Payment Method code such as CASH or MAYBANK
paymentBy
optional payment type such as Cash, Cheque, Bank Transfer, Credit Card
chequeNo
optional cheque/reference number
bankCharge
optional bank charge amount
paymentAccountNo
optional GL bank/cash account number
bankChargeAccountNo
optional GL bank charge account number
creditCardApprovalCode
optional credit-card approval code/reference
description
optional payment/refund narration
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "debtorCode": "300-A001",
  "amount": 100,
  "knockOffs": [
    {
      "docType": "RI",
      "docKey": "424508",
      "docNo": "IV-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0,
      "gainLossAmount": 0,
      "withholdingTaxAmount": 0
    }
  ],
  "docDate": "2026-06-24",
  "paymentMethod": "CASH",
  "paymentBy": "Cash",
  "chequeNo": "API-PAY-1001",
  "bankCharge": 0,
  "paymentAccountNo": "110-0010",
  "bankChargeAccountNo": "810-0000",
  "creditCardApprovalCode": "",
  "description": "AR payment/refund created through API",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Real positive knock-off validation is proven for outstanding AR documents. The connector also accepts old IV aliases and normalizes them to RI. AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR. For payment against invoices use RI for AR and PB for AP. For refund against credit notes use RC/ARCN for AR and PC/APCN for AP. Friendly aliases are normalized by the connector where supported.

validate-ar-refund read Validate Validate an AR refund without saving. Refund knocks off AR credit notes, not invoices. Use docType RC or friendly CN alias; docKey is recommended.

Full payload schema: /v1/schema/commands/validate-ar-refund

Payload fields

debtorCode
required AutoCount debtor/customer code
amount
required total payment/refund amount
knockOffs
optional array of documents to allocate this payment/refund against; docKey is recommended
_arApRule
AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
paymentMethod
required or optional AutoCount Payment Method code such as CASH or MAYBANK
paymentBy
optional payment type such as Cash, Cheque, Bank Transfer, Credit Card
chequeNo
optional cheque/reference number
bankCharge
optional bank charge amount
paymentAccountNo
optional GL bank/cash account number
bankChargeAccountNo
optional GL bank charge account number
creditCardApprovalCode
optional credit-card approval code/reference
description
optional payment/refund narration
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "debtorCode": "300-A001",
  "amount": 100,
  "knockOffs": [
    {
      "docType": "RI",
      "docKey": "424508",
      "docNo": "IV-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0,
      "gainLossAmount": 0,
      "withholdingTaxAmount": 0
    }
  ],
  "docDate": "2026-06-24",
  "paymentMethod": "CASH",
  "paymentBy": "Cash",
  "chequeNo": "API-PAY-1001",
  "bankCharge": 0,
  "paymentAccountNo": "110-0010",
  "bankChargeAccountNo": "810-0000",
  "creditCardApprovalCode": "",
  "description": "AR payment/refund created through API",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Real AR refund knock-off save is proven against AR credit notes. CN/CreditNote aliases are normalized to RC. AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR. For payment against invoices use RI for AR and PB for AP. For refund against credit notes use RC/ARCN for AR and PC/APCN for AP. Friendly aliases are normalized by the connector where supported.

void-ar-credit-note write Void Guarded AR credit note void request.

Full payload schema: /v1/schema/commands/void-ar-credit-note

Payload fields

docNo
required
reason
required

Example JSON

{
  "docNo": "CN-000001",
  "reason": "void/correct document"
}

Notes: Returns voidBlocked until module-specific AutoCount void/cancel safety is proven.

void-ar-debit-note write Void Guarded AR debit note void request.

Full payload schema: /v1/schema/commands/void-ar-debit-note

Payload fields

docNo
required
reason
required

Example JSON

{
  "docNo": "DN-000001",
  "reason": "void/correct document"
}

Notes: Returns voidBlocked until module-specific AutoCount void/cancel safety is proven.

void-ar-invoice write Void Guarded AR invoice void request.

Full payload schema: /v1/schema/commands/void-ar-invoice

Payload fields

docNo
required
reason
required

Example JSON

{
  "docNo": "ARI-000001",
  "reason": "void/correct document"
}

Notes: Returns voidBlocked until module-specific AutoCount void/cancel safety is proven.

void-ar-payment write Void Guarded AR payment void request.

Full payload schema: /v1/schema/commands/void-ar-payment

Payload fields

docNo
required
reason
required

Example JSON

{
  "docNo": "OR-000001",
  "reason": "void/correct document"
}

Notes: Returns voidBlocked until module-specific AutoCount void/cancel safety is proven.

void-ar-refund write Void Guarded AR refund void request.

Full payload schema: /v1/schema/commands/void-ar-refund

Payload fields

docNo
required
reason
required

Example JSON

{
  "docNo": "PV-000001",
  "reason": "void/correct document"
}

Notes: Returns voidBlocked until module-specific AutoCount void/cancel safety is proven.

AR/AP Contra7 commandsRead 2Validate 1Create 1Edit 1Void 1Delete 1
create-arap-contra write Create Create an AR/AP contra document. Invoice knock-off allocation is guarded until proven with AutoCount SDK.

Full payload schema: /v1/schema/commands/create-arap-contra

Payload fields

debtorCode
required AutoCount debtor/customer code
creditorCode
required AutoCount creditor/supplier code
docDate
required or optional YYYY-MM-DD document date
amount
required total contra amount
knockOffs
optional combined knock-off rows when connector command accepts one array
docNo
optional contra document number; omit to let AutoCount numbering generate it
description
optional contra narration
ref
optional reference
arKnockOffs
optional AR side documents to knock off; docKey recommended
apKnockOffs
optional AP side documents to knock off; docKey recommended

Example JSON

{
  "debtorCode": "300-A001",
  "creditorCode": "400-S001",
  "docDate": "2026-06-24",
  "amount": 100,
  "description": "API AR/AP contra",
  "ref": "API-CONTRA-1001",
  "arKnockOffs": [
    {
      "docType": "RI",
      "docKey": "424501",
      "docNo": "IV-000001",
      "amount": 100
    }
  ],
  "apKnockOffs": [
    {
      "docType": "PB",
      "docKey": "424508",
      "docNo": "PI-000001",
      "amount": 100
    }
  ],
  "knockOffs": [
    {
      "side": "AR",
      "docType": "RI",
      "docKey": "424501",
      "docNo": "IV-000001",
      "amount": 100
    },
    {
      "side": "AP",
      "docType": "PB",
      "docKey": "424508",
      "docNo": "PI-000001",
      "amount": 100
    }
  ]
}

Notes: Requires write access permission. Use payment/credit-note commands for invoice allocation and refund commands for credit-note allocation until contra allocation is proven. Use read-ar-outstanding-documents and read-ap-outstanding-documents first to get docKey values for contra knock-off rows.

delete-arap-contra write Delete Guarded AR/AP contra delete request.

Full payload schema: /v1/schema/commands/delete-arap-contra

Payload fields

docNo
required
reason
required

Example JSON

{
  "docNo": "CON-000001",
  "reason": "remove/correct document"
}

Notes: Returns deleteBlocked. Use reversal, cancellation, or replacement workflow until module-specific AutoCount delete safety is proven.

get-arap-contra read Read Get one AR/AP contra document by document number.

Full payload schema: /v1/schema/commands/get-arap-contra

Payload fields

docNo
required contra document number

Example JSON

{
  "docNo": "CON-000001"
}
list-arap-contras read Read List AR/AP contra documents.

Full payload schema: /v1/schema/commands/list-arap-contras

Payload fields

No payload fields required.

Example JSON

{}
update-arap-contra write Edit Update AR/AP contra header/simple fields.

Full payload schema: /v1/schema/commands/update-arap-contra

Payload fields

docNo
required existing document number
reason
required audit reason
debtorCode
required AutoCount debtor/customer code
creditorCode
required AutoCount creditor/supplier code
docDate
required or optional YYYY-MM-DD document date
description
optional description; null or empty clears optional text
ref
optional reference
amount
required total contra amount
arKnockOffs
optional AR side documents to knock off; docKey recommended
apKnockOffs
optional AP side documents to knock off; docKey recommended
knockOffs
optional combined knock-off rows when connector command accepts one array
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values
detailMode
explicit update | append | replace | delete for detail edits

Example JSON

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification. Positive contra knock-off allocation remains guarded; this is not a new allocation workflow.

validate-arap-contra read Validate Validate an AR/AP contra document without saving. Invoice knock-off allocation is guarded until proven with AutoCount SDK.

Full payload schema: /v1/schema/commands/validate-arap-contra

Payload fields

debtorCode
required AutoCount debtor/customer code
creditorCode
required AutoCount creditor/supplier code
amount
required total contra amount
knockOffs
optional combined knock-off rows when connector command accepts one array
docNo
optional contra document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional contra narration
ref
optional reference
arKnockOffs
optional AR side documents to knock off; docKey recommended
apKnockOffs
optional AP side documents to knock off; docKey recommended

Example JSON

{
  "debtorCode": "300-A001",
  "creditorCode": "400-S001",
  "amount": 100,
  "docDate": "2026-06-24",
  "description": "API AR/AP contra",
  "ref": "API-CONTRA-1001",
  "arKnockOffs": [
    {
      "docType": "RI",
      "docKey": "424501",
      "docNo": "IV-000001",
      "amount": 100
    }
  ],
  "apKnockOffs": [
    {
      "docType": "PB",
      "docKey": "424508",
      "docNo": "PI-000001",
      "amount": 100
    }
  ],
  "knockOffs": [
    {
      "side": "AR",
      "docType": "RI",
      "docKey": "424501",
      "docNo": "IV-000001",
      "amount": 100
    },
    {
      "side": "AP",
      "docType": "PB",
      "docKey": "424508",
      "docNo": "PI-000001",
      "amount": 100
    }
  ]
}

Notes: Plain contra validation is supported. Use payment/credit-note commands for invoice allocation and refund commands for credit-note allocation until contra allocation is proven. Use read-ar-outstanding-documents and read-ap-outstanding-documents first to get docKey values for contra knock-off rows.

void-arap-contra write Void Guarded AR/AP contra void request.

Full payload schema: /v1/schema/commands/void-arap-contra

Payload fields

docNo
required
reason
required

Example JSON

{
  "docNo": "CON-000001",
  "reason": "void/correct document"
}

Notes: Returns voidBlocked until module-specific AutoCount void/cancel safety is proven.

Bank Reconciliation8 commandsRead 3Validate 1Create 1Edit 1Void 1Delete 1
create-gl-bank-reconciliation write Create Create and save a bank reconciliation.

Full payload schema: /v1/schema/commands/create-gl-bank-reconciliation

Payload fields

accNo
required bank/cash GL account number
reconDate
required YYYY-MM-DD bank statement/reconciliation date
actualBalance
required bank statement actual balance for create/update; optional for validate
selectedBankTransKeys
optional array of BankTransKey values from list-gl-bank-reconciliation-uncleared
clearedRows
optional detailed rows with bankTransKey/sourceType/sourceKey/dtlKey/docNo/lineNo
bankStatementNo
optional bank statement/reference number
description
optional reconciliation narration
unselectedBankTransKeys
optional rows to leave unticked when replacing selection
confirmDelete
required true only for delete-gl-bank-reconciliation
reason
optional audit/business reason for update/delete requests

Example JSON

{
  "accNo": "110-0010",
  "reconDate": "2026-06-30",
  "actualBalance": 2900,
  "selectedBankTransKeys": [
    1,
    2
  ],
  "bankStatementNo": "BS-2026-06",
  "description": "June bank reconciliation by API",
  "clearedRows": [
    {
      "bankTransKey": 1,
      "sourceType": "PV",
      "sourceKey": "1001",
      "dtlKey": "1",
      "docNo": "PV-000001",
      "lineNo": 1
    },
    {
      "bankTransKey": 2,
      "sourceType": "OR",
      "sourceKey": "1002",
      "dtlKey": "1",
      "docNo": "OR-000001",
      "lineNo": 1
    }
  ],
  "unselectedBankTransKeys": [],
  "reason": "match bank statement"
}

Notes: Uses AutoCount BankReconCommand.AddNew + BankRecon.Save. The connector fails before saving if any selected row is not found. List uncleared rows first, then pass selectedBankTransKeys or clearedRows. The connector fails before saving if a selected row cannot be found.

delete-gl-bank-reconciliation write Delete Delete a bank reconciliation.

Full payload schema: /v1/schema/commands/delete-gl-bank-reconciliation

Payload fields

accNo
required
reconDate
required YYYY-MM-DD
confirmDelete
required true

Example JSON

{
  "accNo": "110-0010",
  "reconDate": "2026-06-30",
  "confirmDelete": true
}

Notes: Uses AutoCount BankReconCommand.Delete. confirmDelete=true is required.

get-gl-bank-reconciliation read Read Get one bank reconciliation with master/detail/reconciliation rows.

Full payload schema: /v1/schema/commands/get-gl-bank-reconciliation

Payload fields

accNo
required bank/cash account number
reconDate
required YYYY-MM-DD bank statement/reconciliation date

Example JSON

{
  "accNo": "110-0010",
  "reconDate": "2026-06-30"
}

Notes: Uses AutoCount.GL.BankRecon.BankReconCommand.View.

list-gl-bank-reconciliation-uncleared read Read List uncleared transactions for a bank/cash account.

Full payload schema: /v1/schema/commands/list-gl-bank-reconciliation-uncleared

Payload fields

accNo
required bank/cash account number
startDate
optional YYYY-MM-DD

Example JSON

{
  "accNo": "110-0010",
  "startDate": "2026-01-01"
}

Notes: Uses AutoCount.GL.BankRecon.BankReconCommand.InquireUnclearedData.

list-gl-bank-reconciliations read Read List bank reconciliation records.

Full payload schema: /v1/schema/commands/list-gl-bank-reconciliations

Payload fields

No payload fields required.

Example JSON

{}

Notes: Uses AutoCount.GL.BankRecon.BankReconCommand.InquireAllMaster.

update-gl-bank-reconciliation write Edit Edit and re-save an existing bank reconciliation.

Full payload schema: /v1/schema/commands/update-gl-bank-reconciliation

Payload fields

accNo
required bank/cash GL account number
reconDate
required YYYY-MM-DD bank statement/reconciliation date
actualBalance
required bank statement actual balance for create/update; optional for validate
selectedBankTransKeys
optional array of BankTransKey values from list-gl-bank-reconciliation-uncleared
clearedRows
optional detailed rows with bankTransKey/sourceType/sourceKey/dtlKey/docNo/lineNo
bankStatementNo
optional bank statement/reference number
description
optional reconciliation narration
unselectedBankTransKeys
optional rows to leave unticked when replacing selection
confirmDelete
required true only for delete-gl-bank-reconciliation
reason
optional audit/business reason for update/delete requests

Example JSON

{
  "accNo": "110-0010",
  "reconDate": "2026-06-30",
  "actualBalance": 2900,
  "selectedBankTransKeys": [
    1,
    2
  ],
  "bankStatementNo": "BS-2026-06",
  "description": "June bank reconciliation by API",
  "clearedRows": [
    {
      "bankTransKey": 1,
      "sourceType": "PV",
      "sourceKey": "1001",
      "dtlKey": "1",
      "docNo": "PV-000001",
      "lineNo": 1
    },
    {
      "bankTransKey": 2,
      "sourceType": "OR",
      "sourceKey": "1002",
      "dtlKey": "1",
      "docNo": "OR-000001",
      "lineNo": 1
    }
  ],
  "unselectedBankTransKeys": [],
  "reason": "match bank statement"
}

Notes: Uses AutoCount BankReconCommand.Edit + BankRecon.Save. The selected row list replaces the saved tick selection. List uncleared rows first, then pass selectedBankTransKeys or clearedRows. The connector fails before saving if a selected row cannot be found.

validate-gl-bank-reconciliation read Validate Create a bank reconciliation draft without saving. If selectedBankTransKeys or clearedRows are supplied, the returned draft shows which rows would be ticked.

Full payload schema: /v1/schema/commands/validate-gl-bank-reconciliation

Payload fields

accNo
required bank/cash GL account number
reconDate
required YYYY-MM-DD bank statement/reconciliation date
actualBalance
required bank statement actual balance for create/update; optional for validate
selectedBankTransKeys
optional array of BankTransKey values from list-gl-bank-reconciliation-uncleared
clearedRows
optional detailed rows with bankTransKey/sourceType/sourceKey/dtlKey/docNo/lineNo
bankStatementNo
optional bank statement/reference number
description
optional reconciliation narration
unselectedBankTransKeys
optional rows to leave unticked when replacing selection
confirmDelete
required true only for delete-gl-bank-reconciliation
reason
optional audit/business reason for update/delete requests

Example JSON

{
  "accNo": "110-0010",
  "reconDate": "2026-06-30",
  "actualBalance": 2900,
  "selectedBankTransKeys": [
    1,
    2
  ],
  "bankStatementNo": "BS-2026-06",
  "description": "June bank reconciliation by API",
  "clearedRows": [
    {
      "bankTransKey": 1,
      "sourceType": "PV",
      "sourceKey": "1001",
      "dtlKey": "1",
      "docNo": "PV-000001",
      "lineNo": 1
    },
    {
      "bankTransKey": 2,
      "sourceType": "OR",
      "sourceKey": "1002",
      "dtlKey": "1",
      "docNo": "OR-000001",
      "lineNo": 1
    }
  ],
  "unselectedBankTransKeys": [],
  "reason": "match bank statement"
}

Notes: Validation only; uses BankReconCommand.AddNew and does not call Save. List uncleared rows first, then pass selectedBankTransKeys or clearedRows. The connector fails before saving if a selected row cannot be found.

void-gl-bank-reconciliation write Void Guarded bank reconciliation void request.

Full payload schema: /v1/schema/commands/void-gl-bank-reconciliation

Payload fields

accNo
required
reconDate
required YYYY-MM-DD
reason
required

Example JSON

{
  "accNo": "110-0010",
  "reconDate": "2026-06-30",
  "reason": "reverse reconciliation"
}

Notes: Returns voidBlocked; no safe Bank Recon void path has been proven.

Bulk59 commandsBulk 59
bulk-create write Bulk Generic bulk create wrapper. Use when one request needs to create many documents or master records.

Full payload schema: /v1/schema/commands/bulk-create

Payload fields

operation
required create-* command type
records
required array of command payload objects
stopOnError
optional boolean, default false

Example JSON

{
  "operation": "create-journal-entry",
  "records": [
    {
      "externalId": "row-001",
      "docDate": "2026-06-20",
      "description": "Payroll JE 1",
      "lines": [
        {
          "accNo": "610-0000",
          "debit": 100
        },
        {
          "accNo": "500-1000",
          "credit": 100
        }
      ]
    }
  ]
}

Notes: The local connector processes records on the customer PC in one leased command. Each row gets its own idempotency/audit result.

bulk-create-advanced-quotations write Bulk Bulk wrapper for create-advanced-quotation.

Full payload schema: /v1/schema/commands/bulk-create-advanced-quotations

Payload fields

records
required array; each row uses the same payload as create-advanced-quotation
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "debtorCode": "300-A001",
      "docDate": "2026-06-24",
      "displayTerm": "30 DAYS",
      "branchCode": "MAIN",
      "salesLocation": "HQ",
      "multiPricing": "Price 1",
      "salesAgent": "SA01",
      "attention": "Purchasing Department",
      "contact": "Purchasing Department",
      "deliverContact": "Store Receiver",
      "deliverPhone1": "012-3456789",
      "phone": "03-11111111",
      "address1": "No. 1 Jalan API",
      "address2": "Taman Integration",
      "address3": "Kuala Lumpur",
      "address4": "Malaysia",
      "description": "Sales document created through API",
      "ref": "WEB-ORDER-1001",
      "currencyCode": "MYR",
      "inclusiveTax": false,
      "taxEntityID": 1,
      "project": "PRJAPI",
      "department": "HQ",
      "lines": [
        {
          "itemCode": "ITEM001",
          "description": "API item line 1",
          "description2": "Line second description",
          "furtherDescription": "Optional longer line note",
          "barCode": "9550000000011",
          "qty": 2,
          "uom": "UNIT",
          "unitPrice": 100,
          "discount": "5%",
          "taxType": "S-0",
          "taxRate": 0,
          "taxAmount": 0,
          "amount": 190,
          "accountNo": "500-0000",
          "location": "HQ",
          "batchNo": "BATCH-001",
          "serialNo": "SN-0001",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "deliveryDate": "2026-06-30",
          "userDefinedFields": {
            "APITEST": "Blue"
          }
        },
        {
          "accountNo": "500-0000",
          "description": "Service/account line without itemCode",
          "qty": 1,
          "unitPrice": 50,
          "taxType": "S-0",
          "location": "HQ",
          "project": "PRJAPI",
          "department": "HQ"
        }
      ],
      "payments": [
        {
          "paymentMethod": "CASH",
          "paymentBy": "Cash",
          "paymentAmount": 130,
          "chequeNo": "",
          "bankCharge": 0,
          "paymentAccountNo": "110-0010",
          "bankChargeAccountNo": "810-0000",
          "creditCardApprovalCode": ""
        },
        {
          "paymentMethod": "CARD",
          "paymentBy": "Credit Card",
          "paymentAmount": 60,
          "chequeNo": "",
          "bankCharge": 0,
          "paymentAccountNo": "110-0010",
          "bankChargeAccountNo": "810-0000",
          "creditCardApprovalCode": "APPROVED-001"
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-advanced-quotation-batch-20260624"
}

Notes: Runs create-advanced-quotation for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-advanced-quotation. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-ap-credit-notes write Bulk Bulk wrapper for create-ap-credit-note.

Full payload schema: /v1/schema/commands/bulk-create-ap-credit-notes

Payload fields

records
required array; each row uses the same payload as create-ap-credit-note
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "creditorCode": "400-S001",
      "docDate": "2026-06-24",
      "dueDate": "2026-07-24",
      "description": "AP document created through API",
      "ref": "API-REF-1001",
      "branchCode": "MAIN",
      "attention": "Accounts Department",
      "contact": "Accounts Department",
      "currencyCode": "MYR",
      "inclusiveTax": false,
      "lines": [
        {
          "accountNo": "610-0000",
          "description": "Service line 1",
          "amount": 100,
          "taxType": "S-0",
          "taxCode": "S-0",
          "taxAmount": 0,
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "userDefinedFields": {
            "APITEST": "API-LINE"
          }
        },
        {
          "accountNo": "620-0000",
          "description": "Different posting account line",
          "amount": 50,
          "taxType": "S-0",
          "taxCode": "S-0",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022"
        }
      ],
      "knockOffs": [
        {
          "docType": "PB",
          "docKey": "424508",
          "docNo": "PI-000001",
          "amount": 100,
          "discountAmount": 0,
          "taxAdjustment": 0
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-ap-credit-note-batch-20260624"
}

Notes: Runs create-ap-credit-note for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-ap-credit-note. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-ap-debit-notes write Bulk Bulk wrapper for create-ap-debit-note.

Full payload schema: /v1/schema/commands/bulk-create-ap-debit-notes

Payload fields

records
required array; each row uses the same payload as create-ap-debit-note
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "creditorCode": "400-S001",
      "docDate": "2026-06-24",
      "dueDate": "2026-07-24",
      "description": "AP document created through API",
      "ref": "API-REF-1001",
      "branchCode": "MAIN",
      "attention": "Accounts Department",
      "contact": "Accounts Department",
      "currencyCode": "MYR",
      "inclusiveTax": false,
      "lines": [
        {
          "accountNo": "610-0000",
          "description": "Service line 1",
          "amount": 100,
          "taxType": "S-0",
          "taxCode": "S-0",
          "taxAmount": 0,
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "userDefinedFields": {
            "APITEST": "API-LINE"
          }
        },
        {
          "accountNo": "620-0000",
          "description": "Different posting account line",
          "amount": 50,
          "taxType": "S-0",
          "taxCode": "S-0",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022"
        }
      ],
      "knockOffs": [
        {
          "docType": "PB",
          "docKey": "424508",
          "docNo": "PI-000001",
          "amount": 100,
          "discountAmount": 0,
          "taxAdjustment": 0
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-ap-debit-note-batch-20260624"
}

Notes: Runs create-ap-debit-note for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-ap-debit-note. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-ap-invoices write Bulk Bulk wrapper for create-ap-invoice.

Full payload schema: /v1/schema/commands/bulk-create-ap-invoices

Payload fields

records
required array; each row uses the same payload as create-ap-invoice
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "creditorCode": "400-S001",
      "docDate": "2026-06-24",
      "dueDate": "2026-07-24",
      "description": "AP document created through API",
      "ref": "API-REF-1001",
      "branchCode": "MAIN",
      "attention": "Accounts Department",
      "contact": "Accounts Department",
      "currencyCode": "MYR",
      "inclusiveTax": false,
      "lines": [
        {
          "accountNo": "610-0000",
          "description": "Service line 1",
          "amount": 100,
          "taxType": "S-0",
          "taxCode": "S-0",
          "taxAmount": 0,
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "userDefinedFields": {
            "APITEST": "API-LINE"
          }
        },
        {
          "accountNo": "620-0000",
          "description": "Different posting account line",
          "amount": 50,
          "taxType": "S-0",
          "taxCode": "S-0",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022"
        }
      ],
      "knockOffs": [
        {
          "docType": "PB",
          "docKey": "424508",
          "docNo": "PI-000001",
          "amount": 100,
          "discountAmount": 0,
          "taxAdjustment": 0
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-ap-invoice-batch-20260624"
}

Notes: Runs create-ap-invoice for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-ap-invoice. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-ap-payments write Bulk Bulk wrapper for create-ap-payment.

Full payload schema: /v1/schema/commands/bulk-create-ap-payments

Payload fields

records
required array; each row uses the same payload as create-ap-payment
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "creditorCode": "400-S001",
      "docDate": "2026-06-24",
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "chequeNo": "API-PAY-1001",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "",
      "description": "AP payment/refund created through API",
      "amount": 100,
      "knockOffs": [
        {
          "docType": "PB",
          "docKey": "424508",
          "docNo": "PI-000001",
          "amount": 100,
          "discountAmount": 0,
          "taxAdjustment": 0,
          "gainLossAmount": 0,
          "withholdingTaxAmount": 0
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-ap-payment-batch-20260624"
}

Notes: Runs create-ap-payment for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-ap-payment. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-ap-refunds write Bulk Bulk wrapper for create-ap-refund.

Full payload schema: /v1/schema/commands/bulk-create-ap-refunds

Payload fields

records
required array; each row uses the same payload as create-ap-refund
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "creditorCode": "400-S001",
      "docDate": "2026-06-24",
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "chequeNo": "API-PAY-1001",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "",
      "description": "AP payment/refund created through API",
      "amount": 100,
      "knockOffs": [
        {
          "docType": "PB",
          "docKey": "424508",
          "docNo": "PI-000001",
          "amount": 100,
          "discountAmount": 0,
          "taxAdjustment": 0,
          "gainLossAmount": 0,
          "withholdingTaxAmount": 0
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-ap-refund-batch-20260624"
}

Notes: Runs create-ap-refund for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-ap-refund. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-ar-credit-notes write Bulk Bulk wrapper for create-ar-credit-note.

Full payload schema: /v1/schema/commands/bulk-create-ar-credit-notes

Payload fields

records
required array; each row uses the same payload as create-ar-credit-note
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "debtorCode": "300-A001",
      "docDate": "2026-06-24",
      "dueDate": "2026-07-24",
      "description": "AR document created through API",
      "ref": "API-REF-1001",
      "branchCode": "MAIN",
      "attention": "Accounts Department",
      "contact": "Accounts Department",
      "currencyCode": "MYR",
      "inclusiveTax": false,
      "lines": [
        {
          "accountNo": "500-0000",
          "description": "Service line 1",
          "amount": 100,
          "taxType": "S-0",
          "taxCode": "S-0",
          "taxAmount": 0,
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "userDefinedFields": {
            "APITEST": "API-LINE"
          }
        },
        {
          "accountNo": "501-0000",
          "description": "Different posting account line",
          "amount": 50,
          "taxType": "S-0",
          "taxCode": "S-0",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022"
        }
      ],
      "knockOffs": [
        {
          "docType": "RI",
          "docKey": "424508",
          "docNo": "IV-000001",
          "amount": 100,
          "discountAmount": 0,
          "taxAdjustment": 0
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-ar-credit-note-batch-20260624"
}

Notes: Runs create-ar-credit-note for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-ar-credit-note. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-ar-debit-notes write Bulk Bulk wrapper for create-ar-debit-note.

Full payload schema: /v1/schema/commands/bulk-create-ar-debit-notes

Payload fields

records
required array; each row uses the same payload as create-ar-debit-note
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "debtorCode": "300-A001",
      "docDate": "2026-06-24",
      "dueDate": "2026-07-24",
      "description": "AR document created through API",
      "ref": "API-REF-1001",
      "branchCode": "MAIN",
      "attention": "Accounts Department",
      "contact": "Accounts Department",
      "currencyCode": "MYR",
      "inclusiveTax": false,
      "lines": [
        {
          "accountNo": "500-0000",
          "description": "Service line 1",
          "amount": 100,
          "taxType": "S-0",
          "taxCode": "S-0",
          "taxAmount": 0,
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "userDefinedFields": {
            "APITEST": "API-LINE"
          }
        },
        {
          "accountNo": "501-0000",
          "description": "Different posting account line",
          "amount": 50,
          "taxType": "S-0",
          "taxCode": "S-0",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022"
        }
      ],
      "knockOffs": [
        {
          "docType": "RI",
          "docKey": "424508",
          "docNo": "IV-000001",
          "amount": 100,
          "discountAmount": 0,
          "taxAdjustment": 0
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-ar-debit-note-batch-20260624"
}

Notes: Runs create-ar-debit-note for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-ar-debit-note. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-ar-invoices write Bulk Bulk wrapper for create-ar-invoice.

Full payload schema: /v1/schema/commands/bulk-create-ar-invoices

Payload fields

records
required array; each row uses the same payload as create-ar-invoice
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "debtorCode": "300-A001",
      "docDate": "2026-06-24",
      "dueDate": "2026-07-24",
      "description": "AR document created through API",
      "ref": "API-REF-1001",
      "branchCode": "MAIN",
      "attention": "Accounts Department",
      "contact": "Accounts Department",
      "currencyCode": "MYR",
      "inclusiveTax": false,
      "lines": [
        {
          "accountNo": "500-0000",
          "description": "Service line 1",
          "amount": 100,
          "taxType": "S-0",
          "taxCode": "S-0",
          "taxAmount": 0,
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "userDefinedFields": {
            "APITEST": "API-LINE"
          }
        },
        {
          "accountNo": "501-0000",
          "description": "Different posting account line",
          "amount": 50,
          "taxType": "S-0",
          "taxCode": "S-0",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022"
        }
      ],
      "knockOffs": [
        {
          "docType": "RI",
          "docKey": "424508",
          "docNo": "IV-000001",
          "amount": 100,
          "discountAmount": 0,
          "taxAdjustment": 0
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-ar-invoice-batch-20260624"
}

Notes: Runs create-ar-invoice for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-ar-invoice. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-ar-payments write Bulk Bulk wrapper for create-ar-payment.

Full payload schema: /v1/schema/commands/bulk-create-ar-payments

Payload fields

records
required array; each row uses the same payload as create-ar-payment
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "debtorCode": "300-A001",
      "docDate": "2026-06-24",
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "chequeNo": "API-PAY-1001",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "",
      "description": "AR payment/refund created through API",
      "amount": 100,
      "knockOffs": [
        {
          "docType": "RI",
          "docKey": "424508",
          "docNo": "IV-000001",
          "amount": 100,
          "discountAmount": 0,
          "taxAdjustment": 0,
          "gainLossAmount": 0,
          "withholdingTaxAmount": 0
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-ar-payment-batch-20260624"
}

Notes: Runs create-ar-payment for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-ar-payment. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-ar-refunds write Bulk Bulk wrapper for create-ar-refund.

Full payload schema: /v1/schema/commands/bulk-create-ar-refunds

Payload fields

records
required array; each row uses the same payload as create-ar-refund
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "debtorCode": "300-A001",
      "docDate": "2026-06-24",
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "chequeNo": "API-PAY-1001",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "",
      "description": "AR payment/refund created through API",
      "amount": 100,
      "knockOffs": [
        {
          "docType": "RI",
          "docKey": "424508",
          "docNo": "IV-000001",
          "amount": 100,
          "discountAmount": 0,
          "taxAdjustment": 0,
          "gainLossAmount": 0,
          "withholdingTaxAmount": 0
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-ar-refund-batch-20260624"
}

Notes: Runs create-ar-refund for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-ar-refund. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-arap-contras write Bulk Bulk wrapper for create-arap-contra.

Full payload schema: /v1/schema/commands/bulk-create-arap-contras

Payload fields

records
required array; each row uses the same payload as create-arap-contra
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "debtorCode": "300-A001",
      "creditorCode": "400-S001",
      "docDate": "2026-06-24",
      "description": "API AR/AP contra",
      "ref": "API-CONTRA-1001",
      "amount": 100,
      "arKnockOffs": [
        {
          "docType": "RI",
          "docKey": "424501",
          "docNo": "IV-000001",
          "amount": 100
        }
      ],
      "apKnockOffs": [
        {
          "docType": "PB",
          "docKey": "424508",
          "docNo": "PI-000001",
          "amount": 100
        }
      ],
      "knockOffs": [
        {
          "side": "AR",
          "docType": "RI",
          "docKey": "424501",
          "docNo": "IV-000001",
          "amount": 100
        },
        {
          "side": "AP",
          "docType": "PB",
          "docKey": "424508",
          "docNo": "PI-000001",
          "amount": 100
        }
      ]
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-arap-contra-batch-20260624"
}

Notes: Runs create-arap-contra for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-arap-contra. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-cash-purchases write Bulk Bulk wrapper for create-cash-purchase.

Full payload schema: /v1/schema/commands/bulk-create-cash-purchases

Payload fields

records
required array; each row uses the same payload as create-cash-purchase
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "creditorCode": "400-S001",
      "docDate": "2026-06-24",
      "displayTerm": "30 DAYS",
      "branchCode": "MAIN",
      "purchaseLocation": "HQ",
      "purchaseAgent": "PA01",
      "attention": "Supplier Sales Department",
      "contact": "Supplier Sales Department",
      "phone": "03-33333333",
      "address1": "No. 2 Jalan Supplier",
      "address2": "Supplier Park",
      "address3": "Petaling Jaya",
      "address4": "Malaysia",
      "description": "Purchase document created through API",
      "supplierInvoiceNo": "SUP-INV-1001",
      "currencyCode": "MYR",
      "inclusiveTax": false,
      "taxEntityID": 1,
      "project": "PRJAPI",
      "department": "HQ",
      "lines": [
        {
          "itemCode": "ITEM001",
          "description": "API purchase item line 1",
          "description2": "Line second description",
          "furtherDescription": "Optional longer line note",
          "barCode": "9550000000011",
          "qty": 2,
          "uom": "UNIT",
          "unitPrice": 80,
          "discount": "0",
          "taxType": "P-0",
          "taxRate": 0,
          "taxAmount": 0,
          "amount": 160,
          "accountNo": "610-0000",
          "postingAccountNo": "610-0000",
          "location": "HQ",
          "batchNo": "BATCH-001",
          "serialNo": "SN-0001",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "userDefinedFields": {
            "APITEST": "Blue"
          }
        },
        {
          "accountNo": "610-0000",
          "description": "Service/account line without itemCode",
          "qty": 1,
          "unitPrice": 80,
          "taxType": "P-0",
          "location": "HQ",
          "project": "PRJAPI",
          "department": "HQ"
        }
      ],
      "payments": [
        {
          "paymentMethod": "CASH",
          "paymentBy": "Cash",
          "paymentAmount": 100,
          "chequeNo": "",
          "bankCharge": 0,
          "paymentAccountNo": "110-0010",
          "bankChargeAccountNo": "810-0000",
          "creditCardApprovalCode": ""
        },
        {
          "paymentMethod": "BANK",
          "paymentBy": "Bank Transfer",
          "paymentAmount": 60,
          "chequeNo": "",
          "bankCharge": 0,
          "paymentAccountNo": "110-0010",
          "bankChargeAccountNo": "810-0000",
          "creditCardApprovalCode": ""
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-cash-purchase-batch-20260624"
}

Notes: Runs create-cash-purchase for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-cash-purchase. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-cash-sales write Bulk Bulk wrapper for create-cash-sale.

Full payload schema: /v1/schema/commands/bulk-create-cash-sales

Payload fields

records
required array; each row uses the same payload as create-cash-sale
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "debtorCode": "300-A001",
      "docDate": "2026-06-24",
      "displayTerm": "30 DAYS",
      "branchCode": "MAIN",
      "salesLocation": "HQ",
      "multiPricing": "Price 1",
      "salesAgent": "SA01",
      "attention": "Purchasing Department",
      "contact": "Purchasing Department",
      "deliverContact": "Store Receiver",
      "deliverPhone1": "012-3456789",
      "phone": "03-11111111",
      "address1": "No. 1 Jalan API",
      "address2": "Taman Integration",
      "address3": "Kuala Lumpur",
      "address4": "Malaysia",
      "description": "Sales document created through API",
      "ref": "WEB-ORDER-1001",
      "currencyCode": "MYR",
      "inclusiveTax": false,
      "taxEntityID": 1,
      "project": "PRJAPI",
      "department": "HQ",
      "lines": [
        {
          "itemCode": "ITEM001",
          "description": "API item line 1",
          "description2": "Line second description",
          "furtherDescription": "Optional longer line note",
          "barCode": "9550000000011",
          "qty": 2,
          "uom": "UNIT",
          "unitPrice": 100,
          "discount": "5%",
          "taxType": "S-0",
          "taxRate": 0,
          "taxAmount": 0,
          "amount": 190,
          "accountNo": "500-0000",
          "location": "HQ",
          "batchNo": "BATCH-001",
          "serialNo": "SN-0001",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "deliveryDate": "2026-06-30",
          "userDefinedFields": {
            "APITEST": "Blue"
          }
        },
        {
          "accountNo": "500-0000",
          "description": "Service/account line without itemCode",
          "qty": 1,
          "unitPrice": 50,
          "taxType": "S-0",
          "location": "HQ",
          "project": "PRJAPI",
          "department": "HQ"
        }
      ],
      "payments": [
        {
          "paymentMethod": "CASH",
          "paymentBy": "Cash",
          "paymentAmount": 130,
          "chequeNo": "",
          "bankCharge": 0,
          "paymentAccountNo": "110-0010",
          "bankChargeAccountNo": "810-0000",
          "creditCardApprovalCode": ""
        },
        {
          "paymentMethod": "CARD",
          "paymentBy": "Credit Card",
          "paymentAmount": 60,
          "chequeNo": "",
          "bankCharge": 0,
          "paymentAccountNo": "110-0010",
          "bankChargeAccountNo": "810-0000",
          "creditCardApprovalCode": "APPROVED-001"
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-cash-sale-batch-20260624"
}

Notes: Runs create-cash-sale for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-cash-sale. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-creditors write Bulk Bulk wrapper for create-creditor.

Full payload schema: /v1/schema/commands/bulk-create-creditors

Payload fields

records
required array; each row uses the same payload as create-creditor
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "accNo": "400-API",
      "companyName": "API Supplier Sdn Bhd",
      "desc2": "API Supplier Trading Name",
      "creditorType": "SUP",
      "area": "PJ",
      "purchaseAgent": "PA01",
      "branchCode": "HQ",
      "displayTerm": "30 DAYS",
      "currencyCode": "MYR",
      "taxCode": "SST",
      "taxEntityID": 1,
      "creditLimit": 30000,
      "overdueLimit": 30,
      "isActive": true,
      "address1": "No. 2 Jalan API",
      "address2": "Supplier Park",
      "address3": "Petaling Jaya",
      "address4": "Malaysia",
      "postCode": "46000",
      "attention": "Supplier Accounts",
      "contactPerson": "Tan Supplier",
      "phone1": "03-33333333",
      "phone2": "019-8888888",
      "fax1": "03-33333334",
      "emailAddress": "supplier@example.com",
      "website": "https://supplier.example.com",
      "registrationNo": "202602000002",
      "taxRegisterNo": "SST-400-API",
      "businessNature": "Supplier",
      "remark1": "Created by API",
      "remark2": "Supplier credit control example",
      "deliveryAddress1": "Supplier Warehouse",
      "deliveryAddress2": "Logistics Park",
      "deliveryPostCode": "46000",
      "deliveryContact": "Supplier Store",
      "contacts": [
        {
          "name": "Tan Supplier",
          "department": "Finance",
          "designation": "Accounts",
          "mobilePhone": "019-1111111",
          "directPhone": "03-33333335",
          "emailAddress": "supplier-accounts@example.com",
          "includeInContactInfo": true
        }
      ],
      "branches": [
        {
          "branchCode": "HQ",
          "branchName": "Head Office",
          "address1": "No. 2 Jalan API",
          "address2": "Supplier Park",
          "postCode": "46000",
          "contact": "Tan Supplier",
          "phone1": "03-33333333",
          "emailAddress": "supplier-hq@example.com",
          "taxEntityID": 1,
          "isActive": true
        }
      ]
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-creditor-batch-20260624"
}

Notes: Runs create-creditor for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-creditor. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-debtors write Bulk Bulk wrapper for create-debtor.

Full payload schema: /v1/schema/commands/bulk-create-debtors

Payload fields

records
required array; each row uses the same payload as create-debtor
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "accNo": "300-API",
      "companyName": "API Customer Sdn Bhd",
      "desc2": "API Customer Trading Name",
      "debtorType": "CUS",
      "area": "KL",
      "salesAgent": "SA01",
      "branchCode": "HQ",
      "displayTerm": "30 DAYS",
      "currencyCode": "MYR",
      "taxCode": "SST",
      "taxEntityID": 1,
      "priceCategory": "API",
      "creditLimit": 50000,
      "overdueLimit": 30,
      "statementType": "Open Item",
      "isActive": true,
      "allowExceedCreditLimit": false,
      "address1": "No. 1 Jalan API",
      "address2": "Taman Integration",
      "address3": "Kuala Lumpur",
      "address4": "Malaysia",
      "postCode": "50000",
      "attention": "Accounts Department",
      "contactPerson": "Lim Accounts",
      "phone1": "03-11111111",
      "phone2": "012-3456789",
      "fax1": "03-11111112",
      "emailAddress": "customer@example.com",
      "website": "https://customer.example.com",
      "registrationNo": "202601000001",
      "taxRegisterNo": "SST-300-API",
      "businessNature": "Trading",
      "remark1": "Created by API",
      "remark2": "Credit control example",
      "deliveryAddress1": "Warehouse 1",
      "deliveryAddress2": "Industrial Park",
      "deliveryAddress3": "Shah Alam",
      "deliveryAddress4": "Malaysia",
      "deliveryPostCode": "40100",
      "deliveryContact": "Store Receiver",
      "contacts": [
        {
          "name": "Lim Accounts",
          "department": "Finance",
          "designation": "Accounts",
          "mobilePhone": "012-1111111",
          "directPhone": "03-11111113",
          "emailAddress": "accounts@example.com",
          "includeInContactInfo": true
        }
      ],
      "branches": [
        {
          "branchCode": "HQ",
          "branchName": "Head Office",
          "address1": "No. 1 Jalan API",
          "address2": "Taman Integration",
          "postCode": "50000",
          "contact": "Lim Accounts",
          "phone1": "03-11111111",
          "emailAddress": "hq@example.com",
          "taxEntityID": 1,
          "isActive": true
        }
      ]
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-debtor-batch-20260624"
}

Notes: Runs create-debtor for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-debtor. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-delivery-orders write Bulk Bulk wrapper for create-delivery-order.

Full payload schema: /v1/schema/commands/bulk-create-delivery-orders

Payload fields

records
required array; each row uses the same payload as create-delivery-order
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "debtorCode": "300-A001",
      "docDate": "2026-06-24",
      "displayTerm": "30 DAYS",
      "branchCode": "MAIN",
      "salesLocation": "HQ",
      "multiPricing": "Price 1",
      "salesAgent": "SA01",
      "attention": "Purchasing Department",
      "contact": "Purchasing Department",
      "deliverContact": "Store Receiver",
      "deliverPhone1": "012-3456789",
      "phone": "03-11111111",
      "address1": "No. 1 Jalan API",
      "address2": "Taman Integration",
      "address3": "Kuala Lumpur",
      "address4": "Malaysia",
      "description": "Sales document created through API",
      "ref": "WEB-ORDER-1001",
      "currencyCode": "MYR",
      "inclusiveTax": false,
      "taxEntityID": 1,
      "project": "PRJAPI",
      "department": "HQ",
      "lines": [
        {
          "itemCode": "ITEM001",
          "description": "API item line 1",
          "description2": "Line second description",
          "furtherDescription": "Optional longer line note",
          "barCode": "9550000000011",
          "qty": 2,
          "uom": "UNIT",
          "unitPrice": 100,
          "discount": "5%",
          "taxType": "S-0",
          "taxRate": 0,
          "taxAmount": 0,
          "amount": 190,
          "accountNo": "500-0000",
          "location": "HQ",
          "batchNo": "BATCH-001",
          "serialNo": "SN-0001",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "deliveryDate": "2026-06-30",
          "userDefinedFields": {
            "APITEST": "Blue"
          }
        },
        {
          "accountNo": "500-0000",
          "description": "Service/account line without itemCode",
          "qty": 1,
          "unitPrice": 50,
          "taxType": "S-0",
          "location": "HQ",
          "project": "PRJAPI",
          "department": "HQ"
        }
      ],
      "payments": [
        {
          "paymentMethod": "CASH",
          "paymentBy": "Cash",
          "paymentAmount": 130,
          "chequeNo": "",
          "bankCharge": 0,
          "paymentAccountNo": "110-0010",
          "bankChargeAccountNo": "810-0000",
          "creditCardApprovalCode": ""
        },
        {
          "paymentMethod": "CARD",
          "paymentBy": "Credit Card",
          "paymentAmount": 60,
          "chequeNo": "",
          "bankCharge": 0,
          "paymentAccountNo": "110-0010",
          "bankChargeAccountNo": "810-0000",
          "creditCardApprovalCode": "APPROVED-001"
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-delivery-order-batch-20260624"
}

Notes: Runs create-delivery-order for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-delivery-order. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-fixed-asset-gl-accounts write Bulk Bulk wrapper for create-fixed-asset-gl-accounts.

Full payload schema: /v1/schema/commands/bulk-create-fixed-asset-gl-accounts

Payload fields

records
required array; each row uses the same payload as create-fixed-asset-gl-accounts
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "fixedAsset": {
        "accNo": "150-1000",
        "description": "Motor Vehicle",
        "accType": "use an Asset code from list-general-account-types",
        "parentAccNo": "<<FIXED ASSETS>>",
        "currencyCode": "MYR",
        "cashFlowCategory": "InvestingActivities",
        "specialAccType": "SFA"
      },
      "accumulatedDepreciation": {
        "accNo": "159-1000",
        "description": "Accumulated Depreciation - Motor Vehicle",
        "accType": "use an Asset code from list-general-account-types",
        "parentAccNo": "<<FIXED ASSETS>>",
        "currencyCode": "MYR",
        "cashFlowCategory": "OperatingActivities",
        "specialAccType": "SAD"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-fixed-asset-gl-accounts-batch-20260624"
}

Notes: Runs create-fixed-asset-gl-accounts for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-fixed-asset-gl-accounts. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-general-addresses write Bulk Bulk wrapper for create-general-address.

Full payload schema: /v1/schema/commands/bulk-create-general-addresses

Payload fields

records
required array; each row uses the same payload as create-general-address
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "code": "HQ",
      "addressName": "Head Office",
      "address1": "No. 1 Jalan API",
      "address2": "Taman Integration",
      "address3": "Kuala Lumpur",
      "address4": "Malaysia",
      "postCode": "50000",
      "city": "Kuala Lumpur",
      "state": "Wilayah Persekutuan",
      "country": "Malaysia",
      "contact": "Admin",
      "phone": "03-00000000",
      "fax": "03-00000001",
      "emailAddress": "admin@example.com",
      "isActive": true,
      "remark1": "Created by API",
      "remark2": "Address setup example"
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-general-address-batch-20260624"
}

Notes: Runs create-general-address for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-general-address. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-general-areas write Bulk Bulk wrapper for create-general-area.

Full payload schema: /v1/schema/commands/bulk-create-general-areas

Payload fields

records
required array; each row uses the same payload as create-general-area
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "code": "KL",
      "areaCode": "KL",
      "description": "Kuala Lumpur",
      "desc2": "Central region"
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-general-area-batch-20260624"
}

Notes: Runs create-general-area for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-general-area. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-general-cn-types write Bulk Bulk wrapper for create-general-cn-type.

Full payload schema: /v1/schema/commands/bulk-create-general-cn-types

Payload fields

records
required array; each row uses the same payload as create-general-cn-type
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "code": "CNAPI",
      "cnType": "CNAPI",
      "description": "API C/N Type",
      "desc2": "C/N Type second description",
      "isActive": true,
      "remark1": "Created by API",
      "remark2": "C/N Type setup example"
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-general-cn-type-batch-20260624"
}

Notes: Runs create-general-cn-type for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-general-cn-type. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-general-creditor-types write Bulk Bulk wrapper for create-general-creditor-type.

Full payload schema: /v1/schema/commands/bulk-create-general-creditor-types

Payload fields

records
required array; each row uses the same payload as create-general-creditor-type
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "code": "SUP",
      "creditorType": "SUP",
      "description": "API Creditor Type",
      "desc2": "Creditor Type second description",
      "isActive": true,
      "remark1": "Created by API",
      "remark2": "Creditor Type setup example"
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-general-creditor-type-batch-20260624"
}

Notes: Runs create-general-creditor-type for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-general-creditor-type. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-general-currencies write Bulk Bulk wrapper for create-general-currency.

Full payload schema: /v1/schema/commands/bulk-create-general-currencies

Payload fields

records
required array; each row uses the same payload as create-general-currency
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "code": "USD",
      "currencyCode": "USD",
      "currencySymbol": "$",
      "currencyWord": "US Dollar",
      "currencyWord2": "US Dollars",
      "bankBuyRate": 4.7,
      "bankSellRate": 4.75,
      "fcGainAccount": "720-0000",
      "fcLossAccount": "820-0000",
      "gainLossJournalType": "GL"
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-general-currency-batch-20260624"
}

Notes: Runs create-general-currency for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-general-currency. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-general-debtor-types write Bulk Bulk wrapper for create-general-debtor-type.

Full payload schema: /v1/schema/commands/bulk-create-general-debtor-types

Payload fields

records
required array; each row uses the same payload as create-general-debtor-type
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "code": "CUS",
      "debtorType": "CUS",
      "description": "API Debtor Type",
      "desc2": "Debtor Type second description",
      "isActive": true,
      "remark1": "Created by API",
      "remark2": "Debtor Type setup example"
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-general-debtor-type-batch-20260624"
}

Notes: Runs create-general-debtor-type for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-general-debtor-type. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-general-dn-types write Bulk Bulk wrapper for create-general-dn-type.

Full payload schema: /v1/schema/commands/bulk-create-general-dn-types

Payload fields

records
required array; each row uses the same payload as create-general-dn-type
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "code": "DNAPI",
      "dnType": "DNAPI",
      "description": "API D/N Type",
      "desc2": "D/N Type second description",
      "isActive": true,
      "remark1": "Created by API",
      "remark2": "D/N Type setup example"
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-general-dn-type-batch-20260624"
}

Notes: Runs create-general-dn-type for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-general-dn-type. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-general-payment-methods write Bulk Bulk wrapper for create-general-payment-method.

Full payload schema: /v1/schema/commands/bulk-create-general-payment-methods

Payload fields

records
required array; each row uses the same payload as create-general-payment-method
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "code": "BANKAPI",
      "paymentMethod": "BANKAPI",
      "paymentType": "Bank",
      "paymentBy": "Bank Transfer",
      "journalType": "BANK",
      "bankAccount": "110-0010",
      "bankChargeAccount": "810-0000",
      "bankChargePercent": 2.5,
      "minBankCharge": 0,
      "odLimit": 0,
      "nextChequeNo": "CHQ-000101",
      "acceptChequeNo": true,
      "mergeBankChargeTrans": false,
      "isActive": true
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-general-payment-method-batch-20260624"
}

Notes: Runs create-general-payment-method for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-general-payment-method. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-general-price-categories write Bulk Bulk wrapper for create-general-price-category.

Full payload schema: /v1/schema/commands/bulk-create-general-price-categories

Payload fields

records
required array; each row uses the same payload as create-general-price-category
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "code": "API",
      "priceCategory": "API",
      "description": "API Price Category",
      "discountPercent": 5,
      "detailDiscount": "5%",
      "markupRatio": 1.2,
      "roundingMethod": "Normal",
      "isActive": true,
      "remark1": "Created by API",
      "remark2": "Price category setup example"
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-general-price-category-batch-20260624"
}

Notes: Runs create-general-price-category for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-general-price-category. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-general-projects write Bulk Bulk wrapper for create-general-project.

Full payload schema: /v1/schema/commands/bulk-create-general-projects

Payload fields

records
required array; each row uses the same payload as create-general-project
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "code": "PRJAPI",
      "projectNo": "PRJAPI",
      "projNo": "PRJAPI",
      "parentProjNo": "",
      "description": "API Project",
      "desc2": "Project second description",
      "isActive": true
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-general-project-batch-20260624"
}

Notes: Runs create-general-project for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-general-project. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-general-purchase-agents write Bulk Bulk wrapper for create-general-purchase-agent.

Full payload schema: /v1/schema/commands/bulk-create-general-purchase-agents

Payload fields

records
required array; each row uses the same payload as create-general-purchase-agent
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "code": "PAAPI",
      "purchaseAgent": "PAAPI",
      "description": "API Purchase Agent",
      "desc2": "Purchase Agent second description",
      "isActive": true,
      "signature": "Approved by Purchasing"
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-general-purchase-agent-batch-20260624"
}

Notes: Runs create-general-purchase-agent for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-general-purchase-agent. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-general-sales-agents write Bulk Bulk wrapper for create-general-sales-agent.

Full payload schema: /v1/schema/commands/bulk-create-general-sales-agents

Payload fields

records
required array; each row uses the same payload as create-general-sales-agent
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "code": "SAAPI",
      "salesAgent": "SAAPI",
      "description": "API Sales Agent",
      "desc2": "Sales Agent second description",
      "emailAddress": "sales@example.com",
      "approverEmailAddress": "approver@example.com"
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-general-sales-agent-batch-20260624"
}

Notes: Runs create-general-sales-agent for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-general-sales-agent. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-general-shipping-methods write Bulk Bulk wrapper for create-general-shipping-method.

Full payload schema: /v1/schema/commands/bulk-create-general-shipping-methods

Payload fields

records
required array; each row uses the same payload as create-general-shipping-method
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "code": "LALAMOVE",
      "shippingMethod": "LALAMOVE",
      "description": "API Shipping Method",
      "desc2": "Shipping Method second description",
      "isActive": true,
      "remark1": "Created by API",
      "remark2": "Shipping Method setup example"
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-general-shipping-method-batch-20260624"
}

Notes: Runs create-general-shipping-method for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-general-shipping-method. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-gl-accounts write Bulk Bulk wrapper for create-gl-account.

Full payload schema: /v1/schema/commands/bulk-create-gl-accounts

Payload fields

records
required array; each row uses the same payload as create-gl-account
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "accNo": "690-9000",
      "description": "API Expense Account",
      "desc2": "API expense second description",
      "accType": "EP",
      "parentAccNo": "610-0000",
      "currencyCode": "MYR",
      "cashFlowCategory": "OperatingActivities",
      "specialAccType": "Normal",
      "isActive": true,
      "remark1": "Created by API",
      "remark2": "GL account setup example"
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-gl-account-batch-20260624"
}

Notes: Runs create-gl-account for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-gl-account. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-gl-cash-book-payments write Bulk Bulk wrapper for create-gl-cash-book-payment.

Full payload schema: /v1/schema/commands/bulk-create-gl-cash-book-payments

Payload fields

records
required array; each row uses the same payload as create-gl-cash-book-payment
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "docDate": "2026-06-24",
      "payTo": "API Supplier",
      "taxEntityID": 1,
      "description": "API payment voucher",
      "chequeNo": "PV-API-1001",
      "lines": [
        {
          "accNo": "610-0000",
          "accountNo": "610-0000",
          "description": "Expense line",
          "amount": 100,
          "taxType": "S-0",
          "taxCode": "S-0",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "userDefinedFields": {
            "APITEST": "API-LINE"
          }
        }
      ],
      "payments": [
        {
          "paymentMethod": "CASH",
          "paymentBy": "Cash",
          "paymentAmount": 100,
          "chequeNo": "PV-API-1001",
          "bankCharge": 0,
          "bankAccount": "110-0010",
          "paymentAccountNo": "110-0010",
          "bankChargeAccountNo": "810-0000",
          "creditCardApprovalCode": ""
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-gl-cash-book-payment-batch-20260624"
}

Notes: Runs create-gl-cash-book-payment for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-gl-cash-book-payment. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-gl-cash-book-receipts write Bulk Bulk wrapper for create-gl-cash-book-receipt.

Full payload schema: /v1/schema/commands/bulk-create-gl-cash-book-receipts

Payload fields

records
required array; each row uses the same payload as create-gl-cash-book-receipt
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "docDate": "2026-06-24",
      "taxEntityID": 1,
      "description": "API official receipt",
      "chequeNo": "PV-API-1001",
      "lines": [
        {
          "accNo": "610-0000",
          "accountNo": "610-0000",
          "description": "Expense line",
          "amount": 100,
          "taxType": "S-0",
          "taxCode": "S-0",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "userDefinedFields": {
            "APITEST": "API-LINE"
          }
        }
      ],
      "payments": [
        {
          "paymentMethod": "CASH",
          "paymentBy": "Cash",
          "paymentAmount": 100,
          "chequeNo": "PV-API-1001",
          "bankCharge": 0,
          "bankAccount": "110-0010",
          "paymentAccountNo": "110-0010",
          "bankChargeAccountNo": "810-0000",
          "creditCardApprovalCode": ""
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      },
      "receiveFrom": "API Customer"
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-gl-cash-book-receipt-batch-20260624"
}

Notes: Runs create-gl-cash-book-receipt for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-gl-cash-book-receipt. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-goods-received-notes write Bulk Bulk wrapper for create-goods-received-note.

Full payload schema: /v1/schema/commands/bulk-create-goods-received-notes

Payload fields

records
required array; each row uses the same payload as create-goods-received-note
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "creditorCode": "400-S001",
      "docDate": "2026-06-24",
      "displayTerm": "30 DAYS",
      "branchCode": "MAIN",
      "purchaseLocation": "HQ",
      "purchaseAgent": "PA01",
      "attention": "Supplier Sales Department",
      "contact": "Supplier Sales Department",
      "phone": "03-33333333",
      "address1": "No. 2 Jalan Supplier",
      "address2": "Supplier Park",
      "address3": "Petaling Jaya",
      "address4": "Malaysia",
      "description": "Purchase document created through API",
      "supplierInvoiceNo": "SUP-INV-1001",
      "currencyCode": "MYR",
      "inclusiveTax": false,
      "taxEntityID": 1,
      "project": "PRJAPI",
      "department": "HQ",
      "lines": [
        {
          "itemCode": "ITEM001",
          "description": "API purchase item line 1",
          "description2": "Line second description",
          "furtherDescription": "Optional longer line note",
          "barCode": "9550000000011",
          "qty": 2,
          "uom": "UNIT",
          "unitPrice": 80,
          "discount": "0",
          "taxType": "P-0",
          "taxRate": 0,
          "taxAmount": 0,
          "amount": 160,
          "accountNo": "610-0000",
          "postingAccountNo": "610-0000",
          "location": "HQ",
          "batchNo": "BATCH-001",
          "serialNo": "SN-0001",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "userDefinedFields": {
            "APITEST": "Blue"
          }
        },
        {
          "accountNo": "610-0000",
          "description": "Service/account line without itemCode",
          "qty": 1,
          "unitPrice": 80,
          "taxType": "P-0",
          "location": "HQ",
          "project": "PRJAPI",
          "department": "HQ"
        }
      ],
      "payments": [
        {
          "paymentMethod": "CASH",
          "paymentBy": "Cash",
          "paymentAmount": 100,
          "chequeNo": "",
          "bankCharge": 0,
          "paymentAccountNo": "110-0010",
          "bankChargeAccountNo": "810-0000",
          "creditCardApprovalCode": ""
        },
        {
          "paymentMethod": "BANK",
          "paymentBy": "Bank Transfer",
          "paymentAmount": 60,
          "chequeNo": "",
          "bankCharge": 0,
          "paymentAccountNo": "110-0010",
          "bankChargeAccountNo": "810-0000",
          "creditCardApprovalCode": ""
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-goods-received-note-batch-20260624"
}

Notes: Runs create-goods-received-note for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-goods-received-note. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-item-boms write Bulk Bulk wrapper for create-item-bom.

Full payload schema: /v1/schema/commands/bulk-create-item-boms

Payload fields

records
required array; each row uses the same payload as create-item-bom
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "itemCode": "FINISHED-API",
      "updateBOMCost": true,
      "lines": [
        {
          "subItemCode": "RAW-API-1",
          "qty": 2
        },
        {
          "subItemCode": "RAW-API-2",
          "qty": 3
        }
      ]
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-item-bom-batch-20260624"
}

Notes: Runs create-item-bom for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-item-bom. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-item-packages write Bulk Bulk wrapper for create-item-package.

Full payload schema: /v1/schema/commands/bulk-create-item-packages

Payload fields

records
required array; each row uses the same payload as create-item-package
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "packageCode": "PKG-API",
      "description": "API Package",
      "unitPrice": 120,
      "isActive": true,
      "limitedQty": 10,
      "lines": [
        {
          "itemCode": "ITEM001",
          "qty": 1,
          "uom": "UNIT",
          "unitPrice": 100
        },
        {
          "itemCode": "ITEM002",
          "qty": 2,
          "uom": "UNIT",
          "unitPrice": 10
        }
      ]
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-item-package-batch-20260624"
}

Notes: Runs create-item-package for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-item-package. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-items write Bulk Bulk wrapper for create-item.

Full payload schema: /v1/schema/commands/bulk-create-items

Payload fields

records
required array; each row uses the same payload as create-item
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "itemCode": "API-ITEM",
      "description": "API Test Item",
      "desc2": "API Item Second Description",
      "furtherDescription": "Long item note visible in AutoCount item detail.",
      "templateItemCode": "00004",
      "itemGroup": "FG",
      "itemType": "Stock",
      "itemBrand": "MACSOFT",
      "itemCategory": "API",
      "itemClass": "A",
      "tariffCode": "8471.30",
      "baseUom": "UNIT",
      "salesUom": "UNIT",
      "purchaseUom": "UNIT",
      "reportUom": "UNIT",
      "taxCode": "S-0",
      "purchaseTaxCode": "P-0",
      "defaultLocation": "HQ",
      "costingMethod": "Weighted Average",
      "standardCost": 80,
      "minimumSellingPrice": 90,
      "sellingPrice": 100,
      "purchasePrice": 80,
      "reorderLevel": 10,
      "normalLevel": 50,
      "minimumLevel": 5,
      "maximumLevel": 200,
      "isSalesItem": true,
      "isPurchaseItem": true,
      "stockControl": true,
      "hasBatchNo": false,
      "hasSerialNo": false,
      "snFormatName": "",
      "isActive": true,
      "uoms": [
        {
          "uom": "UNIT",
          "rate": 1,
          "price": 100,
          "cost": 80,
          "barCode": "9550000000011",
          "minSalePrice": 90,
          "maxSalePrice": 9999,
          "minQty": 15,
          "maxQty": 200
        },
        {
          "uom": "BOX",
          "rate": 12,
          "price": 1200,
          "cost": 960,
          "barCode": "9550000000012"
        }
      ],
      "subCodes": [
        {
          "subCode": "ALT-API-ITEM",
          "uom": "UNIT"
        }
      ],
      "priceBooks": [
        {
          "ref": "PB-API-ITEM",
          "priceCategory": "RETAIL",
          "uom": "UNIT",
          "fixedPrice": 100,
          "qty1": 1,
          "price1": 100
        }
      ],
      "customerPrices": [
        {
          "ref": "CP-API-ITEM",
          "debtorCode": "300-A001",
          "currencyCode": "MYR",
          "uom": "UNIT",
          "customerItemCode": "CUST-API-ITEM",
          "fixedPrice": 95,
          "qty1": 1,
          "price1": 95
        }
      ],
      "supplierPrices": [
        {
          "ref": "SP-API-ITEM",
          "creditorCode": "400-S001",
          "currencyCode": "MYR",
          "uom": "UNIT",
          "supplierItemCode": "SUP-API-ITEM",
          "fixedPrice": 80,
          "qty1": 1,
          "price1": 80
        }
      ],
      "openingBalances": [
        {
          "location": "HQ",
          "qty": 10,
          "uom": "UNIT",
          "unitCost": 80,
          "batchNo": "BATCH-001",
          "docDate": "2026-07-26"
        }
      ],
      "bomRows": [
        {
          "subItemCode": "API-COMPONENT",
          "qty": 2,
          "overheadCost": 0,
          "seq": 1,
          "costFraction": 1
        }
      ],
      "replacements": [
        {
          "replacementItemCode": "API-REPLACEMENT",
          "replacementDegree": 1,
          "note": "Alternative item"
        }
      ],
      "batchNo": "BATCH-001",
      "batchDescription": "Opening API batch",
      "remark1": "Created by API",
      "remark2": "Stock item full payload example"
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-item-batch-20260624"
}

Notes: Runs create-item for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-item. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-journal-entries write Bulk Bulk wrapper for create-journal-entry.

Full payload schema: /v1/schema/commands/bulk-create-journal-entries

Payload fields

records
required array; each row uses the same payload as create-journal-entry
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "docDate": "2026-06-24",
      "journalType": "JV",
      "description": "API journal entry",
      "refNo": "API-JV-1001",
      "lines": [
        {
          "accNo": "610-0000",
          "accountNo": "610-0000",
          "description": "Debit expense",
          "debit": 100,
          "credit": 0,
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "taxType": "S-0",
          "taxCode": "S-0",
          "classification": "022",
          "userDefinedFields": {
            "APITEST": "API-LINE"
          }
        },
        {
          "accNo": "500-1000",
          "accountNo": "500-1000",
          "description": "Credit control",
          "debit": 0,
          "credit": 100,
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "taxType": "S-0",
          "taxCode": "S-0",
          "classification": "022"
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-journal-entry-batch-20260624"
}

Notes: Runs create-journal-entry for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-journal-entry. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-purchase-invoices write Bulk Bulk wrapper for create-purchase-invoice.

Full payload schema: /v1/schema/commands/bulk-create-purchase-invoices

Payload fields

records
required array; each row uses the same payload as create-purchase-invoice
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "creditorCode": "400-S001",
      "docDate": "2026-06-24",
      "displayTerm": "30 DAYS",
      "branchCode": "MAIN",
      "purchaseLocation": "HQ",
      "purchaseAgent": "PA01",
      "attention": "Supplier Sales Department",
      "contact": "Supplier Sales Department",
      "phone": "03-33333333",
      "address1": "No. 2 Jalan Supplier",
      "address2": "Supplier Park",
      "address3": "Petaling Jaya",
      "address4": "Malaysia",
      "description": "Purchase document created through API",
      "supplierInvoiceNo": "SUP-INV-1001",
      "currencyCode": "MYR",
      "inclusiveTax": false,
      "taxEntityID": 1,
      "project": "PRJAPI",
      "department": "HQ",
      "lines": [
        {
          "itemCode": "ITEM001",
          "description": "API purchase item line 1",
          "description2": "Line second description",
          "furtherDescription": "Optional longer line note",
          "barCode": "9550000000011",
          "qty": 2,
          "uom": "UNIT",
          "unitPrice": 80,
          "discount": "0",
          "taxType": "P-0",
          "taxRate": 0,
          "taxAmount": 0,
          "amount": 160,
          "accountNo": "610-0000",
          "postingAccountNo": "610-0000",
          "location": "HQ",
          "batchNo": "BATCH-001",
          "serialNo": "SN-0001",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "userDefinedFields": {
            "APITEST": "Blue"
          }
        },
        {
          "accountNo": "610-0000",
          "description": "Service/account line without itemCode",
          "qty": 1,
          "unitPrice": 80,
          "taxType": "P-0",
          "location": "HQ",
          "project": "PRJAPI",
          "department": "HQ"
        }
      ],
      "payments": [
        {
          "paymentMethod": "CASH",
          "paymentBy": "Cash",
          "paymentAmount": 100,
          "chequeNo": "",
          "bankCharge": 0,
          "paymentAccountNo": "110-0010",
          "bankChargeAccountNo": "810-0000",
          "creditCardApprovalCode": ""
        },
        {
          "paymentMethod": "BANK",
          "paymentBy": "Bank Transfer",
          "paymentAmount": 60,
          "chequeNo": "",
          "bankCharge": 0,
          "paymentAccountNo": "110-0010",
          "bankChargeAccountNo": "810-0000",
          "creditCardApprovalCode": ""
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-purchase-invoice-batch-20260624"
}

Notes: Runs create-purchase-invoice for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-purchase-invoice. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-purchase-orders write Bulk Bulk wrapper for create-purchase-order.

Full payload schema: /v1/schema/commands/bulk-create-purchase-orders

Payload fields

records
required array; each row uses the same payload as create-purchase-order
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "creditorCode": "400-S001",
      "docDate": "2026-06-24",
      "displayTerm": "30 DAYS",
      "branchCode": "MAIN",
      "purchaseLocation": "HQ",
      "purchaseAgent": "PA01",
      "attention": "Supplier Sales Department",
      "contact": "Supplier Sales Department",
      "phone": "03-33333333",
      "address1": "No. 2 Jalan Supplier",
      "address2": "Supplier Park",
      "address3": "Petaling Jaya",
      "address4": "Malaysia",
      "description": "Purchase document created through API",
      "supplierInvoiceNo": "SUP-INV-1001",
      "currencyCode": "MYR",
      "inclusiveTax": false,
      "taxEntityID": 1,
      "project": "PRJAPI",
      "department": "HQ",
      "lines": [
        {
          "itemCode": "ITEM001",
          "description": "API purchase item line 1",
          "description2": "Line second description",
          "furtherDescription": "Optional longer line note",
          "barCode": "9550000000011",
          "qty": 2,
          "uom": "UNIT",
          "unitPrice": 80,
          "discount": "0",
          "taxType": "P-0",
          "taxRate": 0,
          "taxAmount": 0,
          "amount": 160,
          "accountNo": "610-0000",
          "postingAccountNo": "610-0000",
          "location": "HQ",
          "batchNo": "BATCH-001",
          "serialNo": "SN-0001",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "userDefinedFields": {
            "APITEST": "Blue"
          }
        },
        {
          "accountNo": "610-0000",
          "description": "Service/account line without itemCode",
          "qty": 1,
          "unitPrice": 80,
          "taxType": "P-0",
          "location": "HQ",
          "project": "PRJAPI",
          "department": "HQ"
        }
      ],
      "payments": [
        {
          "paymentMethod": "CASH",
          "paymentBy": "Cash",
          "paymentAmount": 100,
          "chequeNo": "",
          "bankCharge": 0,
          "paymentAccountNo": "110-0010",
          "bankChargeAccountNo": "810-0000",
          "creditCardApprovalCode": ""
        },
        {
          "paymentMethod": "BANK",
          "paymentBy": "Bank Transfer",
          "paymentAmount": 60,
          "chequeNo": "",
          "bankCharge": 0,
          "paymentAccountNo": "110-0010",
          "bankChargeAccountNo": "810-0000",
          "creditCardApprovalCode": ""
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-purchase-order-batch-20260624"
}

Notes: Runs create-purchase-order for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-purchase-order. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-purchase-returns write Bulk Bulk wrapper for create-purchase-return.

Full payload schema: /v1/schema/commands/bulk-create-purchase-returns

Payload fields

records
required array; each row uses the same payload as create-purchase-return
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "creditorCode": "400-S001",
      "docDate": "2026-06-24",
      "displayTerm": "30 DAYS",
      "branchCode": "MAIN",
      "purchaseLocation": "HQ",
      "purchaseAgent": "PA01",
      "attention": "Supplier Sales Department",
      "contact": "Supplier Sales Department",
      "phone": "03-33333333",
      "address1": "No. 2 Jalan Supplier",
      "address2": "Supplier Park",
      "address3": "Petaling Jaya",
      "address4": "Malaysia",
      "description": "Purchase document created through API",
      "supplierInvoiceNo": "SUP-INV-1001",
      "currencyCode": "MYR",
      "inclusiveTax": false,
      "taxEntityID": 1,
      "project": "PRJAPI",
      "department": "HQ",
      "lines": [
        {
          "itemCode": "ITEM001",
          "description": "API purchase item line 1",
          "description2": "Line second description",
          "furtherDescription": "Optional longer line note",
          "barCode": "9550000000011",
          "qty": 2,
          "uom": "UNIT",
          "unitPrice": 80,
          "discount": "0",
          "taxType": "P-0",
          "taxRate": 0,
          "taxAmount": 0,
          "amount": 160,
          "accountNo": "610-0000",
          "postingAccountNo": "610-0000",
          "location": "HQ",
          "batchNo": "BATCH-001",
          "serialNo": "SN-0001",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "userDefinedFields": {
            "APITEST": "Blue"
          }
        },
        {
          "accountNo": "610-0000",
          "description": "Service/account line without itemCode",
          "qty": 1,
          "unitPrice": 80,
          "taxType": "P-0",
          "location": "HQ",
          "project": "PRJAPI",
          "department": "HQ"
        }
      ],
      "payments": [
        {
          "paymentMethod": "CASH",
          "paymentBy": "Cash",
          "paymentAmount": 100,
          "chequeNo": "",
          "bankCharge": 0,
          "paymentAccountNo": "110-0010",
          "bankChargeAccountNo": "810-0000",
          "creditCardApprovalCode": ""
        },
        {
          "paymentMethod": "BANK",
          "paymentBy": "Bank Transfer",
          "paymentAmount": 60,
          "chequeNo": "",
          "bankCharge": 0,
          "paymentAccountNo": "110-0010",
          "bankChargeAccountNo": "810-0000",
          "creditCardApprovalCode": ""
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-purchase-return-batch-20260624"
}

Notes: Runs create-purchase-return for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-purchase-return. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-quotations write Bulk Bulk wrapper for create-quotation.

Full payload schema: /v1/schema/commands/bulk-create-quotations

Payload fields

records
required array; each row uses the same payload as create-quotation
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "debtorCode": "300-A001",
      "docDate": "2026-06-24",
      "displayTerm": "30 DAYS",
      "branchCode": "MAIN",
      "salesLocation": "HQ",
      "multiPricing": "Price 1",
      "salesAgent": "SA01",
      "attention": "Purchasing Department",
      "contact": "Purchasing Department",
      "deliverContact": "Store Receiver",
      "deliverPhone1": "012-3456789",
      "phone": "03-11111111",
      "address1": "No. 1 Jalan API",
      "address2": "Taman Integration",
      "address3": "Kuala Lumpur",
      "address4": "Malaysia",
      "description": "Sales document created through API",
      "ref": "WEB-ORDER-1001",
      "currencyCode": "MYR",
      "inclusiveTax": false,
      "taxEntityID": 1,
      "project": "PRJAPI",
      "department": "HQ",
      "lines": [
        {
          "itemCode": "ITEM001",
          "description": "API item line 1",
          "description2": "Line second description",
          "furtherDescription": "Optional longer line note",
          "barCode": "9550000000011",
          "qty": 2,
          "uom": "UNIT",
          "unitPrice": 100,
          "discount": "5%",
          "taxType": "S-0",
          "taxRate": 0,
          "taxAmount": 0,
          "amount": 190,
          "accountNo": "500-0000",
          "location": "HQ",
          "batchNo": "BATCH-001",
          "serialNo": "SN-0001",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "deliveryDate": "2026-06-30",
          "userDefinedFields": {
            "APITEST": "Blue"
          }
        },
        {
          "accountNo": "500-0000",
          "description": "Service/account line without itemCode",
          "qty": 1,
          "unitPrice": 50,
          "taxType": "S-0",
          "location": "HQ",
          "project": "PRJAPI",
          "department": "HQ"
        }
      ],
      "payments": [
        {
          "paymentMethod": "CASH",
          "paymentBy": "Cash",
          "paymentAmount": 130,
          "chequeNo": "",
          "bankCharge": 0,
          "paymentAccountNo": "110-0010",
          "bankChargeAccountNo": "810-0000",
          "creditCardApprovalCode": ""
        },
        {
          "paymentMethod": "CARD",
          "paymentBy": "Credit Card",
          "paymentAmount": 60,
          "chequeNo": "",
          "bankCharge": 0,
          "paymentAccountNo": "110-0010",
          "bankChargeAccountNo": "810-0000",
          "creditCardApprovalCode": "APPROVED-001"
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-quotation-batch-20260624"
}

Notes: Runs create-quotation for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-quotation. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-sales-credit-notes write Bulk Bulk wrapper for create-sales-credit-note.

Full payload schema: /v1/schema/commands/bulk-create-sales-credit-notes

Payload fields

records
required array; each row uses the same payload as create-sales-credit-note
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "debtorCode": "300-A001",
      "docDate": "2026-06-24",
      "displayTerm": "30 DAYS",
      "branchCode": "MAIN",
      "salesLocation": "HQ",
      "multiPricing": "Price 1",
      "salesAgent": "SA01",
      "attention": "Purchasing Department",
      "contact": "Purchasing Department",
      "deliverContact": "Store Receiver",
      "deliverPhone1": "012-3456789",
      "phone": "03-11111111",
      "address1": "No. 1 Jalan API",
      "address2": "Taman Integration",
      "address3": "Kuala Lumpur",
      "address4": "Malaysia",
      "description": "Sales document created through API",
      "ref": "WEB-ORDER-1001",
      "currencyCode": "MYR",
      "inclusiveTax": false,
      "taxEntityID": 1,
      "project": "PRJAPI",
      "department": "HQ",
      "lines": [
        {
          "itemCode": "ITEM001",
          "description": "API item line 1",
          "description2": "Line second description",
          "furtherDescription": "Optional longer line note",
          "barCode": "9550000000011",
          "qty": 2,
          "uom": "UNIT",
          "unitPrice": 100,
          "discount": "5%",
          "taxType": "S-0",
          "taxRate": 0,
          "taxAmount": 0,
          "amount": 190,
          "accountNo": "500-0000",
          "location": "HQ",
          "batchNo": "BATCH-001",
          "serialNo": "SN-0001",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "deliveryDate": "2026-06-30",
          "userDefinedFields": {
            "APITEST": "Blue"
          }
        },
        {
          "accountNo": "500-0000",
          "description": "Service/account line without itemCode",
          "qty": 1,
          "unitPrice": 50,
          "taxType": "S-0",
          "location": "HQ",
          "project": "PRJAPI",
          "department": "HQ"
        }
      ],
      "payments": [
        {
          "paymentMethod": "CASH",
          "paymentBy": "Cash",
          "paymentAmount": 130,
          "chequeNo": "",
          "bankCharge": 0,
          "paymentAccountNo": "110-0010",
          "bankChargeAccountNo": "810-0000",
          "creditCardApprovalCode": ""
        },
        {
          "paymentMethod": "CARD",
          "paymentBy": "Credit Card",
          "paymentAmount": 60,
          "chequeNo": "",
          "bankCharge": 0,
          "paymentAccountNo": "110-0010",
          "bankChargeAccountNo": "810-0000",
          "creditCardApprovalCode": "APPROVED-001"
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-sales-credit-note-batch-20260624"
}

Notes: Runs create-sales-credit-note for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-sales-credit-note. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-sales-debit-notes write Bulk Bulk wrapper for create-sales-debit-note.

Full payload schema: /v1/schema/commands/bulk-create-sales-debit-notes

Payload fields

records
required array; each row uses the same payload as create-sales-debit-note
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "debtorCode": "300-A001",
      "docDate": "2026-06-24",
      "displayTerm": "30 DAYS",
      "branchCode": "MAIN",
      "salesLocation": "HQ",
      "multiPricing": "Price 1",
      "salesAgent": "SA01",
      "attention": "Purchasing Department",
      "contact": "Purchasing Department",
      "deliverContact": "Store Receiver",
      "deliverPhone1": "012-3456789",
      "phone": "03-11111111",
      "address1": "No. 1 Jalan API",
      "address2": "Taman Integration",
      "address3": "Kuala Lumpur",
      "address4": "Malaysia",
      "description": "Sales document created through API",
      "ref": "WEB-ORDER-1001",
      "currencyCode": "MYR",
      "inclusiveTax": false,
      "taxEntityID": 1,
      "project": "PRJAPI",
      "department": "HQ",
      "lines": [
        {
          "itemCode": "ITEM001",
          "description": "API item line 1",
          "description2": "Line second description",
          "furtherDescription": "Optional longer line note",
          "barCode": "9550000000011",
          "qty": 2,
          "uom": "UNIT",
          "unitPrice": 100,
          "discount": "5%",
          "taxType": "S-0",
          "taxRate": 0,
          "taxAmount": 0,
          "amount": 190,
          "accountNo": "500-0000",
          "location": "HQ",
          "batchNo": "BATCH-001",
          "serialNo": "SN-0001",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "deliveryDate": "2026-06-30",
          "userDefinedFields": {
            "APITEST": "Blue"
          }
        },
        {
          "accountNo": "500-0000",
          "description": "Service/account line without itemCode",
          "qty": 1,
          "unitPrice": 50,
          "taxType": "S-0",
          "location": "HQ",
          "project": "PRJAPI",
          "department": "HQ"
        }
      ],
      "payments": [
        {
          "paymentMethod": "CASH",
          "paymentBy": "Cash",
          "paymentAmount": 130,
          "chequeNo": "",
          "bankCharge": 0,
          "paymentAccountNo": "110-0010",
          "bankChargeAccountNo": "810-0000",
          "creditCardApprovalCode": ""
        },
        {
          "paymentMethod": "CARD",
          "paymentBy": "Credit Card",
          "paymentAmount": 60,
          "chequeNo": "",
          "bankCharge": 0,
          "paymentAccountNo": "110-0010",
          "bankChargeAccountNo": "810-0000",
          "creditCardApprovalCode": "APPROVED-001"
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-sales-debit-note-batch-20260624"
}

Notes: Runs create-sales-debit-note for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-sales-debit-note. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-sales-invoices write Bulk Bulk wrapper for create-sales-invoice.

Full payload schema: /v1/schema/commands/bulk-create-sales-invoices

Payload fields

records
required array; each row uses the same payload as create-sales-invoice
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "debtorCode": "300-A001",
      "docDate": "2026-06-24",
      "displayTerm": "30 DAYS",
      "branchCode": "MAIN",
      "salesLocation": "HQ",
      "multiPricing": "Price 1",
      "salesAgent": "SA01",
      "attention": "Purchasing Department",
      "contact": "Purchasing Department",
      "deliverContact": "Store Receiver",
      "deliverPhone1": "012-3456789",
      "phone": "03-11111111",
      "address1": "No. 1 Jalan API",
      "address2": "Taman Integration",
      "address3": "Kuala Lumpur",
      "address4": "Malaysia",
      "description": "Sales document created through API",
      "ref": "WEB-ORDER-1001",
      "currencyCode": "MYR",
      "inclusiveTax": false,
      "taxEntityID": 1,
      "project": "PRJAPI",
      "department": "HQ",
      "lines": [
        {
          "itemCode": "ITEM001",
          "description": "API item line 1",
          "description2": "Line second description",
          "furtherDescription": "Optional longer line note",
          "barCode": "9550000000011",
          "qty": 2,
          "uom": "UNIT",
          "unitPrice": 100,
          "discount": "5%",
          "taxType": "S-0",
          "taxRate": 0,
          "taxAmount": 0,
          "amount": 190,
          "accountNo": "500-0000",
          "location": "HQ",
          "batchNo": "BATCH-001",
          "serialNo": "SN-0001",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "deliveryDate": "2026-06-30",
          "userDefinedFields": {
            "APITEST": "Blue"
          }
        },
        {
          "accountNo": "500-0000",
          "description": "Service/account line without itemCode",
          "qty": 1,
          "unitPrice": 50,
          "taxType": "S-0",
          "location": "HQ",
          "project": "PRJAPI",
          "department": "HQ"
        }
      ],
      "payments": [
        {
          "paymentMethod": "CASH",
          "paymentBy": "Cash",
          "paymentAmount": 130,
          "chequeNo": "",
          "bankCharge": 0,
          "paymentAccountNo": "110-0010",
          "bankChargeAccountNo": "810-0000",
          "creditCardApprovalCode": ""
        },
        {
          "paymentMethod": "CARD",
          "paymentBy": "Credit Card",
          "paymentAmount": 60,
          "chequeNo": "",
          "bankCharge": 0,
          "paymentAccountNo": "110-0010",
          "bankChargeAccountNo": "810-0000",
          "creditCardApprovalCode": "APPROVED-001"
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-sales-invoice-batch-20260624"
}

Notes: Runs create-sales-invoice for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-sales-invoice. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-sales-orders write Bulk Bulk wrapper for create-sales-order.

Full payload schema: /v1/schema/commands/bulk-create-sales-orders

Payload fields

records
required array; each row uses the same payload as create-sales-order
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "debtorCode": "300-A001",
      "docDate": "2026-06-24",
      "displayTerm": "30 DAYS",
      "branchCode": "MAIN",
      "salesLocation": "HQ",
      "multiPricing": "Price 1",
      "salesAgent": "SA01",
      "attention": "Purchasing Department",
      "contact": "Purchasing Department",
      "deliverContact": "Store Receiver",
      "deliverPhone1": "012-3456789",
      "phone": "03-11111111",
      "address1": "No. 1 Jalan API",
      "address2": "Taman Integration",
      "address3": "Kuala Lumpur",
      "address4": "Malaysia",
      "description": "Sales document created through API",
      "ref": "WEB-ORDER-1001",
      "currencyCode": "MYR",
      "inclusiveTax": false,
      "taxEntityID": 1,
      "project": "PRJAPI",
      "department": "HQ",
      "lines": [
        {
          "itemCode": "ITEM001",
          "description": "API item line 1",
          "description2": "Line second description",
          "furtherDescription": "Optional longer line note",
          "barCode": "9550000000011",
          "qty": 2,
          "uom": "UNIT",
          "unitPrice": 100,
          "discount": "5%",
          "taxType": "S-0",
          "taxRate": 0,
          "taxAmount": 0,
          "amount": 190,
          "accountNo": "500-0000",
          "location": "HQ",
          "batchNo": "BATCH-001",
          "serialNo": "SN-0001",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "deliveryDate": "2026-06-30",
          "userDefinedFields": {
            "APITEST": "Blue"
          }
        },
        {
          "accountNo": "500-0000",
          "description": "Service/account line without itemCode",
          "qty": 1,
          "unitPrice": 50,
          "taxType": "S-0",
          "location": "HQ",
          "project": "PRJAPI",
          "department": "HQ"
        }
      ],
      "payments": [
        {
          "paymentMethod": "CASH",
          "paymentBy": "Cash",
          "paymentAmount": 130,
          "chequeNo": "",
          "bankCharge": 0,
          "paymentAccountNo": "110-0010",
          "bankChargeAccountNo": "810-0000",
          "creditCardApprovalCode": ""
        },
        {
          "paymentMethod": "CARD",
          "paymentBy": "Credit Card",
          "paymentAmount": 60,
          "chequeNo": "",
          "bankCharge": 0,
          "paymentAccountNo": "110-0010",
          "bankChargeAccountNo": "810-0000",
          "creditCardApprovalCode": "APPROVED-001"
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-sales-order-batch-20260624"
}

Notes: Runs create-sales-order for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-sales-order. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-stock-adjustments write Bulk Bulk wrapper for create-stock-adjustment.

Full payload schema: /v1/schema/commands/bulk-create-stock-adjustments

Payload fields

records
required array; each row uses the same payload as create-stock-adjustment
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "docDate": "2026-06-24",
      "description": "Stock document created through API",
      "reason": "API stock operation",
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "project": "PRJAPI",
      "department": "HQ",
      "lines": [
        {
          "itemCode": "ITEM001",
          "description": "Stock line 1",
          "description2": "Stock line second description",
          "barCode": "9550000000011",
          "qty": 2,
          "uom": "UNIT",
          "unitCost": 80,
          "unitPrice": 100,
          "location": "HQ",
          "fromLocation": "HQ",
          "toLocation": "STORE",
          "batchNo": "BATCH-001",
          "serialNo": "SN-0001",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "userDefinedFields": {
            "APITEST": "API-LINE"
          }
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-stock-adjustment-batch-20260624"
}

Notes: Runs create-stock-adjustment for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-stock-adjustment. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-stock-assemblies write Bulk Bulk wrapper for create-stock-assembly.

Full payload schema: /v1/schema/commands/bulk-create-stock-assemblies

Payload fields

records
required array; each row uses the same payload as create-stock-assembly
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "docDate": "2026-06-24",
      "itemCode": "FINISHED-API",
      "description": "Stock assembly created through API",
      "location": "HQ",
      "qty": 1,
      "uom": "UNIT",
      "unitCost": 100,
      "detailMode": "replace",
      "lines": [
        {
          "lineNo": 1,
          "itemCode": "RAW-API-1",
          "description": "Raw material 1",
          "qty": 2,
          "uom": "UNIT",
          "location": "HQ",
          "unitCost": 10,
          "batchNo": "BATCH-001",
          "serialNo": ""
        },
        {
          "lineNo": 2,
          "itemCode": "RAW-API-2",
          "description": "Raw material 2",
          "qty": 3,
          "uom": "UNIT",
          "location": "HQ",
          "unitCost": 5,
          "batchNo": "",
          "serialNo": ""
        }
      ],
      "reason": "correct assembly detail"
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-stock-assembly-batch-20260624"
}

Notes: Runs create-stock-assembly for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-stock-assembly. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-stock-assembly-orders write Bulk Bulk wrapper for create-stock-assembly-order.

Full payload schema: /v1/schema/commands/bulk-create-stock-assembly-orders

Payload fields

records
required array; each row uses the same payload as create-stock-assembly-order
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "docDate": "2026-06-24",
      "itemCode": "FINISHED-API",
      "description": "Stock assembly order created through API",
      "location": "HQ",
      "qty": 1,
      "uom": "UNIT",
      "unitCost": 100,
      "detailMode": "replace",
      "lines": [
        {
          "lineNo": 1,
          "itemCode": "RAW-API-1",
          "description": "Raw material 1",
          "qty": 2,
          "uom": "UNIT",
          "location": "HQ",
          "unitCost": 10,
          "batchNo": "BATCH-001",
          "serialNo": ""
        },
        {
          "lineNo": 2,
          "itemCode": "RAW-API-2",
          "description": "Raw material 2",
          "qty": 3,
          "uom": "UNIT",
          "location": "HQ",
          "unitCost": 5,
          "batchNo": "",
          "serialNo": ""
        }
      ],
      "reason": "correct assembly detail"
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-stock-assembly-order-batch-20260624"
}

Notes: Runs create-stock-assembly-order for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-stock-assembly-order. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-stock-disassemblies write Bulk Bulk wrapper for create-stock-disassembly.

Full payload schema: /v1/schema/commands/bulk-create-stock-disassemblies

Payload fields

records
required array; each row uses the same payload as create-stock-disassembly
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "docDate": "2026-06-24",
      "itemCode": "FINISHED-API",
      "description": "Stock disassembly created through API",
      "location": "HQ",
      "qty": 1,
      "uom": "UNIT",
      "unitCost": 100,
      "detailMode": "replace",
      "lines": [
        {
          "lineNo": 1,
          "itemCode": "RAW-API-1",
          "description": "Raw material 1",
          "qty": 2,
          "uom": "UNIT",
          "location": "HQ",
          "unitCost": 10,
          "batchNo": "BATCH-001",
          "serialNo": ""
        },
        {
          "lineNo": 2,
          "itemCode": "RAW-API-2",
          "description": "Raw material 2",
          "qty": 3,
          "uom": "UNIT",
          "location": "HQ",
          "unitCost": 5,
          "batchNo": "",
          "serialNo": ""
        }
      ],
      "reason": "correct assembly detail"
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-stock-disassembly-batch-20260624"
}

Notes: Runs create-stock-disassembly for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-stock-disassembly. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-stock-issues write Bulk Bulk wrapper for create-stock-issue.

Full payload schema: /v1/schema/commands/bulk-create-stock-issues

Payload fields

records
required array; each row uses the same payload as create-stock-issue
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "docDate": "2026-06-24",
      "description": "Stock document created through API",
      "reason": "API stock operation",
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "project": "PRJAPI",
      "department": "HQ",
      "lines": [
        {
          "itemCode": "ITEM001",
          "description": "Stock line 1",
          "description2": "Stock line second description",
          "barCode": "9550000000011",
          "qty": 2,
          "uom": "UNIT",
          "unitCost": 80,
          "unitPrice": 100,
          "location": "HQ",
          "fromLocation": "HQ",
          "toLocation": "STORE",
          "batchNo": "BATCH-001",
          "serialNo": "SN-0001",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "userDefinedFields": {
            "APITEST": "API-LINE"
          }
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-stock-issue-batch-20260624"
}

Notes: Runs create-stock-issue for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-stock-issue. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-stock-receives write Bulk Bulk wrapper for create-stock-receive.

Full payload schema: /v1/schema/commands/bulk-create-stock-receives

Payload fields

records
required array; each row uses the same payload as create-stock-receive
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "docDate": "2026-06-24",
      "description": "Stock document created through API",
      "reason": "API stock operation",
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "project": "PRJAPI",
      "department": "HQ",
      "lines": [
        {
          "itemCode": "ITEM001",
          "description": "Stock line 1",
          "description2": "Stock line second description",
          "barCode": "9550000000011",
          "qty": 2,
          "uom": "UNIT",
          "unitCost": 80,
          "unitPrice": 100,
          "location": "HQ",
          "fromLocation": "HQ",
          "toLocation": "STORE",
          "batchNo": "BATCH-001",
          "serialNo": "SN-0001",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "userDefinedFields": {
            "APITEST": "API-LINE"
          }
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-stock-receive-batch-20260624"
}

Notes: Runs create-stock-receive for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-stock-receive. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-stock-takes write Bulk Bulk wrapper for create-stock-take.

Full payload schema: /v1/schema/commands/bulk-create-stock-takes

Payload fields

records
required array; each row uses the same payload as create-stock-take
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "docDate": "2026-06-24",
      "description": "Stock document created through API",
      "reason": "API stock operation",
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "project": "PRJAPI",
      "department": "HQ",
      "lines": [
        {
          "itemCode": "ITEM001",
          "description": "Stock line 1",
          "description2": "Stock line second description",
          "barCode": "9550000000011",
          "qty": 2,
          "uom": "UNIT",
          "unitCost": 80,
          "unitPrice": 100,
          "location": "HQ",
          "fromLocation": "HQ",
          "toLocation": "STORE",
          "batchNo": "BATCH-001",
          "serialNo": "SN-0001",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "userDefinedFields": {
            "APITEST": "API-LINE"
          }
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-stock-take-batch-20260624"
}

Notes: Runs create-stock-take for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-stock-take. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-stock-transfers write Bulk Bulk wrapper for create-stock-transfer.

Full payload schema: /v1/schema/commands/bulk-create-stock-transfers

Payload fields

records
required array; each row uses the same payload as create-stock-transfer
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "docDate": "2026-06-24",
      "description": "Stock document created through API",
      "reason": "API stock operation",
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "project": "PRJAPI",
      "department": "HQ",
      "lines": [
        {
          "itemCode": "ITEM001",
          "description": "Stock line 1",
          "description2": "Stock line second description",
          "barCode": "9550000000011",
          "qty": 2,
          "uom": "UNIT",
          "unitCost": 80,
          "unitPrice": 100,
          "location": "HQ",
          "fromLocation": "HQ",
          "toLocation": "STORE",
          "batchNo": "BATCH-001",
          "serialNo": "SN-0001",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "userDefinedFields": {
            "APITEST": "API-LINE"
          }
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-stock-transfer-batch-20260624"
}

Notes: Runs create-stock-transfer for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-stock-transfer. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-stock-uom-conversions write Bulk Bulk wrapper for create-stock-uom-conversion.

Full payload schema: /v1/schema/commands/bulk-create-stock-uom-conversions

Payload fields

records
required array; each row uses the same payload as create-stock-uom-conversion
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "docDate": "2026-06-24",
      "description": "Stock document created through API",
      "reason": "API stock operation",
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "project": "PRJAPI",
      "department": "HQ",
      "lines": [
        {
          "itemCode": "ITEM001",
          "description": "Stock line 1",
          "description2": "Stock line second description",
          "barCode": "9550000000011",
          "qty": 2,
          "uom": "UNIT",
          "unitCost": 80,
          "unitPrice": 100,
          "location": "HQ",
          "fromLocation": "HQ",
          "toLocation": "STORE",
          "batchNo": "BATCH-001",
          "serialNo": "SN-0001",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "userDefinedFields": {
            "APITEST": "API-LINE"
          }
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-stock-uom-conversion-batch-20260624"
}

Notes: Runs create-stock-uom-conversion for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-stock-uom-conversion. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-stock-update-costs write Bulk Bulk wrapper for create-stock-update-cost.

Full payload schema: /v1/schema/commands/bulk-create-stock-update-costs

Payload fields

records
required array; each row uses the same payload as create-stock-update-cost
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "docDate": "2026-06-24",
      "description": "Stock document created through API",
      "reason": "API stock operation",
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "project": "PRJAPI",
      "department": "HQ",
      "lines": [
        {
          "itemCode": "ITEM001",
          "description": "Stock line 1",
          "description2": "Stock line second description",
          "barCode": "9550000000011",
          "qty": 2,
          "uom": "UNIT",
          "unitCost": 80,
          "unitPrice": 100,
          "location": "HQ",
          "fromLocation": "HQ",
          "toLocation": "STORE",
          "batchNo": "BATCH-001",
          "serialNo": "SN-0001",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "userDefinedFields": {
            "APITEST": "API-LINE"
          }
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-stock-update-cost-batch-20260624"
}

Notes: Runs create-stock-update-cost for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-stock-update-cost. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

bulk-create-stock-write-offs write Bulk Bulk wrapper for create-stock-write-off.

Full payload schema: /v1/schema/commands/bulk-create-stock-write-offs

Payload fields

records
required array; each row uses the same payload as create-stock-write-off
stopOnError
optional boolean; stop the batch when a row fails
dryRun
optional boolean; validate without saving where supported
idempotencyKey
optional caller batch key

Example JSON

{
  "records": [
    {
      "docDate": "2026-06-24",
      "description": "Stock document created through API",
      "reason": "API stock operation",
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "project": "PRJAPI",
      "department": "HQ",
      "lines": [
        {
          "itemCode": "ITEM001",
          "description": "Stock line 1",
          "description2": "Stock line second description",
          "barCode": "9550000000011",
          "qty": 2,
          "uom": "UNIT",
          "unitCost": 80,
          "unitPrice": 100,
          "location": "HQ",
          "fromLocation": "HQ",
          "toLocation": "STORE",
          "batchNo": "BATCH-001",
          "serialNo": "SN-0001",
          "project": "PRJAPI",
          "projNo": "PRJAPI",
          "department": "HQ",
          "deptNo": "HQ",
          "classification": "022",
          "userDefinedFields": {
            "APITEST": "API-LINE"
          }
        }
      ],
      "userDefinedFields": {
        "APITEST": "API"
      }
    }
  ],
  "stopOnError": true,
  "dryRun": false,
  "idempotencyKey": "create-stock-write-off-batch-20260624"
}

Notes: Runs create-stock-write-off for each record on the local connector without waiting one cloud heartbeat per row. Bulk records use the same fields as create-stock-write-off. Split very large imports into batches so AutoCount and the connector can report row-level results clearly.

Change Code1 commandsRead 1
read-change-code-capabilities read Read Read runtime Change Code SDK capabilities.

Full payload schema: /v1/schema/commands/read-change-code-capabilities

Payload fields

No payload fields required.

Example JSON

{}

Notes: Read-only connector discovery. Availability is reported per operation; catalog presence is not proof of native execution. Returns per-operation runtime availability. Catalog presence and payload schemas do not prove an installed connector can execute an operation.

e-Invoice16 commandsCreate 3Void 1e-Invoice 11write 1
einvoice.cancel write Void Guarded e-Invoice cancel request.

Full payload schema: /v1/schema/commands/einvoice.cancel

Payload fields

docType
required AutoCount document type, for example IV, CS, CN, DN, RF, PI
docNo
required AutoCount document number where action targets one document
reason
optional required reason for cancel/reject actions
docKey
optional numeric AutoCount document key
documentId
optional MyInvois/AIP document id for import/apply actions
uuid
optional MyInvois UUID
fromDate
optional YYYY-MM-DD start date for list/preview/batch actions
toDate
optional YYYY-MM-DD end date for list/preview/batch actions
creditorCode
optional supplier code for supplier item mapping
supplierItemCode
optional supplier item code
itemCode
optional AutoCount item code
mappingKey
optional mapping row key
payload
optional raw integration payload where a future compliance command requires it

Example JSON

{
  "docType": "IV",
  "docNo": "IV-000001",
  "reason": "einvoice.cancel by API",
  "docKey": "424501",
  "documentId": "AIP-document-id",
  "uuid": "myinvois-uuid",
  "fromDate": "2026-01-01",
  "toDate": "2026-01-31",
  "creditorCode": "400-S001",
  "supplierItemCode": "SUP-ITEM",
  "itemCode": "ITEM001",
  "mappingKey": "1",
  "payload": {
    "source": "api",
    "dryRun": true
  }
}

Notes: Cancellation affects tax/MyInvois compliance and is blocked until separately proven. e-Invoice write/compliance actions are deliberately guarded until the exact MyInvois workflow is proven. The payload shows the full human field reference for future/guarded actions.

einvoice.consolidated.create-draft write Create Guarded consolidated e-Invoice draft generation.

Full payload schema: /v1/schema/commands/einvoice.consolidated.create-draft

Payload fields

fromDate
optional YYYY-MM-DD start date for list/preview/batch actions
toDate
optional YYYY-MM-DD end date for list/preview/batch actions
docType
required AutoCount document type, for example IV, CS, CN, DN, RF, PI
docNo
required AutoCount document number where action targets one document
docKey
optional numeric AutoCount document key
documentId
optional MyInvois/AIP document id for import/apply actions
uuid
optional MyInvois UUID
creditorCode
optional supplier code for supplier item mapping
supplierItemCode
optional supplier item code
itemCode
optional AutoCount item code
mappingKey
optional mapping row key
reason
optional required reason for cancel/reject actions
payload
optional raw integration payload where a future compliance command requires it

Example JSON

{
  "fromDate": "2026-01-01",
  "toDate": "2026-01-31",
  "docType": "IV",
  "docNo": "IV-000001",
  "docKey": "424501",
  "documentId": "AIP-document-id",
  "uuid": "myinvois-uuid",
  "creditorCode": "400-S001",
  "supplierItemCode": "SUP-ITEM",
  "itemCode": "ITEM001",
  "mappingKey": "1",
  "reason": "einvoice.consolidated.create-draft by API",
  "payload": {
    "source": "api",
    "dryRun": true
  }
}

Notes: Draft generation is blocked until separately proven. e-Invoice write/compliance actions are deliberately guarded until the exact MyInvois workflow is proven. The payload shows the full human field reference for future/guarded actions.

einvoice.consolidated.list read e-Invoice List consolidated e-Invoice inquiry rows from AutoCount handlers.

Full payload schema: /v1/schema/commands/einvoice.consolidated.list

Payload fields

fromDate
optional YYYY-MM-DD start date for inquiry/listing
toDate
optional YYYY-MM-DD end date for inquiry/listing
docType
optional AutoCount document type filter
handlerName
optional AutoCount e-Invoice handler name
status
optional e-Invoice status filter such as all, pending, submitted, valid, invalid, failed, cancelled
document
optional document family such as invoice, cash-sale, credit-note, debit-note, refund-note, consolidated, self-billed
docNo
optional AutoCount document number filter
creditorCode
optional supplier code filter
debtorCode
optional customer code filter
supplierItemCode
optional supplier item code filter
itemCode
optional AutoCount item code filter
includeRaw
optional boolean to include raw/source fields where the connector returns them
maxRows
optional row limit; maxRows: 0 means return all rows

Example JSON

{
  "fromDate": "2026-01-01",
  "toDate": "2026-12-31",
  "status": "all",
  "document": "all",
  "docType": "IV",
  "docNo": "IV-000001",
  "creditorCode": "400-S001",
  "debtorCode": "300-A001",
  "supplierItemCode": "SUP-ITEM",
  "itemCode": "ITEM001",
  "handlerName": "AutoCount",
  "includeRaw": false,
  "maxRows": 0
}

Notes: Full human payload reference for einvoice.consolidated.list. Unsupported filters are ignored safely by read-only connector handlers.

einvoice.reject-request.sync write e-Invoice Guarded sync for MyInvois reject requests.

Full payload schema: /v1/schema/commands/einvoice.reject-request.sync

Payload fields

fromDate
optional YYYY-MM-DD start date for list/preview/batch actions
toDate
optional YYYY-MM-DD end date for list/preview/batch actions
docType
required AutoCount document type, for example IV, CS, CN, DN, RF, PI
docNo
required AutoCount document number where action targets one document
docKey
optional numeric AutoCount document key
documentId
optional MyInvois/AIP document id for import/apply actions
uuid
optional MyInvois UUID
creditorCode
optional supplier code for supplier item mapping
supplierItemCode
optional supplier item code
itemCode
optional AutoCount item code
mappingKey
optional mapping row key
reason
optional required reason for cancel/reject actions
payload
optional raw integration payload where a future compliance command requires it

Example JSON

{
  "fromDate": "2026-01-01",
  "toDate": "2026-01-31",
  "docType": "IV",
  "docNo": "IV-000001",
  "docKey": "424501",
  "documentId": "AIP-document-id",
  "uuid": "myinvois-uuid",
  "creditorCode": "400-S001",
  "supplierItemCode": "SUP-ITEM",
  "itemCode": "ITEM001",
  "mappingKey": "1",
  "reason": "einvoice.reject-request.sync by API",
  "payload": {
    "source": "api",
    "dryRun": true
  }
}

Notes: External sync is blocked until separately proven. e-Invoice write/compliance actions are deliberately guarded until the exact MyInvois workflow is proven. The payload shows the full human field reference for future/guarded actions.

einvoice.self-billed.create-draft write Create Guarded self-billed e-Invoice draft generation.

Full payload schema: /v1/schema/commands/einvoice.self-billed.create-draft

Payload fields

sourceDocType
required later
sourceDocNo
required later
docType
required AutoCount document type, for example IV, CS, CN, DN, RF, PI
docNo
required AutoCount document number where action targets one document
docKey
optional numeric AutoCount document key
documentId
optional MyInvois/AIP document id for import/apply actions
uuid
optional MyInvois UUID
fromDate
optional YYYY-MM-DD start date for list/preview/batch actions
toDate
optional YYYY-MM-DD end date for list/preview/batch actions
creditorCode
optional supplier code for supplier item mapping
supplierItemCode
optional supplier item code
itemCode
optional AutoCount item code
mappingKey
optional mapping row key
reason
optional required reason for cancel/reject actions
payload
optional raw integration payload where a future compliance command requires it

Example JSON

{
  "sourceDocType": "PI",
  "sourceDocNo": "PI-000001",
  "docType": "IV",
  "docNo": "IV-000001",
  "docKey": "424501",
  "documentId": "AIP-document-id",
  "uuid": "myinvois-uuid",
  "fromDate": "2026-01-01",
  "toDate": "2026-01-31",
  "creditorCode": "400-S001",
  "supplierItemCode": "SUP-ITEM",
  "itemCode": "ITEM001",
  "mappingKey": "1",
  "reason": "einvoice.self-billed.create-draft by API",
  "payload": {
    "source": "api",
    "dryRun": true
  }
}

Notes: Draft generation is blocked until separately proven. e-Invoice write/compliance actions are deliberately guarded until the exact MyInvois workflow is proven. The payload shows the full human field reference for future/guarded actions.

einvoice.self-billed.list read e-Invoice List local self-billed e-Invoice records when the account book has the table.

Full payload schema: /v1/schema/commands/einvoice.self-billed.list

Payload fields

fromDate
optional YYYY-MM-DD start date for inquiry/listing
toDate
optional YYYY-MM-DD end date for inquiry/listing
maxRows
optional row limit; maxRows: 0 means return all rows
status
optional e-Invoice status filter such as all, pending, submitted, valid, invalid, failed, cancelled
document
optional document family such as invoice, cash-sale, credit-note, debit-note, refund-note, consolidated, self-billed
docType
optional AutoCount document type filter
docNo
optional AutoCount document number filter
creditorCode
optional supplier code filter
debtorCode
optional customer code filter
supplierItemCode
optional supplier item code filter
itemCode
optional AutoCount item code filter
handlerName
optional AutoCount e-Invoice handler name
includeRaw
optional boolean to include raw/source fields where the connector returns them

Example JSON

{
  "maxRows": 0,
  "fromDate": "2026-01-01",
  "toDate": "2026-12-31",
  "status": "all",
  "document": "all",
  "docType": "IV",
  "docNo": "IV-000001",
  "creditorCode": "400-S001",
  "debtorCode": "300-A001",
  "supplierItemCode": "SUP-ITEM",
  "itemCode": "ITEM001",
  "handlerName": "AutoCount",
  "includeRaw": false
}

Notes: Full human payload reference for einvoice.self-billed.list. Unsupported filters are ignored safely by read-only connector handlers.

einvoice.setting.get read e-Invoice Read local AutoCount e-Invoice settings summary.

Full payload schema: /v1/schema/commands/einvoice.setting.get

Payload fields

fromDate
optional YYYY-MM-DD start date for inquiry/listing
toDate
optional YYYY-MM-DD end date for inquiry/listing
status
optional e-Invoice status filter such as all, pending, submitted, valid, invalid, failed, cancelled
document
optional document family such as invoice, cash-sale, credit-note, debit-note, refund-note, consolidated, self-billed
docType
optional AutoCount document type filter
docNo
optional AutoCount document number filter
creditorCode
optional supplier code filter
debtorCode
optional customer code filter
supplierItemCode
optional supplier item code filter
itemCode
optional AutoCount item code filter
handlerName
optional AutoCount e-Invoice handler name
includeRaw
optional boolean to include raw/source fields where the connector returns them
maxRows
optional row limit; maxRows: 0 means return all rows

Example JSON

{
  "fromDate": "2026-01-01",
  "toDate": "2026-12-31",
  "status": "all",
  "document": "all",
  "docType": "IV",
  "docNo": "IV-000001",
  "creditorCode": "400-S001",
  "debtorCode": "300-A001",
  "supplierItemCode": "SUP-ITEM",
  "itemCode": "ITEM001",
  "handlerName": "AutoCount",
  "includeRaw": false,
  "maxRows": 0
}

Notes: Full human payload reference for einvoice.setting.get. Unsupported filters are ignored safely by read-only connector handlers.

einvoice.status.list read e-Invoice List local AutoCount e-Invoice submission status.

Full payload schema: /v1/schema/commands/einvoice.status.list

Payload fields

fromDate
optional YYYY-MM-DD start date for inquiry/listing
toDate
optional YYYY-MM-DD end date for inquiry/listing
status
optional e-Invoice status filter such as all, pending, submitted, valid, invalid, failed, cancelled
document
optional document family such as invoice, cash-sale, credit-note, debit-note, refund-note, consolidated, self-billed
docType
optional AutoCount document type filter
docNo
optional AutoCount document number filter
creditorCode
optional supplier code filter
debtorCode
optional customer code filter
supplierItemCode
optional supplier item code filter
itemCode
optional AutoCount item code filter
handlerName
optional AutoCount e-Invoice handler name
includeRaw
optional boolean to include raw/source fields where the connector returns them
maxRows
optional row limit; maxRows: 0 means return all rows

Example JSON

{
  "fromDate": "2026-01-01",
  "toDate": "2026-12-31",
  "status": "all",
  "document": "all",
  "docType": "IV",
  "docNo": "IV-000001",
  "creditorCode": "400-S001",
  "debtorCode": "300-A001",
  "supplierItemCode": "SUP-ITEM",
  "itemCode": "ITEM001",
  "handlerName": "AutoCount",
  "includeRaw": false,
  "maxRows": 0
}

Notes: Full human payload reference for einvoice.status.list. Unsupported filters are ignored safely by read-only connector handlers.

einvoice.status.refresh write e-Invoice Guarded MyInvois/AIP status refresh request.

Full payload schema: /v1/schema/commands/einvoice.status.refresh

Payload fields

docType
required AutoCount document type, for example IV, CS, CN, DN, RF, PI
docNo
required AutoCount document number where action targets one document
docKey
optional numeric AutoCount document key
documentId
optional MyInvois/AIP document id for import/apply actions
uuid
optional MyInvois UUID
fromDate
optional YYYY-MM-DD start date for list/preview/batch actions
toDate
optional YYYY-MM-DD end date for list/preview/batch actions
creditorCode
optional supplier code for supplier item mapping
supplierItemCode
optional supplier item code
itemCode
optional AutoCount item code
mappingKey
optional mapping row key
reason
optional required reason for cancel/reject actions
payload
optional raw integration payload where a future compliance command requires it

Example JSON

{
  "docType": "IV",
  "docNo": "IV-000001",
  "docKey": "424501",
  "documentId": "AIP-document-id",
  "uuid": "myinvois-uuid",
  "fromDate": "2026-01-01",
  "toDate": "2026-01-31",
  "creditorCode": "400-S001",
  "supplierItemCode": "SUP-ITEM",
  "itemCode": "ITEM001",
  "mappingKey": "1",
  "reason": "einvoice.status.refresh by API",
  "payload": {
    "source": "api",
    "dryRun": true
  }
}

Notes: Returns eInvoiceActionBlocked until compliance workflow proof is completed. e-Invoice write/compliance actions are deliberately guarded until the exact MyInvois workflow is proven. The payload shows the full human field reference for future/guarded actions.

einvoice.submit write e-Invoice Guarded e-Invoice submit request.

Full payload schema: /v1/schema/commands/einvoice.submit

Payload fields

docType
required AutoCount document type, for example IV, CS, CN, DN, RF, PI
docNo
required AutoCount document number where action targets one document
docKey
optional numeric AutoCount document key
documentId
optional MyInvois/AIP document id for import/apply actions
uuid
optional MyInvois UUID
fromDate
optional YYYY-MM-DD start date for list/preview/batch actions
toDate
optional YYYY-MM-DD end date for list/preview/batch actions
creditorCode
optional supplier code for supplier item mapping
supplierItemCode
optional supplier item code
itemCode
optional AutoCount item code
mappingKey
optional mapping row key
reason
optional required reason for cancel/reject actions
payload
optional raw integration payload where a future compliance command requires it

Example JSON

{
  "docType": "IV",
  "docNo": "IV-000001",
  "docKey": "424501",
  "documentId": "AIP-document-id",
  "uuid": "myinvois-uuid",
  "fromDate": "2026-01-01",
  "toDate": "2026-01-31",
  "creditorCode": "400-S001",
  "supplierItemCode": "SUP-ITEM",
  "itemCode": "ITEM001",
  "mappingKey": "1",
  "reason": "einvoice.submit by API",
  "payload": {
    "source": "api",
    "dryRun": true
  }
}

Notes: Submission affects tax/MyInvois compliance and is blocked until separately proven. e-Invoice write/compliance actions are deliberately guarded until the exact MyInvois workflow is proven. The payload shows the full human field reference for future/guarded actions.

einvoice.supplier-import.apply write e-Invoice Guarded supplier e-Invoice import into AutoCount.

Full payload schema: /v1/schema/commands/einvoice.supplier-import.apply

Payload fields

documentId
optional MyInvois/AIP document id for import/apply actions
docType
required AutoCount document type, for example IV, CS, CN, DN, RF, PI
docNo
required AutoCount document number where action targets one document
docKey
optional numeric AutoCount document key
uuid
optional MyInvois UUID
fromDate
optional YYYY-MM-DD start date for list/preview/batch actions
toDate
optional YYYY-MM-DD end date for list/preview/batch actions
creditorCode
optional supplier code for supplier item mapping
supplierItemCode
optional supplier item code
itemCode
optional AutoCount item code
mappingKey
optional mapping row key
reason
optional required reason for cancel/reject actions
payload
optional raw integration payload where a future compliance command requires it

Example JSON

{
  "documentId": "AIP-document-id",
  "docType": "IV",
  "docNo": "IV-000001",
  "docKey": "424501",
  "uuid": "myinvois-uuid",
  "fromDate": "2026-01-01",
  "toDate": "2026-01-31",
  "creditorCode": "400-S001",
  "supplierItemCode": "SUP-ITEM",
  "itemCode": "ITEM001",
  "mappingKey": "1",
  "reason": "einvoice.supplier-import.apply by API",
  "payload": {
    "source": "api",
    "dryRun": true
  }
}

Notes: Import can create accounting records and is blocked until separately proven. e-Invoice write/compliance actions are deliberately guarded until the exact MyInvois workflow is proven. The payload shows the full human field reference for future/guarded actions.

einvoice.supplier-import.preview write e-Invoice Guarded supplier e-Invoice import preview.

Full payload schema: /v1/schema/commands/einvoice.supplier-import.preview

Payload fields

fromDate
optional YYYY-MM-DD start date for list/preview/batch actions
toDate
optional YYYY-MM-DD end date for list/preview/batch actions
docType
required AutoCount document type, for example IV, CS, CN, DN, RF, PI
docNo
required AutoCount document number where action targets one document
docKey
optional numeric AutoCount document key
documentId
optional MyInvois/AIP document id for import/apply actions
uuid
optional MyInvois UUID
creditorCode
optional supplier code for supplier item mapping
supplierItemCode
optional supplier item code
itemCode
optional AutoCount item code
mappingKey
optional mapping row key
reason
optional required reason for cancel/reject actions
payload
optional raw integration payload where a future compliance command requires it

Example JSON

{
  "fromDate": "2026-01-01",
  "toDate": "2026-01-31",
  "docType": "IV",
  "docNo": "IV-000001",
  "docKey": "424501",
  "documentId": "AIP-document-id",
  "uuid": "myinvois-uuid",
  "creditorCode": "400-S001",
  "supplierItemCode": "SUP-ITEM",
  "itemCode": "ITEM001",
  "mappingKey": "1",
  "reason": "einvoice.supplier-import.preview by API",
  "payload": {
    "source": "api",
    "dryRun": true
  }
}

Notes: Supplier portal import is blocked until separately proven. e-Invoice write/compliance actions are deliberately guarded until the exact MyInvois workflow is proven. The payload shows the full human field reference for future/guarded actions.

einvoice.supplier-item-mapping.create write Create Guarded supplier item mapping create request.

Full payload schema: /v1/schema/commands/einvoice.supplier-item-mapping.create

Payload fields

creditorCode
optional supplier code for supplier item mapping
supplierItemCode
optional supplier item code
itemCode
optional AutoCount item code
docType
required AutoCount document type, for example IV, CS, CN, DN, RF, PI
docNo
required AutoCount document number where action targets one document
docKey
optional numeric AutoCount document key
documentId
optional MyInvois/AIP document id for import/apply actions
uuid
optional MyInvois UUID
fromDate
optional YYYY-MM-DD start date for list/preview/batch actions
toDate
optional YYYY-MM-DD end date for list/preview/batch actions
mappingKey
optional mapping row key
reason
optional required reason for cancel/reject actions
payload
optional raw integration payload where a future compliance command requires it

Example JSON

{
  "creditorCode": "400-S001",
  "supplierItemCode": "SUP-ITEM",
  "itemCode": "ITEM001",
  "docType": "IV",
  "docNo": "IV-000001",
  "docKey": "424501",
  "documentId": "AIP-document-id",
  "uuid": "myinvois-uuid",
  "fromDate": "2026-01-01",
  "toDate": "2026-01-31",
  "mappingKey": "1",
  "reason": "einvoice.supplier-item-mapping.create by API",
  "payload": {
    "source": "api",
    "dryRun": true
  }
}

Notes: Write is blocked until the exact AutoCount mapping SDK/table write path is proven. e-Invoice write/compliance actions are deliberately guarded until the exact MyInvois workflow is proven. The payload shows the full human field reference for future/guarded actions.

einvoice.supplier-item-mapping.list read e-Invoice List local supplier item mapping records when the account book has the table.

Full payload schema: /v1/schema/commands/einvoice.supplier-item-mapping.list

Payload fields

maxRows
optional row limit; maxRows: 0 means return all rows
fromDate
optional YYYY-MM-DD start date for inquiry/listing
toDate
optional YYYY-MM-DD end date for inquiry/listing
status
optional e-Invoice status filter such as all, pending, submitted, valid, invalid, failed, cancelled
document
optional document family such as invoice, cash-sale, credit-note, debit-note, refund-note, consolidated, self-billed
docType
optional AutoCount document type filter
docNo
optional AutoCount document number filter
creditorCode
optional supplier code filter
debtorCode
optional customer code filter
supplierItemCode
optional supplier item code filter
itemCode
optional AutoCount item code filter
handlerName
optional AutoCount e-Invoice handler name
includeRaw
optional boolean to include raw/source fields where the connector returns them

Example JSON

{
  "maxRows": 0,
  "fromDate": "2026-01-01",
  "toDate": "2026-12-31",
  "status": "all",
  "document": "all",
  "docType": "IV",
  "docNo": "IV-000001",
  "creditorCode": "400-S001",
  "debtorCode": "300-A001",
  "supplierItemCode": "SUP-ITEM",
  "itemCode": "ITEM001",
  "handlerName": "AutoCount",
  "includeRaw": false
}

Notes: Full human payload reference for einvoice.supplier-item-mapping.list. Unsupported filters are ignored safely by read-only connector handlers.

einvoice.supplier-item-mapping.update write e-Invoice Guarded supplier item mapping update request.

Full payload schema: /v1/schema/commands/einvoice.supplier-item-mapping.update

Payload fields

mappingKey
optional mapping row key
itemCode
optional AutoCount item code
docType
required AutoCount document type, for example IV, CS, CN, DN, RF, PI
docNo
required AutoCount document number where action targets one document
docKey
optional numeric AutoCount document key
documentId
optional MyInvois/AIP document id for import/apply actions
uuid
optional MyInvois UUID
fromDate
optional YYYY-MM-DD start date for list/preview/batch actions
toDate
optional YYYY-MM-DD end date for list/preview/batch actions
creditorCode
optional supplier code for supplier item mapping
supplierItemCode
optional supplier item code
reason
optional required reason for cancel/reject actions
payload
optional raw integration payload where a future compliance command requires it

Example JSON

{
  "mappingKey": "1",
  "itemCode": "ITEM001",
  "docType": "IV",
  "docNo": "IV-000001",
  "docKey": "424501",
  "documentId": "AIP-document-id",
  "uuid": "myinvois-uuid",
  "fromDate": "2026-01-01",
  "toDate": "2026-01-31",
  "creditorCode": "400-S001",
  "supplierItemCode": "SUP-ITEM",
  "reason": "einvoice.supplier-item-mapping.update by API",
  "payload": {
    "source": "api",
    "dryRun": true
  }
}

Notes: Write is blocked until the exact AutoCount mapping SDK/table write path is proven. e-Invoice write/compliance actions are deliberately guarded until the exact MyInvois workflow is proven. The payload shows the full human field reference for future/guarded actions.

submit-sales-invoice-for-approval write write Move an existing Sales Invoice into AutoCount approval workflow only.

Full payload schema: /v1/schema/commands/submit-sales-invoice-for-approval

Payload fields

docNo
required existing Sales Invoice DocNo
confirmNoLhdnSubmit
required true; confirms this does not call MyInvois/LHDN submit

Example JSON

{
  "docNo": "I-2608-001",
  "confirmNoLhdnSubmit": true
}

Notes: Use after create-sales-invoice when the user must review/approve in AutoCount first. Alias: einvoice.sales-invoice.submit-for-approval. It calls AutoCount SaveAsAwaitingApproval, verifies DocStatus, and does not call MyInvois/LHDN submit.

General Maintenance97 commandsRead 30Create 15Edit 15Void 15Delete 15write 7
change-acc-no write write Change an account number across linked account records.

Full payload schema: /v1/schema/commands/change-acc-no

Payload fields

oldAccNo
required old value for oldAccNo
newAccNo
required new value for newAccNo
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example JSON

{
  "oldAccNo": "OLD-ACC",
  "newAccNo": "NEW-ACC",
  "confirm": true
}

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

change-area-code write write Change an area code.

Full payload schema: /v1/schema/commands/change-area-code

Payload fields

oldAreaCode
required old value for oldAreaCode
newAreaCode
required new value for newAreaCode
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example JSON

{
  "oldAreaCode": "OLD-AREA",
  "newAreaCode": "NEW-AREA",
  "confirm": true
}

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

change-branch write write Change a debtor or creditor branch code using the supplied account number.

Full payload schema: /v1/schema/commands/change-branch

Payload fields

accNo
required debtor or creditor account number used to scope the branch lookup
oldBranchCode
required old value for oldBranchCode
newBranchCode
required new value for newBranchCode
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example JSON

{
  "accNo": "DEBTOR-001",
  "oldBranchCode": "OLD-BR",
  "newBranchCode": "NEW-BR",
  "confirm": true
}

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities. Full-actor-only: branch changes can affect AR or AP. The connector must scope native QueryBranchExist with accNo and must not treat this as a GL-only operation.

change-currency write write Change a currency code across linked records.

Full payload schema: /v1/schema/commands/change-currency

Payload fields

oldCurrency
required old value for oldCurrency
newCurrency
required new value for newCurrency
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example JSON

{
  "oldCurrency": "OLD-CUR",
  "newCurrency": "NEW-CUR",
  "confirm": true
}

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

change-dept-no write write Change a department number across linked records.

Full payload schema: /v1/schema/commands/change-dept-no

Payload fields

oldDeptNo
required old value for oldDeptNo
newDeptNo
required new value for newDeptNo
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example JSON

{
  "oldDeptNo": "OLD-DEPT",
  "newDeptNo": "NEW-DEPT",
  "confirm": true
}

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

change-payment-method write write Change a payment method across linked records.

Full payload schema: /v1/schema/commands/change-payment-method

Payload fields

oldPaymentMethod
required old value for oldPaymentMethod
newPaymentMethod
required new value for newPaymentMethod
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example JSON

{
  "oldPaymentMethod": "OLD-PAY",
  "newPaymentMethod": "NEW-PAY",
  "confirm": true
}

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

change-proj-no write write Change a project number across linked records.

Full payload schema: /v1/schema/commands/change-proj-no

Payload fields

oldProjNo
required old value for oldProjNo
newProjNo
required new value for newProjNo
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example JSON

{
  "oldProjNo": "OLD-PROJ",
  "newProjNo": "NEW-PROJ",
  "confirm": true
}

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

create-general-account-type write Create Guarded create request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/create-general-account-type

Payload fields

code
required Account Type code; accType is accepted as an alias where shown
accType
optional alias for code
description
optional Account Type description
desc2
optional second description
isActive
optional boolean active flag
remark1
optional remark field 1
remark2
optional remark field 2

Example JSON

{
  "code": "EP",
  "accType": "EP",
  "description": "API Account Type",
  "desc2": "Account Type second description",
  "isActive": true,
  "remark1": "Created by API",
  "remark2": "Account Type setup example"
}

Notes: Returns createBlocked until AutoCount exposes a proven safe SDK write path for this setup table. Full human payload reference for Account Type. Exact fields saved depend on the AutoCount setup SDK exposed for this table.

create-general-address write Create Create an address maintenance record.

Full payload schema: /v1/schema/commands/create-general-address

Payload fields

code
required address code or addressName
address1
optional address line 1
address2
optional address line 2
postCode
optional postcode
contact
optional contact person
phone
optional phone
fax
optional fax
addressName
optional address name alias
address3
optional address line 3
address4
optional address line 4
city
optional city
state
optional state
country
optional country
emailAddress
optional email address
isActive
optional boolean active flag
remark1
optional remark field 1
remark2
optional remark field 2

Example JSON

{
  "code": "HQ",
  "address1": "No. 1 Jalan API",
  "phone": "03-00000000",
  "addressName": "Head Office",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "postCode": "50000",
  "city": "Kuala Lumpur",
  "state": "Wilayah Persekutuan",
  "country": "Malaysia",
  "contact": "Admin",
  "fax": "03-00000001",
  "emailAddress": "admin@example.com",
  "isActive": true,
  "remark1": "Created by API",
  "remark2": "Address setup example"
}

Notes: Requires write access permission. Full human payload reference for Address Maintenance. Exact fields saved depend on the AutoCount setup SDK exposed for this table.

create-general-area write Create Create an area.

Full payload schema: /v1/schema/commands/create-general-area

Payload fields

code
required Area code
description
optional Area description
desc2
optional second description
areaCode
optional alias for code

Example JSON

{
  "code": "KL",
  "description": "Kuala Lumpur",
  "areaCode": "KL",
  "desc2": "Central region"
}

Notes: Requires write access permission. Full human payload reference for Area Maintenance.

create-general-cn-type write Create Create a C/N type.

Full payload schema: /v1/schema/commands/create-general-cn-type

Payload fields

code
required C/N Type code; cnType is accepted as an alias where shown
description
optional C/N Type description
desc2
optional second description
isActive
optional boolean active flag
cnType
optional alias for code
remark1
optional remark field 1
remark2
optional remark field 2

Example JSON

{
  "code": "CNAPI",
  "description": "API C/N Type",
  "cnType": "CNAPI",
  "desc2": "C/N Type second description",
  "isActive": true,
  "remark1": "Created by API",
  "remark2": "C/N Type setup example"
}

Notes: Requires write access permission. Full human payload reference for C/N Type. Exact fields saved depend on the AutoCount setup SDK exposed for this table.

create-general-credit-term write Create Create a Credit Term Maintenance record.

Full payload schema: /v1/schema/commands/create-general-credit-term

Payload fields

code
required credit term display code, for example 30 DAYS
terms
read/list field exposed by the connector for the underlying terms value
termType
read/list field exposed by the connector for term type
termDays
read/list field exposed by the connector for number of term days
discountDays
optional early payment discount days
discountPercent
optional early payment discount percent
displayTerm
optional alias for code

Example JSON

{
  "code": "30 DAYS",
  "terms": "30 DAYS",
  "termDays": 30,
  "displayTerm": "30 DAYS",
  "termType": "Day",
  "discountDays": 7,
  "discountPercent": 2
}

Notes: Uses AutoCount Terms SDK/DataTable save path where available. Requires write access permission. Credit Term writes are guarded unless the exact AutoCount SDK write path is proven for the account book. These fields reflect the connector's current list/read surface, not an advertised writable native schema.

create-general-creditor-type write Create Create a creditor type.

Full payload schema: /v1/schema/commands/create-general-creditor-type

Payload fields

code
required Creditor Type code; creditorType is accepted as an alias where shown
description
optional Creditor Type description
desc2
optional second description
isActive
optional boolean active flag
creditorType
optional alias for code
remark1
optional remark field 1
remark2
optional remark field 2

Example JSON

{
  "code": "SUP",
  "description": "API Creditor Type",
  "creditorType": "SUP",
  "desc2": "Creditor Type second description",
  "isActive": true,
  "remark1": "Created by API",
  "remark2": "Creditor Type setup example"
}

Notes: Requires write access permission. Full human payload reference for Creditor Type. Exact fields saved depend on the AutoCount setup SDK exposed for this table.

create-general-currency write Create Create a currency.

Full payload schema: /v1/schema/commands/create-general-currency

Payload fields

code
required currency code
currencySymbol
optional currency symbol
currencyWord
optional currency word/name
currencyWord2
optional secondary currency word/name
bankBuyRate
optional bank buying rate
bankSellRate
optional bank selling rate
fcGainAccount
optional foreign exchange gain account
fcLossAccount
optional foreign exchange loss account
gainLossJournalType
optional gain/loss journal type
currencyCode
optional alias for code

Example JSON

{
  "code": "USD",
  "currencySymbol": "$",
  "currencyWord": "US Dollar",
  "currencyWord2": "US Dollars",
  "currencyCode": "USD",
  "bankBuyRate": 4.7,
  "bankSellRate": 4.75,
  "fcGainAccount": "720-0000",
  "fcLossAccount": "820-0000",
  "gainLossJournalType": "GL"
}

Notes: Requires write access permission. Full human payload reference for Currency Maintenance. Exchange rate behavior follows AutoCount account-book currency settings.

create-general-debtor-type write Create Create a debtor type.

Full payload schema: /v1/schema/commands/create-general-debtor-type

Payload fields

code
required Debtor Type code; debtorType is accepted as an alias where shown
description
optional Debtor Type description
desc2
optional second description
isActive
optional boolean active flag
debtorType
optional alias for code
remark1
optional remark field 1
remark2
optional remark field 2

Example JSON

{
  "code": "CUS",
  "description": "API Debtor Type",
  "debtorType": "CUS",
  "desc2": "Debtor Type second description",
  "isActive": true,
  "remark1": "Created by API",
  "remark2": "Debtor Type setup example"
}

Notes: Requires write access permission. Full human payload reference for Debtor Type. Exact fields saved depend on the AutoCount setup SDK exposed for this table.

create-general-dn-type write Create Create a D/N type.

Full payload schema: /v1/schema/commands/create-general-dn-type

Payload fields

code
required D/N Type code; dnType is accepted as an alias where shown
description
optional D/N Type description
desc2
optional second description
isActive
optional boolean active flag
dnType
optional alias for code
remark1
optional remark field 1
remark2
optional remark field 2

Example JSON

{
  "code": "DNAPI",
  "description": "API D/N Type",
  "dnType": "DNAPI",
  "desc2": "D/N Type second description",
  "isActive": true,
  "remark1": "Created by API",
  "remark2": "D/N Type setup example"
}

Notes: Requires write access permission. Full human payload reference for D/N Type. Exact fields saved depend on the AutoCount setup SDK exposed for this table.

create-general-payment-method write Create Create a payment method.

Full payload schema: /v1/schema/commands/create-general-payment-method

Payload fields

code
required payment method code
paymentType
optional type such as Cash, Bank, Cheque, Credit Card, E-Wallet
paymentBy
optional pay-by method such as Cash, Cheque, Bank Transfer
journalType
optional GL journal type used by this method
bankAccount
optional GL bank/cash account number
bankChargeAccount
optional bank charge GL account
bankChargePercent
optional bank charge percent
minBankCharge
optional minimum bank charge
odLimit
optional overdraft limit
nextChequeNo
optional next cheque/reference number
acceptChequeNo
optional boolean allowing cheque/reference number entry
mergeBankChargeTrans
optional boolean to merge bank charge transaction
isActive
optional boolean active flag
paymentMethod
optional alias for code

Example JSON

{
  "code": "BANKAPI",
  "paymentType": "Bank",
  "paymentBy": "Bank Transfer",
  "bankChargeAccount": "810-0000",
  "paymentMethod": "BANKAPI",
  "journalType": "BANK",
  "bankAccount": "110-0010",
  "bankChargePercent": 2.5,
  "minBankCharge": 0,
  "odLimit": 0,
  "nextChequeNo": "CHQ-000101",
  "acceptChequeNo": true,
  "mergeBankChargeTrans": false,
  "isActive": true
}

Notes: Requires write access permission and valid AutoCount GL settings. Full human payload reference for Payment Method Maintenance. GL accounts must exist and match the customer's AutoCount posting setup.

create-general-price-category write Create Create a price category.

Full payload schema: /v1/schema/commands/create-general-price-category

Payload fields

code
required price category code
description
optional price category description
discountPercent
optional default discount percent
detailDiscount
optional AutoCount detail discount string
markupRatio
optional markup ratio
priceCategory
optional alias for code
roundingMethod
optional rounding method where supported
isActive
optional boolean active flag
remark1
optional remark field 1
remark2
optional remark field 2

Example JSON

{
  "code": "API",
  "description": "API Price Category",
  "priceCategory": "API",
  "discountPercent": 5,
  "detailDiscount": "5%",
  "markupRatio": 1.2,
  "roundingMethod": "Normal",
  "isActive": true,
  "remark1": "Created by API",
  "remark2": "Price category setup example"
}

Notes: Requires write access permission. Full human payload reference for Price Category Maintenance. Item selling price rows can also refer to this price category.

create-general-project write Create Create a project.

Full payload schema: /v1/schema/commands/create-general-project

Payload fields

code
required project code
parentProjNo
optional parent project code
description
optional project description
desc2
optional second description
isActive
optional boolean active flag
projectNo
optional alias for code
projNo
optional alias for code

Example JSON

{
  "code": "PRJAPI",
  "description": "API Project",
  "projectNo": "PRJAPI",
  "projNo": "PRJAPI",
  "parentProjNo": "",
  "desc2": "Project second description",
  "isActive": true
}

Notes: Requires write access permission. Full human payload reference for Project Maintenance. Parent project and active flags depend on AutoCount project settings.

create-general-purchase-agent write Create Create a purchase agent.

Full payload schema: /v1/schema/commands/create-general-purchase-agent

Payload fields

code
required Purchase Agent code
description
optional Purchase Agent name/description
desc2
optional second description
isActive
optional boolean active flag
signature
optional signature text/blob exposed by the AutoCount entity
purchaseAgent
optional alias for code

Example JSON

{
  "code": "PAAPI",
  "description": "API Purchase Agent",
  "signature": "Approved by Purchasing",
  "purchaseAgent": "PAAPI",
  "desc2": "Purchase Agent second description",
  "isActive": true
}

Notes: Requires write access permission. Full human payload reference for Purchase Agent Maintenance.

create-general-sales-agent write Create Create a sales agent.

Full payload schema: /v1/schema/commands/create-general-sales-agent

Payload fields

code
required Sales Agent code
description
optional Sales Agent name/description
desc2
optional second description
emailAddress
optional email address
approverEmailAddress
optional approver email address
salesAgent
optional alias for code

Example JSON

{
  "code": "SAAPI",
  "description": "API Sales Agent",
  "approverEmailAddress": "approver@example.com",
  "salesAgent": "SAAPI",
  "desc2": "Sales Agent second description",
  "emailAddress": "sales@example.com"
}

Notes: Requires write access permission. Full human payload reference for Sales Agent Maintenance.

create-general-shipping-method write Create Create a shipping method.

Full payload schema: /v1/schema/commands/create-general-shipping-method

Payload fields

code
required Shipping Method code; shippingMethod is accepted as an alias where shown
description
optional Shipping Method description
isActive
optional boolean active flag
shippingMethod
optional alias for code
desc2
optional second description
remark1
optional remark field 1
remark2
optional remark field 2

Example JSON

{
  "code": "LALAMOVE",
  "description": "API Shipping Method",
  "shippingMethod": "LALAMOVE",
  "desc2": "Shipping Method second description",
  "isActive": true,
  "remark1": "Created by API",
  "remark2": "Shipping Method setup example"
}

Notes: Requires write access permission. Full human payload reference for Shipping Method. Exact fields saved depend on the AutoCount setup SDK exposed for this table.

delete-general-account-type write Delete Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-account-type

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "remove unused setup value"
}

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

delete-general-address write Delete Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-address

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "remove unused setup value"
}

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

delete-general-area write Delete Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-area

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "remove unused setup value"
}

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

delete-general-cn-type write Delete Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-cn-type

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "remove unused setup value"
}

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

delete-general-credit-term write Delete Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-credit-term

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "remove unused setup value"
}

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

delete-general-creditor-type write Delete Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-creditor-type

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "remove unused setup value"
}

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

delete-general-currency write Delete Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-currency

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "remove unused setup value"
}

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

delete-general-debtor-type write Delete Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-debtor-type

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "remove unused setup value"
}

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

delete-general-dn-type write Delete Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-dn-type

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "remove unused setup value"
}

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

delete-general-payment-method write Delete Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-payment-method

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "remove unused setup value"
}

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

delete-general-price-category write Delete Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-price-category

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "remove unused setup value"
}

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

delete-general-project write Delete Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-project

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "remove unused setup value"
}

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

delete-general-purchase-agent write Delete Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-purchase-agent

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "remove unused setup value"
}

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

delete-general-sales-agent write Delete Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-sales-agent

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "remove unused setup value"
}

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

delete-general-shipping-method write Delete Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-shipping-method

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "remove unused setup value"
}

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

get-general-account-type read Read Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-account-type

Payload fields

code
required setup code

Example JSON

{
  "code": "API"
}

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

get-general-address read Read Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-address

Payload fields

code
required setup code

Example JSON

{
  "code": "API"
}

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

get-general-area read Read Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-area

Payload fields

code
required setup code

Example JSON

{
  "code": "API"
}

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

get-general-cn-type read Read Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-cn-type

Payload fields

code
required setup code

Example JSON

{
  "code": "API"
}

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

get-general-credit-term read Read Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-credit-term

Payload fields

code
required setup code

Example JSON

{
  "code": "API"
}

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

get-general-creditor-type read Read Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-creditor-type

Payload fields

code
required setup code

Example JSON

{
  "code": "API"
}

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

get-general-currency read Read Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-currency

Payload fields

code
required setup code

Example JSON

{
  "code": "API"
}

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

get-general-debtor-type read Read Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-debtor-type

Payload fields

code
required setup code

Example JSON

{
  "code": "API"
}

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

get-general-dn-type read Read Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-dn-type

Payload fields

code
required setup code

Example JSON

{
  "code": "API"
}

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

get-general-payment-method read Read Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-payment-method

Payload fields

code
required setup code

Example JSON

{
  "code": "API"
}

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

get-general-price-category read Read Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-price-category

Payload fields

code
required setup code

Example JSON

{
  "code": "API"
}

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

get-general-project read Read Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-project

Payload fields

code
required setup code

Example JSON

{
  "code": "API"
}

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

get-general-purchase-agent read Read Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-purchase-agent

Payload fields

code
required setup code

Example JSON

{
  "code": "API"
}

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

get-general-sales-agent read Read Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-sales-agent

Payload fields

code
required setup code

Example JSON

{
  "code": "API"
}

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

get-general-shipping-method read Read Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-shipping-method

Payload fields

code
required setup code

Example JSON

{
  "code": "API"
}

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

list-general-account-types read Read List account types. Read-only because AutoCount 2.2 does not expose a safe SDK write command for Account Type.

Full payload schema: /v1/schema/commands/list-general-account-types

Payload fields

No payload fields required.

Example JSON

{}
list-general-addresses read Read List address maintenance records.

Full payload schema: /v1/schema/commands/list-general-addresses

Payload fields

No payload fields required.

Example JSON

{}
list-general-areas read Read List area maintenance records.

Full payload schema: /v1/schema/commands/list-general-areas

Payload fields

No payload fields required.

Example JSON

{}
list-general-cn-types read Read List C/N type maintenance records.

Full payload schema: /v1/schema/commands/list-general-cn-types

Payload fields

No payload fields required.

Example JSON

{}
list-general-credit-terms read Read List credit terms.

Full payload schema: /v1/schema/commands/list-general-credit-terms

Payload fields

No payload fields required.

Example JSON

{}
list-general-creditor-types read Read List creditor type maintenance records.

Full payload schema: /v1/schema/commands/list-general-creditor-types

Payload fields

No payload fields required.

Example JSON

{}
list-general-currencies read Read List currency maintenance records.

Full payload schema: /v1/schema/commands/list-general-currencies

Payload fields

No payload fields required.

Example JSON

{}
list-general-debtor-types read Read List debtor type maintenance records.

Full payload schema: /v1/schema/commands/list-general-debtor-types

Payload fields

No payload fields required.

Example JSON

{}
list-general-dn-types read Read List D/N type maintenance records.

Full payload schema: /v1/schema/commands/list-general-dn-types

Payload fields

No payload fields required.

Example JSON

{}
list-general-payment-methods read Read List General Maintenance payment methods.

Full payload schema: /v1/schema/commands/list-general-payment-methods

Payload fields

No payload fields required.

Example JSON

{}
list-general-price-categories read Read List price categories.

Full payload schema: /v1/schema/commands/list-general-price-categories

Payload fields

No payload fields required.

Example JSON

{}
list-general-projects read Read List projects.

Full payload schema: /v1/schema/commands/list-general-projects

Payload fields

No payload fields required.

Example JSON

{}
list-general-purchase-agents read Read List purchase agents.

Full payload schema: /v1/schema/commands/list-general-purchase-agents

Payload fields

No payload fields required.

Example JSON

{}
list-general-sales-agents read Read List sales agents.

Full payload schema: /v1/schema/commands/list-general-sales-agents

Payload fields

No payload fields required.

Example JSON

{}
list-general-shipping-methods read Read List shipping methods.

Full payload schema: /v1/schema/commands/list-general-shipping-methods

Payload fields

No payload fields required.

Example JSON

{}
update-general-account-type write Edit Guarded edit request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/update-general-account-type

Payload fields

code
required Account Type code; accType is accepted as an alias where shown
reason
required business reason
accType
optional alias for code
description
optional Account Type description
desc2
optional second description
isActive
optional boolean active flag
remark1
optional remark field 1
remark2
optional remark field 2

Example JSON

{
  "code": "EP",
  "reason": "correct setup value",
  "accType": "EP",
  "description": "API Account Type",
  "desc2": "Account Type second description",
  "isActive": true,
  "remark1": "Created by API",
  "remark2": "Account Type setup example"
}

Notes: Returns editBlocked until AutoCount exposes a proven safe SDK write path for this setup table. Full human payload reference for Account Type. Exact fields saved depend on the AutoCount setup SDK exposed for this table.

update-general-address write Edit Update an address maintenance record.

Full payload schema: /v1/schema/commands/update-general-address

Payload fields

code
required address code or addressName
address1
optional address line 1
phone
optional phone
addressName
optional address name alias
address2
optional address line 2
address3
optional address line 3
address4
optional address line 4
postCode
optional postcode
city
optional city
state
optional state
country
optional country
contact
optional contact person
fax
optional fax
emailAddress
optional email address
isActive
optional boolean active flag
remark1
optional remark field 1
remark2
optional remark field 2

Example JSON

{
  "code": "HQ",
  "phone": "03-00000000",
  "addressName": "Head Office",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "postCode": "50000",
  "city": "Kuala Lumpur",
  "state": "Wilayah Persekutuan",
  "country": "Malaysia",
  "contact": "Admin",
  "fax": "03-00000001",
  "emailAddress": "admin@example.com",
  "isActive": true,
  "remark1": "Created by API",
  "remark2": "Address setup example",
  "reason": "correct setup value"
}

Notes: Requires write access permission. Full human payload reference for Address Maintenance. Exact fields saved depend on the AutoCount setup SDK exposed for this table.

update-general-area write Edit Update an area.

Full payload schema: /v1/schema/commands/update-general-area

Payload fields

code
required Area code
description
optional Area description
desc2
optional second description
areaCode
optional alias for code

Example JSON

{
  "code": "KL",
  "description": "Kuala Lumpur",
  "areaCode": "KL",
  "desc2": "Central region",
  "reason": "correct setup value"
}

Notes: Requires write access permission. Full human payload reference for Area Maintenance.

update-general-cn-type write Edit Update a C/N type.

Full payload schema: /v1/schema/commands/update-general-cn-type

Payload fields

code
required C/N Type code; cnType is accepted as an alias where shown
description
optional C/N Type description
isActive
optional boolean active flag
cnType
optional alias for code
desc2
optional second description
remark1
optional remark field 1
remark2
optional remark field 2

Example JSON

{
  "code": "CNAPI",
  "isActive": true,
  "cnType": "CNAPI",
  "description": "API C/N Type",
  "desc2": "C/N Type second description",
  "remark1": "Created by API",
  "remark2": "C/N Type setup example",
  "reason": "correct setup value"
}

Notes: Requires write access permission. Full human payload reference for C/N Type. Exact fields saved depend on the AutoCount setup SDK exposed for this table.

update-general-credit-term write Edit Update a Credit Term Maintenance record.

Full payload schema: /v1/schema/commands/update-general-credit-term

Payload fields

code
required credit term display code, for example 30 DAYS
terms
read/list field exposed by the connector for the underlying terms value
termType
read/list field exposed by the connector for term type
termDays
read/list field exposed by the connector for number of term days
discountDays
optional early payment discount days
discountPercent
optional early payment discount percent
displayTerm
optional alias for code

Example JSON

{
  "code": "30 DAYS",
  "terms": "30 DAYS",
  "termDays": 30,
  "displayTerm": "30 DAYS",
  "termType": "Day",
  "discountDays": 7,
  "discountPercent": 2,
  "reason": "correct setup value"
}

Notes: Uses AutoCount Terms SDK/DataTable save path where available. Requires write access permission. Credit Term writes are guarded unless the exact AutoCount SDK write path is proven for the account book. These fields reflect the connector's current list/read surface, not an advertised writable native schema.

update-general-creditor-type write Edit Update a creditor type.

Full payload schema: /v1/schema/commands/update-general-creditor-type

Payload fields

code
required Creditor Type code; creditorType is accepted as an alias where shown
description
optional Creditor Type description
isActive
optional boolean active flag
creditorType
optional alias for code
desc2
optional second description
remark1
optional remark field 1
remark2
optional remark field 2

Example JSON

{
  "code": "SUP",
  "isActive": true,
  "creditorType": "SUP",
  "description": "API Creditor Type",
  "desc2": "Creditor Type second description",
  "remark1": "Created by API",
  "remark2": "Creditor Type setup example",
  "reason": "correct setup value"
}

Notes: Requires write access permission. Full human payload reference for Creditor Type. Exact fields saved depend on the AutoCount setup SDK exposed for this table.

update-general-currency write Edit Update a currency.

Full payload schema: /v1/schema/commands/update-general-currency

Payload fields

code
required currency code
currencySymbol
optional currency symbol
currencyWord2
optional secondary currency word/name
bankBuyRate
optional bank buying rate
bankSellRate
optional bank selling rate
fcGainAccount
optional foreign exchange gain account
fcLossAccount
optional foreign exchange loss account
gainLossJournalType
optional gain/loss journal type
currencyCode
optional alias for code
currencyWord
optional currency word/name

Example JSON

{
  "code": "USD",
  "bankBuyRate": 4.7,
  "bankSellRate": 4.75,
  "currencyCode": "USD",
  "currencySymbol": "$",
  "currencyWord": "US Dollar",
  "currencyWord2": "US Dollars",
  "fcGainAccount": "720-0000",
  "fcLossAccount": "820-0000",
  "gainLossJournalType": "GL",
  "reason": "correct setup value"
}

Notes: Requires write access permission. Full human payload reference for Currency Maintenance. Exchange rate behavior follows AutoCount account-book currency settings.

update-general-debtor-type write Edit Update a debtor type.

Full payload schema: /v1/schema/commands/update-general-debtor-type

Payload fields

code
required Debtor Type code; debtorType is accepted as an alias where shown
description
optional Debtor Type description
isActive
optional boolean active flag
debtorType
optional alias for code
desc2
optional second description
remark1
optional remark field 1
remark2
optional remark field 2

Example JSON

{
  "code": "CUS",
  "isActive": true,
  "debtorType": "CUS",
  "description": "API Debtor Type",
  "desc2": "Debtor Type second description",
  "remark1": "Created by API",
  "remark2": "Debtor Type setup example",
  "reason": "correct setup value"
}

Notes: Requires write access permission. Full human payload reference for Debtor Type. Exact fields saved depend on the AutoCount setup SDK exposed for this table.

update-general-dn-type write Edit Update a D/N type.

Full payload schema: /v1/schema/commands/update-general-dn-type

Payload fields

code
required D/N Type code; dnType is accepted as an alias where shown
description
optional D/N Type description
isActive
optional boolean active flag
dnType
optional alias for code
desc2
optional second description
remark1
optional remark field 1
remark2
optional remark field 2

Example JSON

{
  "code": "DNAPI",
  "isActive": true,
  "dnType": "DNAPI",
  "description": "API D/N Type",
  "desc2": "D/N Type second description",
  "remark1": "Created by API",
  "remark2": "D/N Type setup example",
  "reason": "correct setup value"
}

Notes: Requires write access permission. Full human payload reference for D/N Type. Exact fields saved depend on the AutoCount setup SDK exposed for this table.

update-general-payment-method write Edit Update a payment method.

Full payload schema: /v1/schema/commands/update-general-payment-method

Payload fields

code
required payment method code
journalType
optional GL journal type used by this method
bankAccount
optional GL bank/cash account number
bankChargeAccount
optional bank charge GL account
bankChargePercent
optional bank charge percent
minBankCharge
optional minimum bank charge
odLimit
optional overdraft limit
nextChequeNo
optional next cheque/reference number
acceptChequeNo
optional boolean allowing cheque/reference number entry
mergeBankChargeTrans
optional boolean to merge bank charge transaction
isActive
optional boolean active flag
paymentMethod
optional alias for code
paymentType
optional type such as Cash, Bank, Cheque, Credit Card, E-Wallet
paymentBy
optional pay-by method such as Cash, Cheque, Bank Transfer

Example JSON

{
  "code": "BANKAPI",
  "isActive": true,
  "paymentMethod": "BANKAPI",
  "paymentType": "Bank",
  "paymentBy": "Bank Transfer",
  "journalType": "BANK",
  "bankAccount": "110-0010",
  "bankChargeAccount": "810-0000",
  "bankChargePercent": 2.5,
  "minBankCharge": 0,
  "odLimit": 0,
  "nextChequeNo": "CHQ-000101",
  "acceptChequeNo": true,
  "mergeBankChargeTrans": false,
  "reason": "correct setup value"
}

Notes: Requires write access permission. Full human payload reference for Payment Method Maintenance. GL accounts must exist and match the customer's AutoCount posting setup.

update-general-price-category write Edit Update a price category.

Full payload schema: /v1/schema/commands/update-general-price-category

Payload fields

code
required price category code
description
optional price category description
discountPercent
optional default discount percent
priceCategory
optional alias for code
detailDiscount
optional AutoCount detail discount string
markupRatio
optional markup ratio
roundingMethod
optional rounding method where supported
isActive
optional boolean active flag
remark1
optional remark field 1
remark2
optional remark field 2

Example JSON

{
  "code": "API",
  "discountPercent": 5,
  "priceCategory": "API",
  "description": "API Price Category",
  "detailDiscount": "5%",
  "markupRatio": 1.2,
  "roundingMethod": "Normal",
  "isActive": true,
  "remark1": "Created by API",
  "remark2": "Price category setup example",
  "reason": "correct setup value"
}

Notes: Requires write access permission. Full human payload reference for Price Category Maintenance. Item selling price rows can also refer to this price category.

update-general-project write Edit Update a project.

Full payload schema: /v1/schema/commands/update-general-project

Payload fields

code
required project code
description
optional project description
isActive
optional boolean active flag
projectNo
optional alias for code
projNo
optional alias for code
parentProjNo
optional parent project code
desc2
optional second description

Example JSON

{
  "code": "PRJAPI",
  "isActive": true,
  "projectNo": "PRJAPI",
  "projNo": "PRJAPI",
  "parentProjNo": "",
  "description": "API Project",
  "desc2": "Project second description",
  "reason": "correct setup value"
}

Notes: Requires write access permission. Full human payload reference for Project Maintenance. Parent project and active flags depend on AutoCount project settings.

update-general-purchase-agent write Edit Update a purchase agent.

Full payload schema: /v1/schema/commands/update-general-purchase-agent

Payload fields

code
required Purchase Agent code
description
optional Purchase Agent name/description
isActive
optional boolean active flag
signature
optional signature text/blob exposed by the AutoCount entity
purchaseAgent
optional alias for code
desc2
optional second description

Example JSON

{
  "code": "PAAPI",
  "isActive": true,
  "purchaseAgent": "PAAPI",
  "description": "API Purchase Agent",
  "desc2": "Purchase Agent second description",
  "signature": "Approved by Purchasing",
  "reason": "correct setup value"
}

Notes: Requires write access permission. Full human payload reference for Purchase Agent Maintenance.

update-general-sales-agent write Edit Update a sales agent.

Full payload schema: /v1/schema/commands/update-general-sales-agent

Payload fields

code
required Sales Agent code
description
optional Sales Agent name/description
emailAddress
optional email address
approverEmailAddress
optional approver email address
salesAgent
optional alias for code
desc2
optional second description

Example JSON

{
  "code": "SAAPI",
  "emailAddress": "sales@example.com",
  "salesAgent": "SAAPI",
  "description": "API Sales Agent",
  "desc2": "Sales Agent second description",
  "approverEmailAddress": "approver@example.com",
  "reason": "correct setup value"
}

Notes: Requires write access permission. Full human payload reference for Sales Agent Maintenance.

update-general-shipping-method write Edit Update a shipping method.

Full payload schema: /v1/schema/commands/update-general-shipping-method

Payload fields

code
required Shipping Method code; shippingMethod is accepted as an alias where shown
description
optional Shipping Method description
isActive
optional boolean active flag
shippingMethod
optional alias for code
desc2
optional second description
remark1
optional remark field 1
remark2
optional remark field 2

Example JSON

{
  "code": "LALAMOVE",
  "isActive": true,
  "shippingMethod": "LALAMOVE",
  "description": "API Shipping Method",
  "desc2": "Shipping Method second description",
  "remark1": "Created by API",
  "remark2": "Shipping Method setup example",
  "reason": "correct setup value"
}

Notes: Requires write access permission. Full human payload reference for Shipping Method. Exact fields saved depend on the AutoCount setup SDK exposed for this table.

void-general-account-type write Void Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-account-type

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "void unused setup value"
}

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

void-general-address write Void Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-address

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "void unused setup value"
}

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

void-general-area write Void Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-area

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "void unused setup value"
}

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

void-general-cn-type write Void Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-cn-type

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "void unused setup value"
}

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

void-general-credit-term write Void Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-credit-term

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "void unused setup value"
}

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

void-general-creditor-type write Void Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-creditor-type

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "void unused setup value"
}

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

void-general-currency write Void Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-currency

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "void unused setup value"
}

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

void-general-debtor-type write Void Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-debtor-type

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "void unused setup value"
}

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

void-general-dn-type write Void Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-dn-type

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "void unused setup value"
}

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

void-general-payment-method write Void Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-payment-method

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "void unused setup value"
}

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

void-general-price-category write Void Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-price-category

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "void unused setup value"
}

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

void-general-project write Void Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-project

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "void unused setup value"
}

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

void-general-purchase-agent write Void Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-purchase-agent

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "void unused setup value"
}

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

void-general-sales-agent write Void Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-sales-agent

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "void unused setup value"
}

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

void-general-shipping-method write Void Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-shipping-method

Payload fields

code
required setup code
reason
required business reason

Example JSON

{
  "code": "API",
  "reason": "void unused setup value"
}

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

GL22 commandsRead 8Validate 1Create 3Edit 4Void 2Delete 2PDF/Report 2
create-fixed-asset-gl-accounts write Create Create the two GL accounts from AutoCount's Create New Fixed Asset Account screen.

Full payload schema: /v1/schema/commands/create-fixed-asset-gl-accounts

Payload fields

fixedAsset
{"accNo":"required fixed asset GL account number","description":"required fixed asset GL account description","accType":"required valid Asset account type code from list-general-account-types","parentAccNo":"optional fixed asset parent account","currencyCode":"optional currency code, for example MYR","cashFlowCategory":"optional, defaults to InvestingActivities","specialAccType":"optional, defaults to SFA / FixedAsset"}
accumulatedDepreciation
{"accNo":"required accumulated depreciation GL account number","description":"required accumulated depreciation GL account description","accType":"required valid Asset account type code from list-general-account-types","parentAccNo":"optional accumulated depreciation parent account","currencyCode":"optional currency code, for example MYR","cashFlowCategory":"optional, defaults to OperatingActivities","specialAccType":"optional, defaults to SAD / AccumulatedDepreciation"}

Example JSON

{
  "fixedAsset": {
    "accNo": "150-1000",
    "description": "Motor Vehicle",
    "accType": "use an Asset code from list-general-account-types",
    "parentAccNo": "<<FIXED ASSETS>>",
    "currencyCode": "MYR",
    "cashFlowCategory": "InvestingActivities",
    "specialAccType": "SFA"
  },
  "accumulatedDepreciation": {
    "accNo": "159-1000",
    "description": "Accumulated Depreciation - Motor Vehicle",
    "accType": "use an Asset code from list-general-account-types",
    "parentAccNo": "<<FIXED ASSETS>>",
    "currencyCode": "MYR",
    "cashFlowCategory": "OperatingActivities",
    "specialAccType": "SAD"
  }
}

Notes: Creates both GL Account Maintenance records through AutoCount AccountCommand.NewAccount and SaveAccount. The connector checks both account numbers before saving either record. Use create-gl-account only when creating one account. Matches AutoCount Create New Fixed Asset Account screen. It saves two GL Account Maintenance records through AutoCount AccountCommand: the fixed asset account with specialAccType SFA and the accumulated depreciation account with specialAccType SAD. Use list-general-account-types first; accType must be a real account type code in that account book.

create-gl-account write Create Create a GL Account Maintenance account.

Full payload schema: /v1/schema/commands/create-gl-account

Payload fields

accNo
required GL account number
description
required account description/name
accType
required AutoCount account type
parentAccNo
optional parent account number
currencyCode
optional currency code
cashFlowCategory
optional cash flow category
specialAccType
optional special account type such as Normal, Bank, Cash, FixedAsset/SFA, AccumulatedDepreciation/SAD, DebtorControl, or CreditorControl
desc2
optional second description
isActive
optional boolean active flag
remark1
optional remark field 1
remark2
optional remark field 2

Example JSON

{
  "accNo": "690-9000",
  "description": "API Expense Account",
  "accType": "EP",
  "parentAccNo": "610-0000",
  "cashFlowCategory": "OperatingActivities",
  "specialAccType": "Normal",
  "desc2": "API expense second description",
  "currencyCode": "MYR",
  "isActive": true,
  "remark1": "Created by API",
  "remark2": "GL account setup example"
}

Notes: Requires write access permission. Uses AutoCount.GL.AccountMaintenance.AccountCommand.NewAccount and AccountCommand.SaveAccount, with duplicate account check before save. Use list-general-account-types to discover valid account type codes for the account book. For fixed asset, use a valid Asset accType returned by list-general-account-types and set specialAccType: "SFA" or "FixedAsset". Do not put fixed asset into accType unless that exact AccType code exists. Full human payload reference for GL Account Maintenance. Account type, parent account, and special account type must match the account book's chart of accounts rules. Use list-general-account-types to discover valid account type codes. For a fixed asset GL account, use a valid Asset accType returned by list-general-account-types and set specialAccType: "SFA" or "FixedAsset". Do not put fixed asset into accType unless that exact AccType code exists in the account book.

create-journal-entry write Create Create GL journal entry. Supports one or many debit/credit lines.

Full payload schema: /v1/schema/commands/create-journal-entry

Payload fields

docDate
required YYYY-MM-DD journal date
description
optional journal narration
lines
required array of debit/credit rows; total debit must equal total credit
docNo
optional journal voucher number; omit to let AutoCount numbering generate it
journalType
optional AutoCount journal type
refNo
optional reference number
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "docDate": "2026-06-24",
  "description": "API journal entry",
  "lines": [
    {
      "accNo": "610-0000",
      "accountNo": "610-0000",
      "description": "Debit expense",
      "debit": 100,
      "credit": 0,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "taxType": "S-0",
      "taxCode": "S-0",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    },
    {
      "accNo": "500-1000",
      "accountNo": "500-1000",
      "description": "Credit control",
      "debit": 0,
      "credit": 100,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "taxType": "S-0",
      "taxCode": "S-0",
      "classification": "022"
    }
  ],
  "journalType": "JV",
  "refNo": "API-JV-1001",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Requires write access permission. Total debit must equal total credit. Old debitAccNo/creditAccNo/amount payload still works. Multiple lines are supported. Debit and credit totals must balance before AutoCount will save.

delete-gl-account write Delete Guarded GL account delete request.

Full payload schema: /v1/schema/commands/delete-gl-account

Payload fields

accNo
required account code
reason
required

Example JSON

{
  "accNo": "610-0000",
  "reason": "remove unused account"
}

Notes: Returns deleteBlocked; chart accounts may be linked to posted transactions.

delete-journal-entry write Delete Hard delete a journal entry.

Full payload schema: /v1/schema/commands/delete-journal-entry

Payload fields

docNo
required unless docKey is provided
docKey
optional numeric document key
reason
optional audit reason

Example JSON

{
  "docNo": "JV-000001",
  "reason": "delete incorrect journal"
}

Notes: Uses AutoCount JournalEntryCommand.Delete. Use void-journal-entry when audit-trail cancellation is required.

financial-report-autocount-pdf report PDF/Report Generate a native AutoCount financial report PDF.

Full payload schema: /v1/schema/commands/financial-report-autocount-pdf

Payload fields

reportType
required exact value: trial-balance | balance-sheet | profit-loss | cash-flow | group-statement
fromDate
period start date in YYYY-MM-DD; use with trial-balance, profit-loss, or cash-flow, and with group-statement when bs is false or omitted
toDate
period end date in YYYY-MM-DD; use with trial-balance, profit-loss, or cash-flow, and with group-statement when bs is false or omitted
asOfDate
point-in-time date in YYYY-MM-DD; use with balance-sheet or group-statement when bs is true
project
optional scalar or comma-separated project dimension filter
department
optional scalar or comma-separated department dimension filter
includeZeroBalance
optional boolean; maps to native ShowZeroBalance and defaults to true
showAccountNumbers
optional boolean; maps to native ShowAccNo and defaults to true
accNo
required for group-statement: GL account number
accountNo
group-statement alias for accNo
bs
optional boolean for group-statement; maps to native GSReportOption.BS and defaults to false
out
optional PDF output path under the connector reports output root; .pdf extension only

Example JSON

{
  "reportType": "trial-balance",
  "fromDate": "2026-01-01",
  "toDate": "2026-06-30"
}

Notes: Uses the native AutoCount financial report factory and does not calculate report totals in the cloud. reportType is required and must be one of trial-balance, balance-sheet, profit-loss, cash-flow, or group-statement. trial-balance, profit-loss, and cash-flow are period reports and require both fromDate and toDate; asOfDate is rejected for them and fromDate must not be after toDate. balance-sheet is point-in-time and requires asOfDate; fromDate and toDate are rejected. group-statement requires accNo (accountNo is an accepted alias) and supports optional bs; with bs true use asOfDate, while bs false or omitted uses fromDate and toDate. It is a single-account report, not multi-company consolidation. project and department accept only a scalar or comma-separated individual dimension filter. includeZeroBalance and showAccountNumbers default to true. Unsupported fields or shapes are rejected rather than ignored. The PDF result is returned through the authenticated command artifact endpoint. out is optional and must remain under the connector reports output root with a .pdf extension.

get-gl-account read Read Get one GL Account Maintenance account.

Full payload schema: /v1/schema/commands/get-gl-account

Payload fields

accNo
required account code

Example JSON

{
  "accNo": "610-0000"
}

Notes: Reads from AutoCount AccountInquiry chart data.

get-journal-entry read Read Get one journal entry with detail lines.

Full payload schema: /v1/schema/commands/get-journal-entry

Payload fields

docNo
required unless docKey is supplied
docKey
optional numeric document key

Example JSON

{
  "docNo": "JV-000001"
}

Notes: Uses AutoCount JournalEntryCommand.View.

list-journal-entries read Read List journal entries.

Full payload schema: /v1/schema/commands/list-journal-entries

Payload fields

status
optional AutoCount document status
columns
optional comma-separated master columns

Example JSON

{
  "columns": "DocKey,DocNo,DocDate,JournalType,Description,TotalDR,TotalCR,Cancelled,LastModified"
}

Notes: Uses AutoCount JournalEntryCommand.InquireAllMaster.

read-chart-accounts read Read List GL chart of accounts.

Full payload schema: /v1/schema/commands/read-chart-accounts

Payload fields

No payload fields required.

Example JSON

{}
read-financial-report read PDF/Report Read a native AutoCount financial report.

Full payload schema: /v1/schema/commands/read-financial-report

Payload fields

reportType
required exact value: trial-balance | balance-sheet | profit-loss | cash-flow | group-statement
fromDate
period start date in YYYY-MM-DD; use with trial-balance, profit-loss, or cash-flow, and with group-statement when bs is false or omitted
toDate
period end date in YYYY-MM-DD; use with trial-balance, profit-loss, or cash-flow, and with group-statement when bs is false or omitted
asOfDate
point-in-time date in YYYY-MM-DD; use with balance-sheet or group-statement when bs is true
project
optional scalar or comma-separated project dimension filter
department
optional scalar or comma-separated department dimension filter
includeZeroBalance
optional boolean; maps to native ShowZeroBalance and defaults to true
showAccountNumbers
optional boolean; maps to native ShowAccNo and defaults to true
accNo
required for group-statement: GL account number
accountNo
group-statement alias for accNo
bs
optional boolean for group-statement; maps to native GSReportOption.BS and defaults to false

Example JSON

{
  "reportType": "trial-balance",
  "fromDate": "2026-01-01",
  "toDate": "2026-06-30"
}

Notes: Uses the native AutoCount financial report factory and does not calculate report totals in the cloud. reportType is required and must be one of trial-balance, balance-sheet, profit-loss, cash-flow, or group-statement. trial-balance, profit-loss, and cash-flow are period reports and require both fromDate and toDate; asOfDate is rejected for them and fromDate must not be after toDate. balance-sheet is point-in-time and requires asOfDate; fromDate and toDate are rejected. group-statement requires accNo (accountNo is an accepted alias) and supports optional bs; with bs true use asOfDate, while bs false or omitted uses fromDate and toDate. It is a single-account report, not multi-company consolidation. project and department accept only a scalar or comma-separated individual dimension filter. includeZeroBalance and showAccountNumbers default to true. Unsupported fields or shapes are rejected rather than ignored.

read-gl-account-balance read Read Read one GL account balance.

Full payload schema: /v1/schema/commands/read-gl-account-balance

Payload fields

accNo
required
fromDate
YYYY-MM-DD required
toDate
YYYY-MM-DD required

Example JSON

{
  "accNo": "500-0000",
  "fromDate": "2026-01-01",
  "toDate": "2026-06-15"
}
read-gl-account-balances read Read Read many/all GL account balances in one connector execution.

Full payload schema: /v1/schema/commands/read-gl-account-balances

Payload fields

fromDate
YYYY-MM-DD required
toDate
YYYY-MM-DD required
limit
optional, default 5000, max 10000
accountType
optional AccType filter
includeZeroBalance
optional boolean, default true

Example JSON

{
  "fromDate": "2026-08-01",
  "toDate": "2026-08-31",
  "limit": 5000,
  "includeZeroBalance": true
}

Notes: Returns account metadata plus numeric balance for every returned account. Use this instead of calling read-gl-account-balance thousands of times.

read-gl-opening-balances read Read Read GL Opening Balance Maintenance for one fiscal period and project/department scope.

Full payload schema: /v1/schema/commands/read-gl-opening-balances

Payload fields

periodDate
required YYYY-MM-DD date inside the fiscal period
projectNo
optional exact project; blank means no project
departmentNo
optional exact department; blank means no department
limit
optional row limit, maximum 10000

Example JSON

{
  "periodDate": "2026-01-01",
  "projectNo": "",
  "departmentNo": "",
  "limit": 5000
}

Notes: Uses AutoCount OpeningBalanceCommand.Edit. Rows include AccNo, currency, debit/credit, home debit/credit, and CanEdit. Blank project/department selects the editable no-project/no-department scope, not the read-only all-scope aggregate.

read-gl-year-to-date-balances read Read Read Year-to-Date Balance Maintenance rows.

Full payload schema: /v1/schema/commands/read-gl-year-to-date-balances

Payload fields

months
optional number of periods, 1 to 24; default 12
projectNo
optional project code
departmentNo
optional department code
limit
optional row limit, maximum 10000

Example JSON

{
  "months": 12,
  "projectNo": "",
  "departmentNo": "",
  "limit": 5000
}

Notes: Uses AutoCount YearToDate.LoadData in normal read mode and returns native PeriodNo, AccNo, DR, CR, HomeDR, and HomeCR rows. The SDK ZeroPBalance reset flag is intentionally never exposed.

update-gl-account write Edit Guarded GL account edit request.

Full payload schema: /v1/schema/commands/update-gl-account

Payload fields

accNo
required GL account number
reason
required
description
required account description/name
desc2
optional second description
accType
required AutoCount account type
parentAccNo
optional parent account number
currencyCode
optional currency code
cashFlowCategory
optional cash flow category
specialAccType
optional special account type such as Normal, Bank, Cash, FixedAsset/SFA, AccumulatedDepreciation/SAD, DebtorControl, or CreditorControl
isActive
optional boolean active flag
remark1
optional remark field 1
remark2
optional remark field 2

Example JSON

{
  "accNo": "690-9000",
  "reason": "correct account description",
  "description": "API Expense Account",
  "desc2": "API expense second description",
  "accType": "EP",
  "parentAccNo": "610-0000",
  "currencyCode": "MYR",
  "cashFlowCategory": "OperatingActivities",
  "specialAccType": "Normal",
  "isActive": true,
  "remark1": "Created by API",
  "remark2": "GL account setup example"
}

Notes: Returns editBlocked until AccountCommand edit/save safety is proven. Full human payload reference for GL Account Maintenance. Account type, parent account, and special account type must match the account book's chart of accounts rules. Use list-general-account-types to discover valid account type codes. For a fixed asset GL account, use a valid Asset accType returned by list-general-account-types and set specialAccType: "SFA" or "FixedAsset". Do not put fixed asset into accType unless that exact AccType code exists in the account book.

update-gl-opening-balances write Edit Validate or save selected GL opening-balance rows and verify them by SDK reload.

Full payload schema: /v1/schema/commands/update-gl-opening-balances

Payload fields

periodDate
required YYYY-MM-DD date inside the fiscal period
projectNo
optional exact project; blank means no project
departmentNo
optional exact department; blank means no department
localCurrencyCode
optional only when AutoCount local currency cannot be detected
balances
required array of {accNo, debit, credit, homeDebit?, homeCredit?}; home values are required for foreign-currency accounts
validateOnly
optional true to validate without saving
confirmWrite
required true for an actual save

Example JSON

{
  "periodDate": "2026-01-01",
  "balances": [
    {
      "accNo": "100-0000",
      "debit": 0,
      "credit": 1000
    }
  ],
  "validateOnly": true
}

Notes: SDK only. It rejects non-editable accounts and foreign-currency rows without home amounts. A save returns success only after exact AutoCount reload verification.

update-gl-year-to-date-balances write Edit Validate or save selected Year-to-Date Balance Maintenance rows and verify them by SDK reload.

Full payload schema: /v1/schema/commands/update-gl-year-to-date-balances

Payload fields

months
optional number of periods, 1 to 24; default 12
projectNo
optional project code
departmentNo
optional department code
balances
required array of {accNo, periodNo, debit, credit, homeDebit?, homeCredit?}
validateOnly
optional true to validate without saving
confirmWrite
required true for an actual save

Example JSON

{
  "months": 12,
  "balances": [
    {
      "accNo": "500-0000",
      "periodNo": 1,
      "debit": 1000,
      "credit": 0
    }
  ],
  "validateOnly": true
}

Notes: SDK only. Unknown accounts and periods outside the requested month range are rejected. The dangerous SDK ZeroPBalance reset flag is not exposed. A save returns success only after exact AutoCount reload verification.

update-journal-entry write Edit Update a journal entry editable SDK fields and supported detail rows with persisted verification.

Full payload schema: /v1/schema/commands/update-journal-entry

Payload fields

docNo
required existing document number
docKey
optional existing document key
reason
required audit reason
docDate
optional YYYY-MM-DD document date
description
optional description; null or empty clears optional text
ref
optional reference where the AutoCount document exposes it
note
optional note where the AutoCount document exposes it
journalType
optional journal type where the AutoCount document exposes it
detailMode
explicit update | append | replace | delete for detail edits
lines
optional posting/detail updates selected by dtlKey
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values

Example JSON

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification. Journal debit/credit and Cash Book posting/payment totals must balance. Reconciled rows and source-linked documents remain protected.

validate-journal-entry read Validate Validate a GL journal entry without saving. Supports the same multi-line payload as create-journal-entry.

Full payload schema: /v1/schema/commands/validate-journal-entry

Payload fields

docDate
required YYYY-MM-DD journal date
description
optional journal narration
lines
required array of debit/credit rows; total debit must equal total credit
docNo
optional journal voucher number; omit to let AutoCount numbering generate it
journalType
optional AutoCount journal type
refNo
optional reference number
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "docDate": "2026-06-24",
  "description": "API journal entry",
  "lines": [
    {
      "accNo": "610-0000",
      "accountNo": "610-0000",
      "description": "Debit expense",
      "debit": 100,
      "credit": 0,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "taxType": "S-0",
      "taxCode": "S-0",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    },
    {
      "accNo": "500-1000",
      "accountNo": "500-1000",
      "description": "Credit control",
      "debit": 0,
      "credit": 100,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "taxType": "S-0",
      "taxCode": "S-0",
      "classification": "022"
    }
  ],
  "journalType": "JV",
  "refNo": "API-JV-1001",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Validation only. Total debit must equal total credit. Multiple lines are supported. Debit and credit totals must balance before AutoCount will save.

void-gl-account write Void Guarded GL account void request.

Full payload schema: /v1/schema/commands/void-gl-account

Payload fields

accNo
required account code
reason
required

Example JSON

{
  "accNo": "610-0000",
  "reason": "deactivate account"
}

Notes: Returns voidBlocked; chart accounts may be linked to posted transactions.

void-journal-entry write Void Cancel/void a journal entry.

Full payload schema: /v1/schema/commands/void-journal-entry

Payload fields

docNo
required unless docKey is provided
docKey
optional numeric document key
reason
optional audit reason

Example JSON

{
  "docNo": "JV-000001",
  "reason": "void/correct journal"
}

Notes: Uses AutoCount JournalEntryCommand.CancelDocument.

GL Cash Book14 commandsRead 7Validate 2Create 2Edit 1Void 1Delete 1
create-gl-cash-book-payment write Create Create a G/L Cash Book payment voucher. Supports one or many account lines and payment rows.

Full payload schema: /v1/schema/commands/create-gl-cash-book-payment

Payload fields

docDate
required or optional YYYY-MM-DD document date
payTo
optional payee name
taxEntityID
optional numeric Tax Entity Maintenance ID for the cash book header
lines
required array of GL posting rows
payments
required or optional array of payment method rows
docNo
optional voucher number; omit to let AutoCount numbering generate it
receiveFrom
optional receipt payer name
description
optional cash book narration
chequeNo
optional cheque/reference number
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "docDate": "2026-06-24",
  "payTo": "API Supplier",
  "taxEntityID": 1,
  "description": "API payment voucher",
  "lines": [
    {
      "accNo": "610-0000",
      "accountNo": "610-0000",
      "description": "Expense line",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 100,
      "chequeNo": "PV-API-1001",
      "bankCharge": 0,
      "bankAccount": "110-0010",
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    }
  ],
  "chequeNo": "PV-API-1001",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Creates through AutoCount CashBookCommand.AddNew(CashPayment) + CashBook.Save. Cash book supports one or many posting lines and one or many payment rows when AutoCount payment method setup allows it.

create-gl-cash-book-receipt write Create Create a G/L Cash Book official receipt. Supports one or many account lines and payment rows.

Full payload schema: /v1/schema/commands/create-gl-cash-book-receipt

Payload fields

docDate
required or optional YYYY-MM-DD document date
receiveFrom
optional receipt payer name
taxEntityID
optional numeric Tax Entity Maintenance ID for the cash book header
lines
required array of GL posting rows
payments
required or optional array of payment method rows
docNo
optional voucher number; omit to let AutoCount numbering generate it
payTo
optional payee name
description
optional cash book narration
chequeNo
optional cheque/reference number
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "docDate": "2026-06-24",
  "receiveFrom": "API Customer",
  "taxEntityID": 1,
  "description": "API official receipt",
  "lines": [
    {
      "accNo": "610-0000",
      "accountNo": "610-0000",
      "description": "Expense line",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 100,
      "chequeNo": "PV-API-1001",
      "bankCharge": 0,
      "bankAccount": "110-0010",
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    }
  ],
  "chequeNo": "PV-API-1001",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Creates through AutoCount CashBookCommand.AddNew(CashReceipt) + CashBook.Save. Cash book supports one or many posting lines and one or many payment rows when AutoCount payment method setup allows it.

delete-gl-cash-book-entry write Delete Hard delete a G/L Cash Book entry.

Full payload schema: /v1/schema/commands/delete-gl-cash-book-entry

Payload fields

docNo
required unless docKey is provided
docKey
optional numeric document key
reason
optional audit reason

Example JSON

{
  "docNo": "PV-000001",
  "reason": "delete incorrect voucher"
}

Notes: Uses AutoCount CashBookCommand.Delete. Use void-gl-cash-book-entry when audit-trail cancellation is required.

get-gl-cash-book-entry read Read Get one G/L Cash Book entry with detail and payment rows.

Full payload schema: /v1/schema/commands/get-gl-cash-book-entry

Payload fields

docNo
required unless docKey is supplied
docKey
optional numeric document key

Example JSON

{
  "docNo": "PV-000001"
}

Notes: Uses AutoCount CashBookCommand.View.

list-gl-bank-cash-accounts read Read List GL bank and cash accounts used by cash book.

Full payload schema: /v1/schema/commands/list-gl-bank-cash-accounts

Payload fields

No payload fields required.

Example JSON

{}
list-gl-cash-book-documents read Read List the G/L > Cash Book Entry document grid.

Full payload schema: /v1/schema/commands/list-gl-cash-book-documents

Payload fields

status
optional AutoCount document status
columns
optional comma-separated master columns

Example JSON

{
  "columns": "DocKey,DocNo,DocDate,Description,DealWith,Total,NetTotal,TotalPayment,Cancelled,LastModified"
}
list-gl-cash-book-entries read Read List cash book report/inquiry rows grouped by bank/cash account.

Full payload schema: /v1/schema/commands/list-gl-cash-book-entries

Payload fields

fromDate
YYYY-MM-DD optional
toDate
YYYY-MM-DD optional
accountNo
optional bank/cash account
accountNos
optional comma-separated bank/cash accounts
showTotal
boolean optional
showDebtorDetails
boolean optional
showCreditorDetails
boolean optional
showInLocalCurrency
boolean optional
sortBy
optional AutoCount account sort enum name

Example JSON

{
  "fromDate": "2026-01-01",
  "toDate": "2026-12-31",
  "showTotal": true,
  "showDebtorDetails": false,
  "showCreditorDetails": false,
  "showInLocalCurrency": false
}
list-gl-cheques read Read List issued or received cheque entries.

Full payload schema: /v1/schema/commands/list-gl-cheques

Payload fields

fromDate
YYYY-MM-DD optional
toDate
YYYY-MM-DD optional
chequeOption
issued | received
cancelled
all | cancelled | uncancelled
showCashAccount
boolean optional

Example JSON

{
  "fromDate": "2026-01-01",
  "toDate": "2026-12-31",
  "chequeOption": "issued",
  "cancelled": "uncancelled",
  "showCashAccount": true
}
read-gl-cash-flow-accounts read Read List GL accounts with cash-flow category metadata.

Full payload schema: /v1/schema/commands/read-gl-cash-flow-accounts

Payload fields

No payload fields required.

Example JSON

{}
read-payment-methods read Read List payment methods used by AR/AP cashbook-style documents.

Full payload schema: /v1/schema/commands/read-payment-methods

Payload fields

No payload fields required.

Example JSON

{}
update-gl-cash-book-entry write Edit Update G/L Cash Book header/simple fields.

Full payload schema: /v1/schema/commands/update-gl-cash-book-entry

Payload fields

docNo
required existing document number
docKey
optional existing document key
reason
required audit reason
docDate
optional YYYY-MM-DD document date
description
optional description; null or empty clears optional text
ref
optional reference where the AutoCount document exposes it
note
optional note where the AutoCount document exposes it
journalType
optional journal type where the AutoCount document exposes it
detailMode
explicit update | append | replace | delete for detail edits
taxEntityID
optional numeric Tax Entity Maintenance ID for the cash book header
lines
optional posting/detail updates selected by dtlKey
paymentLines
optional payment detail updates selected by dtlKey
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values

Example JSON

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification. Journal debit/credit and Cash Book posting/payment totals must balance. Reconciled rows and source-linked documents remain protected.

validate-gl-cash-book-payment read Validate Validate a G/L Cash Book payment voucher without saving.

Full payload schema: /v1/schema/commands/validate-gl-cash-book-payment

Payload fields

docDate
required or optional YYYY-MM-DD document date
payTo
optional payee name
taxEntityID
optional numeric Tax Entity Maintenance ID for the cash book header
lines
required array of GL posting rows
payments
required or optional array of payment method rows
docNo
optional voucher number; omit to let AutoCount numbering generate it
receiveFrom
optional receipt payer name
description
optional cash book narration
chequeNo
optional cheque/reference number
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "docDate": "2026-06-24",
  "payTo": "API Supplier",
  "taxEntityID": 1,
  "description": "API payment voucher",
  "lines": [
    {
      "accNo": "610-0000",
      "accountNo": "610-0000",
      "description": "Expense line",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 100,
      "chequeNo": "PV-API-1001",
      "bankCharge": 0,
      "bankAccount": "110-0010",
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    }
  ],
  "chequeNo": "PV-API-1001",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Validation only; uses CashBookCommand.AddNew + CashBook.Validate. Cash book supports one or many posting lines and one or many payment rows when AutoCount payment method setup allows it.

validate-gl-cash-book-receipt read Validate Validate a G/L Cash Book official receipt without saving.

Full payload schema: /v1/schema/commands/validate-gl-cash-book-receipt

Payload fields

docDate
required or optional YYYY-MM-DD document date
receiveFrom
optional receipt payer name
taxEntityID
optional numeric Tax Entity Maintenance ID for the cash book header
lines
required array of GL posting rows
payments
required or optional array of payment method rows
docNo
optional voucher number; omit to let AutoCount numbering generate it
payTo
optional payee name
description
optional cash book narration
chequeNo
optional cheque/reference number
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "docDate": "2026-06-24",
  "receiveFrom": "API Customer",
  "taxEntityID": 1,
  "description": "API official receipt",
  "lines": [
    {
      "accNo": "610-0000",
      "accountNo": "610-0000",
      "description": "Expense line",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 100,
      "chequeNo": "PV-API-1001",
      "bankCharge": 0,
      "bankAccount": "110-0010",
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    }
  ],
  "chequeNo": "PV-API-1001",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Validation only; uses CashBookCommand.AddNew + CashBook.Validate. Cash book supports one or many posting lines and one or many payment rows when AutoCount payment method setup allows it.

void-gl-cash-book-entry write Void Cancel/void a G/L Cash Book entry.

Full payload schema: /v1/schema/commands/void-gl-cash-book-entry

Payload fields

docNo
required unless docKey is provided
docKey
optional numeric document key
reason
optional audit reason

Example JSON

{
  "docNo": "PV-000001",
  "reason": "cancel incorrect voucher"
}

Notes: Uses AutoCount CashBookCommand.CancelDocument.

Linked Documents8 commandsRead 2Transfer 1write 4delete 1
partial-transfer-document write write Create a target document by partial transferring selected source rows.

Full payload schema: /v1/schema/commands/partial-transfer-document

Payload fields

fromDocument
source document type
toDocument
target document type
fromDocNo
source document number
lines
optional source rows selected by sourceDtlKey or sourceLineNo

Example JSON

{
  "fromDocument": "quotation",
  "toDocument": "sales-order",
  "fromDocNo": "QT-000001",
  "lines": [
    {
      "sourceLineNo": 1
    }
  ]
}

Notes: Supports the standard sales/purchase chains where AutoCount exposes PartialTransfer.

read-document-linkage read Read Read linked/transferred document detail rows and linkage columns.

Full payload schema: /v1/schema/commands/read-document-linkage

Payload fields

document
target document such as sales-order, delivery-order, sales-invoice, purchase-invoice
docNo
required document number

Example JSON

{
  "document": "sales-order",
  "docNo": "SO-000001"
}

Notes: Use this before changing linked document lines. Correct process is reverse then partial transfer.

read-sales-invoice-line-order read Read Read a Sales Invoice's sequence-sorted line order and stable lineKey values.

Full payload schema: /v1/schema/commands/read-sales-invoice-line-order

Payload fields

docNo
required existing invoice number

Example JSON

{
  "docNo": "IV-000001"
}

Notes: Use before reorder-sales-invoice-lines. The returned lineKey identifies the AutoCount detail row by DtlKey/DetailKey and remains stable after reordering.

rebuild-linked-document-lines write write Correct linked-document line workflow: reverse then partial transfer.

Full payload schema: /v1/schema/commands/rebuild-linked-document-lines

Payload fields

fromDocument
source document type
toDocument
target document type
targetDocNo
existing linked target document
fromDocNo
source document number
lines
selected source rows
createReplacement
optional true to create a replacement target document by partial transfer

Example JSON

{
  "fromDocument": "quotation",
  "toDocument": "sales-order",
  "targetDocNo": "SO-000001",
  "fromDocNo": "QT-000001",
  "lines": [
    {
      "sourceLineNo": 1
    }
  ]
}

Notes: Existing linked document rebuild is guarded until reverse is proven. With createReplacement:true, connector can create a replacement target document by partial transfer.

reorder-sales-invoice-line write write Move an existing transferred Sales Invoice detail row to a new line position.

Full payload schema: /v1/schema/commands/reorder-sales-invoice-line

Payload fields

docNo
required existing invoice number
dtlKey
preferred invoice detail DtlKey
lineNo
fallback current line number
fromDocNo
optional source DO/SO/QT number
fromDtlKey
optional source detail key
toLineNo
required new 1-based line position
allowUnlinked
optional boolean, default false

Example JSON

{
  "docNo": "IV-000001",
  "dtlKey": 3002162,
  "toLineNo": 1
}

Notes: Safe reorder only. The connector changes only the detail sequence column, does not delete/recreate rows, and verifies item, quantity, UOM, location, price, stock values, and transfer linkage after save.

reorder-sales-invoice-lines write write Apply the full desired Sales Invoice line order in one request.

Full payload schema: /v1/schema/commands/reorder-sales-invoice-lines

Payload fields

docNo
required existing invoice number
desiredLineKeys
array of every current lineKey exactly once, in final order

Example JSON

{
  "docNo": "IV-000001",
  "desiredLineKeys": [
    "dtl:3002162",
    "dtl:3002163",
    "dtl:3002164"
  ]
}

Notes: For daily invoices, call read-sales-invoice-line-order, group normal item lines first, discount lines second, and FOC/free gift lines last, then submit every lineKey. The connector changes only the sequence column and verifies item, quantity, price, tax, discount, stock, and transfer fields after save.

reverse-document-transfer delete delete Reverse a final linked target by deleting it through AutoCount SDK and verifying the source transfer quantity is restored.

Full payload schema: /v1/schema/commands/reverse-document-transfer

Payload fields

fromDocument
source document type
toDocument
target document type
targetDocNo
existing linked target document
deleteTarget
must be true after confirming deletion

Example JSON

{
  "fromDocument": "sales-order",
  "toDocument": "delivery-order",
  "targetDocNo": "DO-000001",
  "deleteTarget": true
}

Notes: Reverse downstream documents first. The command blocks when the target has transferred onward, linkage is ambiguous, or deleteTarget is not true.

transfer-delivery-order-to-existing-sales-invoice write Transfer Transfer delivery order into an existing sales invoice.

Full payload schema: /v1/schema/commands/transfer-delivery-order-to-existing-sales-invoice

Payload fields

targetDocNo
required existing sales invoice document number
sourceDocNo
required source delivery order document number
lines
optional selected source rows by sourceDtlKey or sourceLineNo; omit to transfer all selected/outstanding rows supported by AutoCount
invoiceDocNo
alias for targetDocNo
docNo
alias for targetDocNo
fromDocNo
alias for sourceDocNo
transferQtyMode
optional transfer quantity mode such as all or outstanding where AutoCount supports it
saveAsDraft
optional boolean; true saves the edited existing invoice as an AutoCount draft where the account book allows it

Example JSON

{
  "targetDocNo": "I-000001",
  "sourceDocNo": "DO-000001",
  "lines": [
    {
      "sourceLineNo": 1
    }
  ],
  "saveAsDraft": true
}

Notes: Uses AutoCount partial transfer logic against the existing invoice. Blocks on debtor mismatch, e-Invoice edit guard, or unsupported SDK path; it does not delete or rebuild the invoice. Appends delivery order rows into an existing sales invoice through AutoCount partial transfer. With saveAsDraft=true, the edited invoice is saved through the SDK Save(true) draft save path. The connector blocks if debtor codes differ, if e-Invoice edit guard applies, or if the SDK PartialTransfer path is not exposed. It does not delete or rebuild existing invoice lines.

Master Data16 commandsRead 2Create 3Edit 3Void 3Delete 4write 1
create-creditor write Create Create a creditor/supplier.

Full payload schema: /v1/schema/commands/create-creditor

Payload fields

accNo
required creditor/supplier account code
companyName
required supplier company/name
address1
optional supplier address line 1
address2
optional supplier address line 2
address3
optional supplier address line 3
address4
optional supplier address line 4
postCode
optional billing/postal postcode; connector tries AutoCount postcode/postal code SDK aliases and verifies read-back
contactPerson
optional contact person; also creates/updates an AutoCount ContactTable row when contacts array is not supplied
deliveryAddress1
optional branch/delivery address line 1
deliveryAddress2
optional branch/delivery address line 2
deliveryPostCode
optional branch/delivery postcode for the default branch row
deliveryContact
optional branch/delivery contact for the default branch row
contacts
optional array of contact persons written through AutoCount DLL ContactTable; supports name/contactName, department, title/designation, mobilePhone/mobile/phone, directPhone, directFax, emailAddress/email, imAddress, note, openingBonusPoint, includeInContactInfo
branches
optional array of creditor branch records written through AutoCount DLL BranchTable; supports branchCode/code, branchName/name, address1-4, postCode, contact/attention, phone1/2, fax1/2, areaCode, salesAgent, purchaseAgent, emailAddress/email, mobile, taxEntityID, isActive
phone1
optional primary phone
phone2
optional secondary phone
emailAddress
optional email address
currencyCode
optional currency code such as MYR
taxCode
optional tax code/type
taxEntityID
optional Tax Entity Maintenance numeric ID to link this creditor to e-Invoice/tax entity details
controlAccount
optional book-specific creditor control account; connector local-mvp-2026.10.06.02+ preserves existing value on update, uses SDK default or unique SCC account on create, and rejects ambiguity; older builds must send the correct explicit controlAccount; never assume a universal account number
isActive
optional boolean active flag
desc2
optional second name/description
creditorType
optional Creditor Type Maintenance code
area
optional Area Maintenance code
purchaseAgent
optional Purchase Agent Maintenance code
branchCode
optional branch code for multi-branch/supplier branch usage
displayTerm
optional Credit Term Maintenance value such as C.O.D. or 30 DAYS
creditLimit
optional supplier credit limit amount if used
overdueLimit
optional overdue limit amount or days depending on AutoCount setup
attention
optional contact attention person
fax1
optional fax
website
optional website
registrationNo
optional company registration number
taxRegisterNo
optional SST/tax registration number
businessNature
optional business nature
remark1
optional remark field 1
remark2
optional remark field 2
deliveryAddress3
optional branch/delivery address line 3
deliveryAddress4
optional branch/delivery address line 4

Example JSON

{
  "accNo": "400-API",
  "companyName": "API Supplier Sdn Bhd",
  "address1": "No. 2 Jalan API",
  "address2": "Supplier Park",
  "address3": "Petaling Jaya",
  "address4": "Malaysia",
  "postCode": "46000",
  "contactPerson": "Tan Supplier",
  "deliveryAddress1": "Supplier Warehouse",
  "deliveryPostCode": "46000",
  "phone1": "03-33333333",
  "phone2": "019-8888888",
  "emailAddress": "supplier@example.com",
  "currencyCode": "MYR",
  "taxCode": "SST",
  "taxEntityID": 1,
  "isActive": true,
  "desc2": "API Supplier Trading Name",
  "creditorType": "SUP",
  "area": "PJ",
  "purchaseAgent": "PA01",
  "branchCode": "HQ",
  "displayTerm": "30 DAYS",
  "creditLimit": 30000,
  "overdueLimit": 30,
  "attention": "Supplier Accounts",
  "fax1": "03-33333334",
  "website": "https://supplier.example.com",
  "registrationNo": "202602000002",
  "taxRegisterNo": "SST-400-API",
  "businessNature": "Supplier",
  "remark1": "Created by API",
  "remark2": "Supplier credit control example",
  "deliveryAddress2": "Logistics Park",
  "deliveryContact": "Supplier Store",
  "contacts": [
    {
      "name": "Tan Supplier",
      "department": "Finance",
      "designation": "Accounts",
      "mobilePhone": "019-1111111",
      "directPhone": "03-33333335",
      "emailAddress": "supplier-accounts@example.com",
      "includeInContactInfo": true
    }
  ],
  "branches": [
    {
      "branchCode": "HQ",
      "branchName": "Head Office",
      "address1": "No. 2 Jalan API",
      "address2": "Supplier Park",
      "postCode": "46000",
      "contact": "Tan Supplier",
      "phone1": "03-33333333",
      "emailAddress": "supplier-hq@example.com",
      "taxEntityID": 1,
      "isActive": true
    }
  ]
}

Notes: Creates supplier master data through AutoCount SDK. Normal fields map to creditor properties; top-level delivery fields are normalized into BranchTable and top-level contact fields are normalized into ContactTable when explicit arrays are not supplied. This is the full human payload reference for Creditor Maintenance. The connector writes normal fields through AutoCount DLL properties and writes branches/contacts through AutoCount DLL child DataTables, then reloads the creditor and returns writeVerification.notMapped, writeVerification.notPersisted, and writeVerification.childRows when AutoCount does not expose or persist a requested value. If top-level deliveryAddress fields are supplied without branches, the connector creates/updates an AutoCount BranchTable row using branchCode or HQ. If top-level contactPerson/contactName/contact fields are supplied without contacts, the connector creates/updates an AutoCount ContactTable row.

create-debtor write Create Create a debtor/customer.

Full payload schema: /v1/schema/commands/create-debtor

Payload fields

accNo
required debtor/customer account code
companyName
required customer company/name
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
postCode
optional billing postcode; connector tries AutoCount postcode/postal code SDK aliases and verifies read-back
contactPerson
optional contact person; also creates/updates an AutoCount ContactTable row when contacts array is not supplied
deliveryAddress1
optional delivery address line 1
deliveryAddress2
optional delivery address line 2
deliveryAddress3
optional delivery address line 3
deliveryAddress4
optional delivery address line 4
deliveryPostCode
optional delivery postcode for the default delivery branch row
deliveryContact
optional delivery contact for the default delivery branch row
contacts
optional array of contact persons written through AutoCount DLL ContactTable; supports name/contactName, department, title/designation, mobilePhone/mobile/phone, directPhone, directFax, emailAddress/email, imAddress, note, openingBonusPoint, includeInContactInfo
branches
optional array of debtor branch records written through AutoCount DLL BranchTable; supports branchCode/code, branchName/name, address1-4, postCode, contact/attention, phone1/2, fax1/2, areaCode, salesAgent, purchaseAgent, emailAddress/email, mobile, taxEntityID, isActive
phone1
optional primary phone
phone2
optional secondary phone
emailAddress
optional email address
currencyCode
optional currency code such as MYR
taxCode
optional tax code/type
taxEntityID
optional Tax Entity Maintenance numeric ID to link this debtor to e-Invoice/tax entity details
controlAccount
optional book-specific debtor control account; connector local-mvp-2026.10.06.02+ preserves existing value on update, uses SDK default or unique SDC account on create, and rejects ambiguity; older builds must send the correct explicit controlAccount; never assume a universal account number
isActive
optional boolean active flag
desc2
optional second name/description
debtorType
optional Debtor Type Maintenance code
area
optional Area Maintenance code
salesAgent
optional Sales Agent Maintenance code
branchCode
optional branch code for multi-branch/customer branch usage
displayTerm
optional Credit Term Maintenance value such as C.O.D. or 30 DAYS
priceCategory
optional Price Category Maintenance code
creditLimit
optional credit limit amount
overdueLimit
optional overdue limit amount or days depending on AutoCount setup
statementType
optional statement type if the account book uses it
allowExceedCreditLimit
optional boolean if AutoCount/account-book policy exposes it
attention
optional contact attention person
fax1
optional fax
website
optional website
registrationNo
optional company registration number
taxRegisterNo
optional SST/tax registration number
businessNature
optional business nature
remark1
optional remark field 1
remark2
optional remark field 2

Example JSON

{
  "accNo": "300-API",
  "companyName": "API Customer Sdn Bhd",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "postCode": "50000",
  "contactPerson": "Lim Accounts",
  "deliveryAddress1": "Warehouse 1",
  "deliveryAddress2": "Industrial Park",
  "deliveryPostCode": "40100",
  "deliveryContact": "Store Receiver",
  "phone1": "03-11111111",
  "phone2": "012-3456789",
  "emailAddress": "customer@example.com",
  "currencyCode": "MYR",
  "taxCode": "SST",
  "taxEntityID": 1,
  "isActive": true,
  "desc2": "API Customer Trading Name",
  "debtorType": "CUS",
  "area": "KL",
  "salesAgent": "SA01",
  "branchCode": "HQ",
  "displayTerm": "30 DAYS",
  "priceCategory": "API",
  "creditLimit": 50000,
  "overdueLimit": 30,
  "statementType": "Open Item",
  "allowExceedCreditLimit": false,
  "attention": "Accounts Department",
  "fax1": "03-11111112",
  "website": "https://customer.example.com",
  "registrationNo": "202601000001",
  "taxRegisterNo": "SST-300-API",
  "businessNature": "Trading",
  "remark1": "Created by API",
  "remark2": "Credit control example",
  "deliveryAddress3": "Shah Alam",
  "deliveryAddress4": "Malaysia",
  "contacts": [
    {
      "name": "Lim Accounts",
      "department": "Finance",
      "designation": "Accounts",
      "mobilePhone": "012-1111111",
      "directPhone": "03-11111113",
      "emailAddress": "accounts@example.com",
      "includeInContactInfo": true
    }
  ],
  "branches": [
    {
      "branchCode": "HQ",
      "branchName": "Head Office",
      "address1": "No. 1 Jalan API",
      "address2": "Taman Integration",
      "postCode": "50000",
      "contact": "Lim Accounts",
      "phone1": "03-11111111",
      "emailAddress": "hq@example.com",
      "taxEntityID": 1,
      "isActive": true
    }
  ]
}

Notes: Creates customer master data through AutoCount SDK. Normal fields map to debtor properties; top-level delivery fields are normalized into BranchTable and top-level contact fields are normalized into ContactTable when explicit arrays are not supplied. This is the full human payload reference for Debtor Maintenance. The connector writes normal fields through AutoCount DLL properties and writes branches/contacts through AutoCount DLL child DataTables, then reloads the debtor and returns writeVerification.notMapped, writeVerification.notPersisted, and writeVerification.childRows when AutoCount does not expose or persist a requested value. If top-level deliveryAddress fields are supplied without branches, the connector creates/updates an AutoCount BranchTable row using branchCode or HQ. If top-level contactPerson/contactName/contact fields are supplied without contacts, the connector creates/updates an AutoCount ContactTable row.

create-item write Create Create a stock item. Supports proven UOM, sub-code, price, opening balance, BOM, and replacement child rows.

Full payload schema: /v1/schema/commands/create-item

Payload fields

itemCode
required stock item code
description
required item description
desc2
optional second description
furtherDescription
optional long/further description
templateItemCode
optional template item to copy defaults from
baseUom
optional base UOM
salesUom
optional sales UOM
purchaseUom
optional purchase UOM
reportUom
optional report UOM
itemGroup
optional Item Group code
itemType
optional AutoCount item type such as Stock, Service, Non-Stock
taxCode
optional sales tax code
purchaseTaxCode
optional purchase tax code
isSalesItem
optional boolean
isPurchaseItem
optional boolean
stockControl
optional boolean
hasBatchNo
optional boolean
hasSerialNo
optional boolean
snFormatName
optional serial number format name
isActive
optional boolean
uoms
optional array of distinct UOM rows written through AutoCount DLL ItemUomTable; each row requires uom and may contain rate, shelf, price/sellingPrice, cost/purchasePrice, minSalePrice, maxSalePrice, minPurchasePrice, maxPurchasePrice, minQty (ItemUomTable.MinQty), maxQty (ItemUomTable.MaxQty), normalLevel (ItemUomTable.NormalLevel), reorderLevel (ItemUomTable.ReOLevel), reorderQty (ItemUomTable.ReOQty), barCode (string, per UOM), price2-price6, weight, weightUom, measurement, userDefinedFields, and nativeFields for Any writable ItemUomTable column except system-managed fields. Additional exposed writable columns may be supplied by their native name. Unknown/read-only/system fields, duplicate UOMs and conflicting aliases fail before save. Every supplied UOM field is compared after reload, including empty/null values and exact barcode text. Omitted fields remain unchanged. Top-level barCode is rejected; use uoms[].barCode.
subCodes
optional array of item sub-code rows written through AutoCount DLL ItemSubCodeTable; supports subCode/code and uom
priceBooks
optional array of item price book rows written through AutoCount DLL ItemPriceBook; supports ref, uom, priceCategory, fixedPrice/price, fixedDetailDiscount, qty1-price4/detailDiscount4, focLevel, focQty, bonusPointQty, bonusPoint
customerPrices
optional array of customer-specific price rows written through AutoCount DLL ItemCustomerPrice; supports ref, uom, debtorCode/accNo, currencyCode, suppCustItemCode/customerItemCode, fixedPrice/price, fixedDetailDiscount, qty1-price4/detailDiscount4, focLevel, focQty, bonusPointQty, bonusPoint
supplierPrices
optional array of supplier-specific price rows written through AutoCount DLL ItemSupplierPrice; supports ref, uom, creditorCode/accNo, currencyCode, suppCustItemCode/supplierItemCode, fixedPrice/price, fixedDetailDiscount, qty1-price4/detailDiscount4, focLevel, focQty, bonusPointQty, bonusPoint
openingBalances
optional array of opening balance rows written through AutoCount DLL ItemOpeningBalance; supports location, uom, batchNo, qty, cost/unitCost, project/projNo, department/deptNo, docDate
bomRows
optional array of BOM component rows written through AutoCount DLL ItemBOMTable; supports subItemCode/componentItemCode, qty, overheadCost, seq, costFraction, description
replacements
optional array of replacement item rows written through AutoCount DLL ItemReplacementTable; supports replacementItemCode, replacementDegree/degree, note
batchNo
optional first batch number to create
batchDescription
optional first batch description
itemBrand
optional brand
itemCategory
optional category
itemClass
optional class
tariffCode
optional tariff/customs code
defaultLocation
optional default stock location
costingMethod
optional costing method where AutoCount allows it
standardCost
optional standard cost
minimumSellingPrice
optional minimum selling price
sellingPrice
optional default selling price
purchasePrice
optional default purchase price
reorderLevel
optional reorder quantity/level
normalLevel
optional normal stock level
minimumLevel
optional minimum stock level
maximumLevel
optional maximum stock level
remark1
optional remark field 1
remark2
optional remark field 2

Example JSON

{
  "itemCode": "API-ITEM",
  "description": "API Test Item",
  "desc2": "API Item Second Description",
  "furtherDescription": "Long item note visible in AutoCount item detail.",
  "templateItemCode": "00004",
  "baseUom": "UNIT",
  "salesUom": "UNIT",
  "purchaseUom": "UNIT",
  "reportUom": "UNIT",
  "itemGroup": "FG",
  "itemType": "Stock",
  "taxCode": "S-0",
  "purchaseTaxCode": "P-0",
  "isSalesItem": true,
  "isPurchaseItem": true,
  "stockControl": true,
  "hasBatchNo": false,
  "hasSerialNo": false,
  "isActive": true,
  "uoms": [
    {
      "uom": "UNIT",
      "rate": 1,
      "price": 100,
      "cost": 80,
      "barCode": "9550000000011",
      "minSalePrice": 90,
      "maxSalePrice": 9999,
      "minQty": 15,
      "maxQty": 200
    },
    {
      "uom": "BOX",
      "rate": 12,
      "price": 1200,
      "cost": 960,
      "barCode": "9550000000012"
    }
  ],
  "subCodes": [
    {
      "subCode": "ALT-API-ITEM",
      "uom": "UNIT"
    }
  ],
  "priceBooks": [
    {
      "ref": "PB-API-ITEM",
      "priceCategory": "RETAIL",
      "uom": "UNIT",
      "fixedPrice": 100,
      "qty1": 1,
      "price1": 100
    }
  ],
  "customerPrices": [
    {
      "ref": "CP-API-ITEM",
      "debtorCode": "300-A001",
      "currencyCode": "MYR",
      "uom": "UNIT",
      "customerItemCode": "CUST-API-ITEM",
      "fixedPrice": 95,
      "qty1": 1,
      "price1": 95
    }
  ],
  "supplierPrices": [
    {
      "ref": "SP-API-ITEM",
      "creditorCode": "400-S001",
      "currencyCode": "MYR",
      "uom": "UNIT",
      "supplierItemCode": "SUP-API-ITEM",
      "fixedPrice": 80,
      "qty1": 1,
      "price1": 80
    }
  ],
  "openingBalances": [
    {
      "location": "HQ",
      "qty": 10,
      "uom": "UNIT",
      "unitCost": 80,
      "batchNo": "BATCH-001",
      "docDate": "2026-07-26"
    }
  ],
  "bomRows": [
    {
      "subItemCode": "API-COMPONENT",
      "qty": 2,
      "overheadCost": 0,
      "seq": 1,
      "costFraction": 1
    }
  ],
  "replacements": [
    {
      "replacementItemCode": "API-REPLACEMENT",
      "replacementDegree": 1,
      "note": "Alternative item"
    }
  ],
  "itemBrand": "MACSOFT",
  "itemCategory": "API",
  "itemClass": "A",
  "tariffCode": "8471.30",
  "defaultLocation": "HQ",
  "costingMethod": "Weighted Average",
  "standardCost": 80,
  "minimumSellingPrice": 90,
  "sellingPrice": 100,
  "purchasePrice": 80,
  "reorderLevel": 10,
  "normalLevel": 50,
  "minimumLevel": 5,
  "maximumLevel": 200,
  "snFormatName": "",
  "batchNo": "BATCH-001",
  "batchDescription": "Opening API batch",
  "remark1": "Created by API",
  "remark2": "Stock item full payload example"
}

Notes: Creates item master data through AutoCount SDK. Proven child table rows are written through AutoCount DLL DataTables and verified after save in writeVerification.childRows. Connector checks the child DataTable column exists, writes nativeFields, reloads the item and verifies every requested native field. This is the full human payload reference for Stock Item Maintenance. The connector writes proven UOM rows, item sub-codes, price book rows, customer prices, supplier prices, opening balances, BOM rows, and replacement rows through AutoCount DLL child DataTables, then reloads the item and returns writeVerification.childRows. Batch rows use AutoCount NewItemBatch where enabled.

delete-creditor write Delete Guarded delete request for a creditor/supplier.

Full payload schema: /v1/schema/commands/delete-creditor

Payload fields

accNo
required
reason
required business reason

Example JSON

{
  "accNo": "400-S001",
  "reason": "remove inactive duplicate"
}

Notes: Returns deleteBlocked until AutoCount SDK delete safety and linked-transaction checks are proven. Prefer inactive/discontinued flags.

delete-debtor write Delete Guarded delete request for a debtor/customer.

Full payload schema: /v1/schema/commands/delete-debtor

Payload fields

accNo
required
reason
required business reason

Example JSON

{
  "accNo": "300-A001",
  "reason": "remove inactive duplicate"
}

Notes: Returns deleteBlocked until AutoCount SDK delete safety and linked-transaction checks are proven. Prefer inactive/discontinued flags.

delete-item write Delete Guarded delete request for a stock item.

Full payload schema: /v1/schema/commands/delete-item

Payload fields

itemCode
required
reason
required business reason

Example JSON

{
  "itemCode": "ITEM001",
  "reason": "remove inactive duplicate"
}

Notes: Returns deleteBlocked until AutoCount SDK delete safety and linked-transaction checks are proven. Prefer inactive/discontinued flags.

delete-item-price-books write Delete Delete Item Price Book rows safely.

Full payload schema: /v1/schema/commands/delete-item-price-books

Payload fields

rows
required array, maximum 500. Prefer {rowKey}. For duplicate cleanup only, send itemCode + uom + priceCategory + accNo + keepOne:true.

Example JSON

{
  "rows": [
    {
      "rowKey": "12345"
    }
  ]
}

Notes: Deletes through AutoCount ItemDataAccess and verifies removal after reload. Natural-key cleanup preserves one row. Deletes through AutoCount ItemDataAccess and reloads for verification. Natural-key deletion never removes the final row; keepOne:true removes only duplicates after the first row.

list-item-price-books read Read List Item Price Book rows safely.

Full payload schema: /v1/schema/commands/list-item-price-books

Payload fields

itemCodes
optional array of up to 500 item codes; omit to list item codes that have Item Price Book rows
priceCategories
optional price-category filter array
uoms
optional UOM filter array
includeDebtorRows
optional boolean; false excludes rows whose AccNo is populated
offset
optional zero-based result offset
limit
optional returned-row limit, maximum 5000

Example JSON

{
  "itemCodes": [
    "ITEM001",
    "ITEM002"
  ],
  "priceCategories": [
    "RETAIL"
  ],
  "limit": 1000
}

Notes: Returns stable rowKey and the natural key itemCode + UOM + priceCategory + AccNo. modifiedSince is rejected because the SDK table has no modification timestamp. Read-only AutoCount DLL listing. Returns stable rowKey (ItemPriceKey), itemCode, uom, priceCategory, accNo, fixed and tier prices. modifiedSince is rejected because this AutoCount table has no modification timestamp.

read-default-accounts read Read Read default posting accounts used by validate/create commands.

Full payload schema: /v1/schema/commands/read-default-accounts

Payload fields

No payload fields required.

Example JSON

{}
update-creditor write Edit Update a creditor/supplier.

Full payload schema: /v1/schema/commands/update-creditor

Payload fields

accNo
required creditor/supplier account code
companyName
required supplier company/name
address1
optional supplier address line 1
address2
optional supplier address line 2
address3
optional supplier address line 3
address4
optional supplier address line 4
postCode
optional billing/postal postcode; connector tries AutoCount postcode/postal code SDK aliases and verifies read-back
contactPerson
optional contact person; also creates/updates an AutoCount ContactTable row when contacts array is not supplied
deliveryAddress1
optional branch/delivery address line 1
contacts
optional array of contact persons written through AutoCount DLL ContactTable; supports name/contactName, department, title/designation, mobilePhone/mobile/phone, directPhone, directFax, emailAddress/email, imAddress, note, openingBonusPoint, includeInContactInfo
branches
optional array of creditor branch records written through AutoCount DLL BranchTable; supports branchCode/code, branchName/name, address1-4, postCode, contact/attention, phone1/2, fax1/2, areaCode, salesAgent, purchaseAgent, emailAddress/email, mobile, taxEntityID, isActive
phone1
optional primary phone
phone2
optional secondary phone
emailAddress
optional email address
currencyCode
optional currency code such as MYR
taxCode
optional tax code/type
taxEntityID
optional Tax Entity Maintenance numeric ID to link this creditor to e-Invoice/tax entity details
controlAccount
optional book-specific creditor control account; connector local-mvp-2026.10.06.02+ preserves existing value on update, uses SDK default or unique SCC account on create, and rejects ambiguity; older builds must send the correct explicit controlAccount; never assume a universal account number
isActive
optional boolean active flag
desc2
optional second name/description
creditorType
optional Creditor Type Maintenance code
area
optional Area Maintenance code
purchaseAgent
optional Purchase Agent Maintenance code
branchCode
optional branch code for multi-branch/supplier branch usage
displayTerm
optional Credit Term Maintenance value such as C.O.D. or 30 DAYS
creditLimit
optional supplier credit limit amount if used
overdueLimit
optional overdue limit amount or days depending on AutoCount setup
attention
optional contact attention person
fax1
optional fax
website
optional website
registrationNo
optional company registration number
taxRegisterNo
optional SST/tax registration number
businessNature
optional business nature
remark1
optional remark field 1
remark2
optional remark field 2
deliveryAddress2
optional branch/delivery address line 2
deliveryAddress3
optional branch/delivery address line 3
deliveryAddress4
optional branch/delivery address line 4
deliveryPostCode
optional branch/delivery postcode for the default branch row
deliveryContact
optional branch/delivery contact for the default branch row

Example JSON

{
  "accNo": "400-API",
  "companyName": "API Supplier Sdn Bhd Updated",
  "contactPerson": "Tan Supplier",
  "deliveryAddress1": "Supplier Warehouse",
  "phone1": "03-33333333",
  "emailAddress": "supplier@example.com",
  "taxEntityID": 1,
  "isActive": true,
  "desc2": "API Supplier Trading Name",
  "creditorType": "SUP",
  "area": "PJ",
  "purchaseAgent": "PA01",
  "branchCode": "HQ",
  "displayTerm": "30 DAYS",
  "currencyCode": "MYR",
  "taxCode": "SST",
  "creditLimit": 30000,
  "overdueLimit": 30,
  "address1": "No. 2 Jalan API",
  "address2": "Supplier Park",
  "address3": "Petaling Jaya",
  "address4": "Malaysia",
  "postCode": "46000",
  "attention": "Supplier Accounts",
  "phone2": "019-8888888",
  "fax1": "03-33333334",
  "website": "https://supplier.example.com",
  "registrationNo": "202602000002",
  "taxRegisterNo": "SST-400-API",
  "businessNature": "Supplier",
  "remark1": "Created by API",
  "remark2": "Supplier credit control example",
  "deliveryAddress2": "Logistics Park",
  "deliveryPostCode": "46000",
  "deliveryContact": "Supplier Store",
  "contacts": [
    {
      "name": "Tan Supplier",
      "department": "Finance",
      "designation": "Accounts",
      "mobilePhone": "019-1111111",
      "directPhone": "03-33333335",
      "emailAddress": "supplier-accounts@example.com",
      "includeInContactInfo": true
    }
  ],
  "branches": [
    {
      "branchCode": "HQ",
      "branchName": "Head Office",
      "address1": "No. 2 Jalan API",
      "address2": "Supplier Park",
      "postCode": "46000",
      "contact": "Tan Supplier",
      "phone1": "03-33333333",
      "emailAddress": "supplier-hq@example.com",
      "taxEntityID": 1,
      "isActive": true
    }
  ]
}

Notes: Updates supplier/creditor master data through AutoCount SDK using the same supported fields as create-creditor. This is the full human payload reference for Creditor Maintenance. The connector writes normal fields through AutoCount DLL properties and writes branches/contacts through AutoCount DLL child DataTables, then reloads the creditor and returns writeVerification.notMapped, writeVerification.notPersisted, and writeVerification.childRows when AutoCount does not expose or persist a requested value. If top-level deliveryAddress fields are supplied without branches, the connector creates/updates an AutoCount BranchTable row using branchCode or HQ. If top-level contactPerson/contactName/contact fields are supplied without contacts, the connector creates/updates an AutoCount ContactTable row.

update-debtor write Edit Update a debtor/customer.

Full payload schema: /v1/schema/commands/update-debtor

Payload fields

accNo
required debtor/customer account code
companyName
required customer company/name
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
postCode
optional billing postcode; connector tries AutoCount postcode/postal code SDK aliases and verifies read-back
contactPerson
optional contact person; also creates/updates an AutoCount ContactTable row when contacts array is not supplied
deliveryAddress1
optional delivery address line 1
deliveryAddress2
optional delivery address line 2
deliveryAddress3
optional delivery address line 3
deliveryAddress4
optional delivery address line 4
deliveryPostCode
optional delivery postcode for the default delivery branch row
deliveryContact
optional delivery contact for the default delivery branch row
contacts
optional array of contact persons written through AutoCount DLL ContactTable; supports name/contactName, department, title/designation, mobilePhone/mobile/phone, directPhone, directFax, emailAddress/email, imAddress, note, openingBonusPoint, includeInContactInfo
branches
optional array of debtor branch records written through AutoCount DLL BranchTable; supports branchCode/code, branchName/name, address1-4, postCode, contact/attention, phone1/2, fax1/2, areaCode, salesAgent, purchaseAgent, emailAddress/email, mobile, taxEntityID, isActive
phone1
optional primary phone
phone2
optional secondary phone
emailAddress
optional email address
currencyCode
optional currency code such as MYR
taxCode
optional tax code/type
taxEntityID
optional Tax Entity Maintenance numeric ID to link this debtor to e-Invoice/tax entity details
controlAccount
optional book-specific debtor control account; connector local-mvp-2026.10.06.02+ preserves existing value on update, uses SDK default or unique SDC account on create, and rejects ambiguity; older builds must send the correct explicit controlAccount; never assume a universal account number
isActive
optional boolean active flag
desc2
optional second name/description
debtorType
optional Debtor Type Maintenance code
area
optional Area Maintenance code
salesAgent
optional Sales Agent Maintenance code
branchCode
optional branch code for multi-branch/customer branch usage
displayTerm
optional Credit Term Maintenance value such as C.O.D. or 30 DAYS
priceCategory
optional Price Category Maintenance code
creditLimit
optional credit limit amount
overdueLimit
optional overdue limit amount or days depending on AutoCount setup
statementType
optional statement type if the account book uses it
allowExceedCreditLimit
optional boolean if AutoCount/account-book policy exposes it
attention
optional contact attention person
fax1
optional fax
website
optional website
registrationNo
optional company registration number
taxRegisterNo
optional SST/tax registration number
businessNature
optional business nature
remark1
optional remark field 1
remark2
optional remark field 2

Example JSON

{
  "accNo": "300-API",
  "companyName": "API Customer Sdn Bhd Updated",
  "contactPerson": "Lim Accounts",
  "deliveryAddress1": "Warehouse 1",
  "phone1": "03-11111111",
  "emailAddress": "customer@example.com",
  "taxEntityID": 1,
  "isActive": true,
  "desc2": "API Customer Trading Name",
  "debtorType": "CUS",
  "area": "KL",
  "salesAgent": "SA01",
  "branchCode": "HQ",
  "displayTerm": "30 DAYS",
  "currencyCode": "MYR",
  "taxCode": "SST",
  "priceCategory": "API",
  "creditLimit": 50000,
  "overdueLimit": 30,
  "statementType": "Open Item",
  "allowExceedCreditLimit": false,
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "postCode": "50000",
  "attention": "Accounts Department",
  "phone2": "012-3456789",
  "fax1": "03-11111112",
  "website": "https://customer.example.com",
  "registrationNo": "202601000001",
  "taxRegisterNo": "SST-300-API",
  "businessNature": "Trading",
  "remark1": "Created by API",
  "remark2": "Credit control example",
  "deliveryAddress2": "Industrial Park",
  "deliveryAddress3": "Shah Alam",
  "deliveryAddress4": "Malaysia",
  "deliveryPostCode": "40100",
  "deliveryContact": "Store Receiver",
  "contacts": [
    {
      "name": "Lim Accounts",
      "department": "Finance",
      "designation": "Accounts",
      "mobilePhone": "012-1111111",
      "directPhone": "03-11111113",
      "emailAddress": "accounts@example.com",
      "includeInContactInfo": true
    }
  ],
  "branches": [
    {
      "branchCode": "HQ",
      "branchName": "Head Office",
      "address1": "No. 1 Jalan API",
      "address2": "Taman Integration",
      "postCode": "50000",
      "contact": "Lim Accounts",
      "phone1": "03-11111111",
      "emailAddress": "hq@example.com",
      "taxEntityID": 1,
      "isActive": true
    }
  ]
}

Notes: Updates debtor/customer master data through AutoCount SDK using the same supported fields as create-debtor. This is the full human payload reference for Debtor Maintenance. The connector writes normal fields through AutoCount DLL properties and writes branches/contacts through AutoCount DLL child DataTables, then reloads the debtor and returns writeVerification.notMapped, writeVerification.notPersisted, and writeVerification.childRows when AutoCount does not expose or persist a requested value. If top-level deliveryAddress fields are supplied without branches, the connector creates/updates an AutoCount BranchTable row using branchCode or HQ. If top-level contactPerson/contactName/contact fields are supplied without contacts, the connector creates/updates an AutoCount ContactTable row.

update-item write Edit Update a stock item.

Full payload schema: /v1/schema/commands/update-item

Payload fields

itemCode
required stock item code
description
required item description
desc2
optional second description
furtherDescription
optional long/further description
baseUom
optional base UOM
salesUom
optional sales UOM
purchaseUom
optional purchase UOM
reportUom
optional report UOM
itemGroup
optional Item Group code
itemType
optional AutoCount item type such as Stock, Service, Non-Stock
taxCode
optional sales tax code
purchaseTaxCode
optional purchase tax code
isSalesItem
optional boolean
isPurchaseItem
optional boolean
stockControl
optional boolean
hasBatchNo
optional boolean
hasSerialNo
optional boolean
snFormatName
optional serial number format name
isActive
optional boolean
uoms
optional array of distinct UOM rows written through AutoCount DLL ItemUomTable; each row requires uom and may contain rate, shelf, price/sellingPrice, cost/purchasePrice, minSalePrice, maxSalePrice, minPurchasePrice, maxPurchasePrice, minQty (ItemUomTable.MinQty), maxQty (ItemUomTable.MaxQty), normalLevel (ItemUomTable.NormalLevel), reorderLevel (ItemUomTable.ReOLevel), reorderQty (ItemUomTable.ReOQty), barCode (string, per UOM), price2-price6, weight, weightUom, measurement, userDefinedFields, and nativeFields for Any writable ItemUomTable column except system-managed fields. Additional exposed writable columns may be supplied by their native name. Unknown/read-only/system fields, duplicate UOMs and conflicting aliases fail before save. Every supplied UOM field is compared after reload, including empty/null values and exact barcode text. Omitted fields remain unchanged. Top-level barCode is rejected; use uoms[].barCode.
subCodes
optional array of item sub-code rows written through AutoCount DLL ItemSubCodeTable; supports subCode/code and uom
priceBooks
optional array of item price book rows written through AutoCount DLL ItemPriceBook; supports ref, uom, priceCategory, fixedPrice/price, fixedDetailDiscount, qty1-price4/detailDiscount4, focLevel, focQty, bonusPointQty, bonusPoint
customerPrices
optional array of customer-specific price rows written through AutoCount DLL ItemCustomerPrice; supports ref, uom, debtorCode/accNo, currencyCode, suppCustItemCode/customerItemCode, fixedPrice/price, fixedDetailDiscount, qty1-price4/detailDiscount4, focLevel, focQty, bonusPointQty, bonusPoint
supplierPrices
optional array of supplier-specific price rows written through AutoCount DLL ItemSupplierPrice; supports ref, uom, creditorCode/accNo, currencyCode, suppCustItemCode/supplierItemCode, fixedPrice/price, fixedDetailDiscount, qty1-price4/detailDiscount4, focLevel, focQty, bonusPointQty, bonusPoint
openingBalances
optional array of opening balance rows written through AutoCount DLL ItemOpeningBalance; supports location, uom, batchNo, qty, cost/unitCost, project/projNo, department/deptNo, docDate
bomRows
optional array of BOM component rows written through AutoCount DLL ItemBOMTable; supports subItemCode/componentItemCode, qty, overheadCost, seq, costFraction, description
replacements
optional array of replacement item rows written through AutoCount DLL ItemReplacementTable; supports replacementItemCode, replacementDegree/degree, note
batchNo
optional first batch number to create
batchDescription
optional first batch description
templateItemCode
optional template item to copy defaults from
itemBrand
optional brand
itemCategory
optional category
itemClass
optional class
tariffCode
optional tariff/customs code
defaultLocation
optional default stock location
costingMethod
optional costing method where AutoCount allows it
standardCost
optional standard cost
minimumSellingPrice
optional minimum selling price
sellingPrice
optional default selling price
purchasePrice
optional default purchase price
reorderLevel
optional reorder quantity/level
normalLevel
optional normal stock level
minimumLevel
optional minimum stock level
maximumLevel
optional maximum stock level
remark1
optional remark field 1
remark2
optional remark field 2

Example JSON

{
  "itemCode": "API-ITEM",
  "description": "Updated API Test Item",
  "desc2": "API Item Second Description",
  "isSalesItem": true,
  "isPurchaseItem": true,
  "stockControl": true,
  "isActive": true,
  "uoms": [
    {
      "uom": "UNIT",
      "rate": 1,
      "price": 100,
      "cost": 80,
      "barCode": "9550000000011",
      "minSalePrice": 90,
      "maxSalePrice": 9999,
      "minQty": 15,
      "maxQty": 200
    },
    {
      "uom": "BOX",
      "rate": 12,
      "price": 1200,
      "cost": 960,
      "barCode": "9550000000012"
    }
  ],
  "subCodes": [
    {
      "subCode": "ALT-API-ITEM",
      "uom": "UNIT"
    }
  ],
  "priceBooks": [
    {
      "ref": "PB-API-ITEM",
      "priceCategory": "RETAIL",
      "uom": "UNIT",
      "fixedPrice": 100,
      "qty1": 1,
      "price1": 100
    }
  ],
  "furtherDescription": "Long item note visible in AutoCount item detail.",
  "templateItemCode": "00004",
  "itemGroup": "FG",
  "itemType": "Stock",
  "itemBrand": "MACSOFT",
  "itemCategory": "API",
  "itemClass": "A",
  "tariffCode": "8471.30",
  "baseUom": "UNIT",
  "salesUom": "UNIT",
  "purchaseUom": "UNIT",
  "reportUom": "UNIT",
  "taxCode": "S-0",
  "purchaseTaxCode": "P-0",
  "defaultLocation": "HQ",
  "costingMethod": "Weighted Average",
  "standardCost": 80,
  "minimumSellingPrice": 90,
  "sellingPrice": 100,
  "purchasePrice": 80,
  "reorderLevel": 10,
  "normalLevel": 50,
  "minimumLevel": 5,
  "maximumLevel": 200,
  "hasBatchNo": false,
  "hasSerialNo": false,
  "snFormatName": "",
  "customerPrices": [
    {
      "ref": "CP-API-ITEM",
      "debtorCode": "300-A001",
      "currencyCode": "MYR",
      "uom": "UNIT",
      "customerItemCode": "CUST-API-ITEM",
      "fixedPrice": 95,
      "qty1": 1,
      "price1": 95
    }
  ],
  "supplierPrices": [
    {
      "ref": "SP-API-ITEM",
      "creditorCode": "400-S001",
      "currencyCode": "MYR",
      "uom": "UNIT",
      "supplierItemCode": "SUP-API-ITEM",
      "fixedPrice": 80,
      "qty1": 1,
      "price1": 80
    }
  ],
  "openingBalances": [
    {
      "location": "HQ",
      "qty": 10,
      "uom": "UNIT",
      "unitCost": 80,
      "batchNo": "BATCH-001",
      "docDate": "2026-07-26"
    }
  ],
  "bomRows": [
    {
      "subItemCode": "API-COMPONENT",
      "qty": 2,
      "overheadCost": 0,
      "seq": 1,
      "costFraction": 1
    }
  ],
  "replacements": [
    {
      "replacementItemCode": "API-REPLACEMENT",
      "replacementDegree": 1,
      "note": "Alternative item"
    }
  ],
  "batchNo": "BATCH-001",
  "batchDescription": "Opening API batch",
  "remark1": "Created by API",
  "remark2": "Stock item full payload example"
}

Notes: Updates item master data through AutoCount SDK. Proven child table rows are written through AutoCount DLL DataTables and verified after save in writeVerification.childRows; requested UOM minQty/maxQty and nativeFields must match the reloaded child table row or the command returns ok=false. Connector checks the child DataTable column exists, writes nativeFields, reloads the item and verifies every requested native field. This is the full human payload reference for Stock Item Maintenance. The connector writes proven UOM rows, item sub-codes, price book rows, customer prices, supplier prices, opening balances, BOM rows, and replacement rows through AutoCount DLL child DataTables, then reloads the item and returns writeVerification.childRows. Batch rows use AutoCount NewItemBatch where enabled.

upsert-item-price-books write write Insert or update Item Price Book rows without duplicates.

Full payload schema: /v1/schema/commands/upsert-item-price-books

Payload fields

rows
required array, maximum 500. Natural key: itemCode + uom + priceCategory + accNo. Supported values include ref, useFixedPrice, fixedPrice, fixedDetailDiscount, qty1-price4, detailDiscount1-detailDiscount4, focLevel, focQty, bonusPointQty and bonusPoint.

Example JSON

{
  "rows": [
    {
      "itemCode": "ITEM001",
      "uom": "UNIT",
      "priceCategory": "RETAIL",
      "accNo": "",
      "useFixedPrice": true,
      "fixedPrice": 12.5
    }
  ]
}

Notes: Groups by item, saves once through AutoCount ItemDataAccess, preserves omitted fields, and reloads all rows for verification. Writes through AutoCount ItemDataAccess, loads and saves each item once, preserves omitted fields, rejects duplicate request keys, and reloads every row for verification. currencyCode is not supported by ItemPriceBook; use ItemCustomerPrice for debtor/currency pricing.

void-creditor write Void Guarded void request for a creditor/supplier.

Full payload schema: /v1/schema/commands/void-creditor

Payload fields

accNo
required
reason
required business reason

Example JSON

{
  "accNo": "400-S001",
  "reason": "void inactive duplicate"
}

Notes: Returns voidBlocked. Prefer inactive/discontinued flags because master records may already be linked to transactions.

void-debtor write Void Guarded void request for a debtor/customer.

Full payload schema: /v1/schema/commands/void-debtor

Payload fields

accNo
required
reason
required business reason

Example JSON

{
  "accNo": "300-A001",
  "reason": "void inactive duplicate"
}

Notes: Returns voidBlocked. Prefer inactive/discontinued flags because master records may already be linked to transactions.

void-item write Void Guarded void request for a stock item.

Full payload schema: /v1/schema/commands/void-item

Payload fields

itemCode
required
reason
required business reason

Example JSON

{
  "itemCode": "ITEM001",
  "reason": "void inactive duplicate"
}

Notes: Returns voidBlocked. Prefer inactive/discontinued flags because master records may already be linked to transactions.

POS3 commandsRead 2write 1
change-member-no write write Change a POS member number.

Full payload schema: /v1/schema/commands/change-member-no

Payload fields

oldMemberNo
required old value for oldMemberNo
newMemberNo
required new value for newMemberNo
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example JSON

{
  "oldMemberNo": "OLD-MEMBER",
  "newMemberNo": "NEW-MEMBER",
  "confirm": true
}

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

get-pos-raw-transaction read Read Get one POS receipt raw AutoCount bundle through AutoCount POS DLL only.

Full payload schema: /v1/schema/commands/get-pos-raw-transaction

Payload fields

docKey
required AutoCount POS DocKey from list-pos-raw-transactions, unless guid is supplied
guid
optional POS Guid alternative to docKey

Example JSON

{
  "docKey": 3000152
}

Notes: Connector auto-detects AutoCount POS 5.2 Backend and calls AutoCount.POS.Data.PosCommand.GetPos(docKey/guid). Returns raw header, detail, payment, promotion, modifier, delivery, serial, and related child DataTables exposed by the DLL. No direct SQL read is used.

list-pos-raw-transactions read Read List POS sales/receipt rows through AutoCount POS DLL only.

Full payload schema: /v1/schema/commands/list-pos-raw-transactions

Payload fields

fromDate
optional YYYY-MM-DD, default connector PC today; normal calendar-day mode
toDate
optional YYYY-MM-DD, inclusive end-of-day in normal calendar-day mode
fromDateTime
optional exact start date/time, for example 2026-08-01T00:00:00
toDateTime
optional exact end date/time, for example 2026-08-02T02:00:00
businessDate
optional POS business date. Use this when a shop opens past midnight and 1AM sales should belong to the previous business day.
businessDayStartTime
optional HH:mm start time for businessDate, default 00:00
businessDayEndTime
optional HH:mm close time for businessDate. Early-morning close times up to 06:00 automatically mean next calendar day, e.g. 02:00 means businessDate+1 02:00.
businessDayEndHour
optional shortcut integer 0-23, e.g. 2 means businessDayEndTime 02:00
businessDayEndNextDay
optional boolean override. Default true for early-morning close times up to 06:00; set false only when 02:00 means same calendar day.
filterByDateType
optional PaymentTime, CreatedTime, or TaxInvoiceDate. Do not use DocDate because AutoCount POS DLL reports it as ambiguous.
transactionStatus
optional Valid, All, or Void; default Valid
maxRows
optional output row limit, default 100, max 1000

Example JSON

{
  "businessDate": "2026-08-01",
  "businessDayEndTime": "02:00",
  "filterByDateType": "PaymentTime",
  "transactionStatus": "Valid",
  "maxRows": 100
}

Notes: Connector auto-detects AutoCount POS 5.2 Backend and calls AutoCount.POS.Report.CashReceipt.CashReceiptReport.Inquire. Returns raw DLL DataTables: CashReceiptReportDataTable, PaymentDetailDataTable, and CashReceiptReportDistinctDataTable. For shops closing after midnight, use businessDate + businessDayEndTime so receipts after 12AM, such as 00:00-02:00, are included in the previous business day. No direct SQL read is used.

Purchase54 commandsRead 17Validate 5Create 5Edit 6Void 10Delete 5Transfer 4write 2
cancel-cash-purchase write Void Cancel a cash purchase when AutoCount allows it.

Full payload schema: /v1/schema/commands/cancel-cash-purchase

Payload fields

docNo
required document number
reason
optional cancellation reason

Example JSON

{
  "docNo": "CP-000001",
  "reason": "cancelled by API request"
}

Notes: Cancellation depends on AutoCount posting/link status and account-book permissions.

cancel-goods-received-note write Void Cancel a goods received note when AutoCount allows it.

Full payload schema: /v1/schema/commands/cancel-goods-received-note

Payload fields

docNo
required document number
reason
optional cancellation reason

Example JSON

{
  "docNo": "GRN-000001",
  "reason": "cancelled by API request"
}

Notes: Cancellation depends on AutoCount posting/link status and account-book permissions.

cancel-purchase-invoice write Void Cancel a purchase invoice when AutoCount allows it.

Full payload schema: /v1/schema/commands/cancel-purchase-invoice

Payload fields

docNo
required document number
reason
optional cancellation reason

Example JSON

{
  "docNo": "PI-000001",
  "reason": "cancelled by API request"
}

Notes: Cancellation depends on AutoCount posting/link status and account-book permissions.

cancel-purchase-order write Void Cancel a purchase order when AutoCount allows it.

Full payload schema: /v1/schema/commands/cancel-purchase-order

Payload fields

docNo
required document number
reason
optional cancellation reason

Example JSON

{
  "docNo": "PO-000001",
  "reason": "cancelled by API request"
}

Notes: Cancellation depends on AutoCount posting/link status and account-book permissions.

cancel-purchase-return write Void Cancel a purchase return when AutoCount allows it.

Full payload schema: /v1/schema/commands/cancel-purchase-return

Payload fields

docNo
required document number
reason
optional cancellation reason

Example JSON

{
  "docNo": "PR-000001",
  "reason": "cancelled by API request"
}

Notes: Cancellation depends on AutoCount posting/link status and account-book permissions.

change-purchase-agent write write Change a purchase agent code.

Full payload schema: /v1/schema/commands/change-purchase-agent

Payload fields

oldAgent
required old value for oldAgent
newAgent
required new value for newAgent
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example JSON

{
  "oldAgent": "OLD-AGENT",
  "newAgent": "NEW-AGENT",
  "confirm": true
}

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

create-cash-purchase write Create Create a cash purchase.

Full payload schema: /v1/schema/commands/create-cash-purchase

Payload fields

creditorCode
required AutoCount creditor/supplier code
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
supplierInvoiceNo
optional supplier invoice number
project
optional project code
projNo
project code alias
projectNo
project code alias
department
optional department code
deptNo
department code alias
items
optional alias for lines
accountNo
optional document-level fallback GL posting account for purchase invoice/cash purchase lines when item/account mapping is not enough
payments
optional array for cash purchase style documents; send multiple payment rows for AutoCount Multi Payment. cash purchase void/delete remains guarded because linked payment/cash-book reversal needs module-specific proof
creditorName
optional supplier display name; AutoCount creditor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional creditor branch code/name where the customer uses branches
purchaseLocation
optional exact active AutoCount purchase/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
purchaseAgent
optional Purchase Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional supplier address line 1
address2
optional supplier address line 2
address3
optional supplier address line 3
address4
optional supplier address line 4
description
optional document description/narration
ref
optional reference
supplierDONo
optional supplier delivery order number
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
postingAccountRule
For create-purchase-invoice and create-cash-purchase, pass lines[].accountNo / accNo / glAccount / postingAccountNo when AutoCount has no default purchase account. Use read-default-accounts.purchaseAccNo or choose a valid purchase/expense account from read-chart-accounts. For create-ap-invoice, if accountNo is omitted the connector also tries the same creditor's recent AP invoice detail account.
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example JSON

{
  "creditorCode": "400-S001",
  "supplierInvoiceNo": "SUP-INV-1001",
  "docDate": "2026-06-24",
  "project": "PRJAPI",
  "projNo": "PRJAPI",
  "department": "HQ",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100,
      "accountNo": "610-0000",
      "project": "PRJAPI",
      "projNo": "PRJAPI"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 100,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "BANK",
      "paymentBy": "Bank Transfer",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    }
  ],
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "purchaseLocation": "HQ",
  "purchaseAgent": "PA01",
  "attention": "Supplier Sales Department",
  "contact": "Supplier Sales Department",
  "phone": "03-33333333",
  "address1": "No. 2 Jalan Supplier",
  "address2": "Supplier Park",
  "address3": "Petaling Jaya",
  "address4": "Malaysia",
  "description": "Purchase document created through API",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API purchase item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 80,
      "discount": "0",
      "taxType": "P-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 160,
      "accountNo": "610-0000",
      "postingAccountNo": "610-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "610-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 80,
      "taxType": "P-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Creates cash purchase when the installed AutoCount SDK exposes the command. If default account is missing, call read-default-accounts and use purchaseAccNo, or choose a valid purchase/expense GL account from read-chart-accounts. Use read-payment-methods first; payments[].paymentMethod must match an active AutoCount Payment Method code, and paymentAmount totals should equal the document total. Line-level project overrides top-level project. Direct void/delete stay guarded until linked payment/cash-book reversal is proven. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. purchaseLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default. For purchase invoice/cash purchase, line accountNo is a GL posting account. If AutoCount says no default account or AI does not know the account, first call read-default-accounts and use purchaseAccNo, or list read-chart-accounts and choose a valid purchase/expense account. For AP invoice, if accountNo is omitted the connector tries payload/default purchase account first, then recent AP invoice history for the same creditor. For cash purchase, create/list/get are supported where AutoCount exposes the command; direct void/delete stay guarded until the linked payment/cash-book reversal workflow is proven.

create-goods-received-note write Create Create a goods received note.

Full payload schema: /v1/schema/commands/create-goods-received-note

Payload fields

creditorCode
required AutoCount creditor/supplier code
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
items
optional alias for lines
creditorName
optional supplier display name; AutoCount creditor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional creditor branch code/name where the customer uses branches
purchaseLocation
optional exact active AutoCount purchase/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
purchaseAgent
optional Purchase Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional supplier address line 1
address2
optional supplier address line 2
address3
optional supplier address line 3
address4
optional supplier address line 4
description
optional document description/narration
ref
optional reference
supplierInvoiceNo
optional supplier invoice number
supplierDONo
optional supplier delivery order number
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional document-level fallback GL posting account for purchase invoice/cash purchase lines when item/account mapping is not enough
postingAccountRule
For create-purchase-invoice and create-cash-purchase, pass lines[].accountNo / accNo / glAccount / postingAccountNo when AutoCount has no default purchase account. Use read-default-accounts.purchaseAccNo or choose a valid purchase/expense account from read-chart-accounts. For create-ap-invoice, if accountNo is omitted the connector also tries the same creditor's recent AP invoice detail account.
payments
optional array for cash purchase style documents; send multiple payment rows for AutoCount Multi Payment. cash purchase void/delete remains guarded because linked payment/cash-book reversal needs module-specific proof
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example JSON

{
  "creditorCode": "400-S001",
  "docDate": "2026-06-24",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "purchaseLocation": "HQ",
  "purchaseAgent": "PA01",
  "attention": "Supplier Sales Department",
  "contact": "Supplier Sales Department",
  "phone": "03-33333333",
  "address1": "No. 2 Jalan Supplier",
  "address2": "Supplier Park",
  "address3": "Petaling Jaya",
  "address4": "Malaysia",
  "description": "Purchase document created through API",
  "supplierInvoiceNo": "SUP-INV-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API purchase item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 80,
      "discount": "0",
      "taxType": "P-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 160,
      "accountNo": "610-0000",
      "postingAccountNo": "610-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "610-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 80,
      "taxType": "P-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 100,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "BANK",
      "paymentBy": "Bank Transfer",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Creates goods received note through AutoCount SDK. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. purchaseLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default. For purchase invoice/cash purchase, line accountNo is a GL posting account. If AutoCount says no default account or AI does not know the account, first call read-default-accounts and use purchaseAccNo, or list read-chart-accounts and choose a valid purchase/expense account. For AP invoice, if accountNo is omitted the connector tries payload/default purchase account first, then recent AP invoice history for the same creditor. For cash purchase, create/list/get are supported where AutoCount exposes the command; direct void/delete stay guarded until the linked payment/cash-book reversal workflow is proven.

create-purchase-invoice write Create Create a purchase invoice; guarded MyInvois type 11 self-billed recovery is supported for TSM.

Full payload schema: /v1/schema/commands/create-purchase-invoice

Payload fields

creditorCode
required AutoCount creditor/supplier code
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
items
optional alias for lines
accountNo
optional document-level fallback GL posting account for purchase invoice/cash purchase lines when item/account mapping is not enough
restoreMode
optional internal recovery value recover-existing-myinvois-direct
confirmNoLhdnSubmit
required true in recovery mode
taxEntity
supplier taxpayer identity required in recovery mode
buyerTaxEntity
buyer taxpayer identity used by self-billed recovery
eInvoiceRecovery
required UUID, timestamps, status, link, totals and tax in recovery mode
creditorName
optional supplier display name; AutoCount creditor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional creditor branch code/name where the customer uses branches
purchaseLocation
optional exact active AutoCount purchase/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
purchaseAgent
optional Purchase Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional supplier address line 1
address2
optional supplier address line 2
address3
optional supplier address line 3
address4
optional supplier address line 4
description
optional document description/narration
ref
optional reference
supplierInvoiceNo
optional supplier invoice number
supplierDONo
optional supplier delivery order number
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
postingAccountRule
For create-purchase-invoice and create-cash-purchase, pass lines[].accountNo / accNo / glAccount / postingAccountNo when AutoCount has no default purchase account. Use read-default-accounts.purchaseAccNo or choose a valid purchase/expense account from read-chart-accounts. For create-ap-invoice, if accountNo is omitted the connector also tries the same creditor's recent AP invoice detail account.
payments
optional array for cash purchase style documents; send multiple payment rows for AutoCount Multi Payment. cash purchase void/delete remains guarded because linked payment/cash-book reversal needs module-specific proof
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example JSON

{
  "creditorCode": "400-S001",
  "docDate": "2026-06-24",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100,
      "accountNo": "610-0000"
    }
  ],
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "purchaseLocation": "HQ",
  "purchaseAgent": "PA01",
  "attention": "Supplier Sales Department",
  "contact": "Supplier Sales Department",
  "phone": "03-33333333",
  "address1": "No. 2 Jalan Supplier",
  "address2": "Supplier Park",
  "address3": "Petaling Jaya",
  "address4": "Malaysia",
  "description": "Purchase document created through API",
  "supplierInvoiceNo": "SUP-INV-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API purchase item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 80,
      "discount": "0",
      "taxType": "P-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 160,
      "accountNo": "610-0000",
      "postingAccountNo": "610-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "610-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 80,
      "taxType": "P-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 100,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "BANK",
      "paymentBy": "Bank Transfer",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Normal create uses AutoCount SDK. If default account is missing, call read-default-accounts and use purchaseAccNo, or choose a valid purchase/expense GL account from read-chart-accounts. Recovery is companyId=tsm only, UUID guarded, reload verified, and does not submit to LHDN. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. purchaseLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default. For purchase invoice/cash purchase, line accountNo is a GL posting account. If AutoCount says no default account or AI does not know the account, first call read-default-accounts and use purchaseAccNo, or list read-chart-accounts and choose a valid purchase/expense account. For AP invoice, if accountNo is omitted the connector tries payload/default purchase account first, then recent AP invoice history for the same creditor. For cash purchase, create/list/get are supported where AutoCount exposes the command; direct void/delete stay guarded until the linked payment/cash-book reversal workflow is proven.

create-purchase-order write Create Create a purchase order.

Full payload schema: /v1/schema/commands/create-purchase-order

Payload fields

creditorCode
required AutoCount creditor/supplier code
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
items
optional alias for lines
creditorName
optional supplier display name; AutoCount creditor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional creditor branch code/name where the customer uses branches
purchaseLocation
optional exact active AutoCount purchase/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
purchaseAgent
optional Purchase Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional supplier address line 1
address2
optional supplier address line 2
address3
optional supplier address line 3
address4
optional supplier address line 4
description
optional document description/narration
ref
optional reference
supplierInvoiceNo
optional supplier invoice number
supplierDONo
optional supplier delivery order number
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional document-level fallback GL posting account for purchase invoice/cash purchase lines when item/account mapping is not enough
postingAccountRule
For create-purchase-invoice and create-cash-purchase, pass lines[].accountNo / accNo / glAccount / postingAccountNo when AutoCount has no default purchase account. Use read-default-accounts.purchaseAccNo or choose a valid purchase/expense account from read-chart-accounts. For create-ap-invoice, if accountNo is omitted the connector also tries the same creditor's recent AP invoice detail account.
payments
optional array for cash purchase style documents; send multiple payment rows for AutoCount Multi Payment. cash purchase void/delete remains guarded because linked payment/cash-book reversal needs module-specific proof
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example JSON

{
  "creditorCode": "400-S001",
  "docDate": "2026-06-24",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "purchaseLocation": "HQ",
  "purchaseAgent": "PA01",
  "attention": "Supplier Sales Department",
  "contact": "Supplier Sales Department",
  "phone": "03-33333333",
  "address1": "No. 2 Jalan Supplier",
  "address2": "Supplier Park",
  "address3": "Petaling Jaya",
  "address4": "Malaysia",
  "description": "Purchase document created through API",
  "supplierInvoiceNo": "SUP-INV-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API purchase item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 80,
      "discount": "0",
      "taxType": "P-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 160,
      "accountNo": "610-0000",
      "postingAccountNo": "610-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "610-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 80,
      "taxType": "P-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 100,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "BANK",
      "paymentBy": "Bank Transfer",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Creates purchase order through AutoCount SDK. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. purchaseLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default. For purchase invoice/cash purchase, line accountNo is a GL posting account. If AutoCount says no default account or AI does not know the account, first call read-default-accounts and use purchaseAccNo, or list read-chart-accounts and choose a valid purchase/expense account. For AP invoice, if accountNo is omitted the connector tries payload/default purchase account first, then recent AP invoice history for the same creditor. For cash purchase, create/list/get are supported where AutoCount exposes the command; direct void/delete stay guarded until the linked payment/cash-book reversal workflow is proven.

create-purchase-return write Create Create a purchase return.

Full payload schema: /v1/schema/commands/create-purchase-return

Payload fields

creditorCode
required AutoCount creditor/supplier code
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
items
optional alias for lines
creditorName
optional supplier display name; AutoCount creditor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional creditor branch code/name where the customer uses branches
purchaseLocation
optional exact active AutoCount purchase/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
purchaseAgent
optional Purchase Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional supplier address line 1
address2
optional supplier address line 2
address3
optional supplier address line 3
address4
optional supplier address line 4
description
optional document description/narration
ref
optional reference
supplierInvoiceNo
optional supplier invoice number
supplierDONo
optional supplier delivery order number
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional document-level fallback GL posting account for purchase invoice/cash purchase lines when item/account mapping is not enough
postingAccountRule
For create-purchase-invoice and create-cash-purchase, pass lines[].accountNo / accNo / glAccount / postingAccountNo when AutoCount has no default purchase account. Use read-default-accounts.purchaseAccNo or choose a valid purchase/expense account from read-chart-accounts. For create-ap-invoice, if accountNo is omitted the connector also tries the same creditor's recent AP invoice detail account.
payments
optional array for cash purchase style documents; send multiple payment rows for AutoCount Multi Payment. cash purchase void/delete remains guarded because linked payment/cash-book reversal needs module-specific proof
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example JSON

{
  "creditorCode": "400-S001",
  "docDate": "2026-06-24",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "purchaseLocation": "HQ",
  "purchaseAgent": "PA01",
  "attention": "Supplier Sales Department",
  "contact": "Supplier Sales Department",
  "phone": "03-33333333",
  "address1": "No. 2 Jalan Supplier",
  "address2": "Supplier Park",
  "address3": "Petaling Jaya",
  "address4": "Malaysia",
  "description": "Purchase document created through API",
  "supplierInvoiceNo": "SUP-INV-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API purchase item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 80,
      "discount": "0",
      "taxType": "P-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 160,
      "accountNo": "610-0000",
      "postingAccountNo": "610-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "610-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 80,
      "taxType": "P-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 100,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "BANK",
      "paymentBy": "Bank Transfer",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Creates purchase return through AutoCount Purchase Return SDK when available. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. purchaseLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default. For purchase invoice/cash purchase, line accountNo is a GL posting account. If AutoCount says no default account or AI does not know the account, first call read-default-accounts and use purchaseAccNo, or list read-chart-accounts and choose a valid purchase/expense account. For AP invoice, if accountNo is omitted the connector tries payload/default purchase account first, then recent AP invoice history for the same creditor. For cash purchase, create/list/get are supported where AutoCount exposes the command; direct void/delete stay guarded until the linked payment/cash-book reversal workflow is proven.

delete-cash-purchase write Delete Delete/void request for a cash purchase.

Full payload schema: /v1/schema/commands/delete-cash-purchase

Payload fields

docNo
required document number
reason
optional delete reason

Example JSON

{
  "docNo": "CP-000001",
  "reason": "deleted by API request"
}

Notes: Safely maps to AutoCount cancellation/void behavior. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

delete-goods-received-note write Delete Delete/void request for a goods received note.

Full payload schema: /v1/schema/commands/delete-goods-received-note

Payload fields

docNo
required document number
reason
optional delete reason

Example JSON

{
  "docNo": "GRN-000001",
  "reason": "deleted by API request"
}

Notes: Safely maps to AutoCount cancellation/void behavior. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

delete-purchase-invoice write Delete Delete/void request for a purchase invoice.

Full payload schema: /v1/schema/commands/delete-purchase-invoice

Payload fields

docNo
required document number
reason
optional delete reason

Example JSON

{
  "docNo": "PI-000001",
  "reason": "deleted by API request"
}

Notes: Safely maps to AutoCount cancellation/void behavior. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

delete-purchase-order write Delete Delete/void request for a purchase order.

Full payload schema: /v1/schema/commands/delete-purchase-order

Payload fields

docNo
required document number
reason
optional delete reason

Example JSON

{
  "docNo": "PO-000001",
  "reason": "deleted by API request"
}

Notes: Safely maps to AutoCount cancellation/void behavior. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

delete-purchase-return write Delete Delete/void request for a purchase return.

Full payload schema: /v1/schema/commands/delete-purchase-return

Payload fields

docNo
required document number
reason
optional delete reason

Example JSON

{
  "docNo": "PR-000001",
  "reason": "deleted by API request"
}

Notes: Safely maps to AutoCount cancellation/void behavior. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

get-cash-purchase read Read Get one cash purchase by document number.

Full payload schema: /v1/schema/commands/get-cash-purchase

Payload fields

docNo
required cash purchase document number

Example JSON

{
  "docNo": "CP-000001"
}
get-goods-received-note read Read Get one goods received note by document number.

Full payload schema: /v1/schema/commands/get-goods-received-note

Payload fields

docNo
required goods received note document number

Example JSON

{
  "docNo": "GRN-000001"
}
get-purchase-invoice read Read Get one purchase invoice by document number.

Full payload schema: /v1/schema/commands/get-purchase-invoice

Payload fields

docNo
required purchase invoice document number

Example JSON

{
  "docNo": "PI-000001"
}
get-purchase-order read Read Get one purchase order by document number.

Full payload schema: /v1/schema/commands/get-purchase-order

Payload fields

docNo
required purchase order document number

Example JSON

{
  "docNo": "PO-000001"
}
get-purchase-return read Read Get one purchase return by document number.

Full payload schema: /v1/schema/commands/get-purchase-return

Payload fields

docNo
required purchase return document number

Example JSON

{
  "docNo": "PR-000001"
}
get-request-quotation read Read Get one request quotation (RFQ) by document number.

Full payload schema: /v1/schema/commands/get-request-quotation

Payload fields

docNo
required existing RFQ document number

Example JSON

{
  "docNo": "RFQ-000001"
}

Notes: Reads available public SDK fields and lines. Inspect fields.readErrors for getter failures; missing values are not proof of empty fields. RFQ SDK availability is verified; per-field/account-book acceptance remains runtime-specific.

list-cash-purchases read Read List cash purchases.

Full payload schema: /v1/schema/commands/list-cash-purchases

Payload fields

No payload fields required.

Example JSON

{}
list-goods-received-notes read Read List goods received notes.

Full payload schema: /v1/schema/commands/list-goods-received-notes

Payload fields

No payload fields required.

Example JSON

{}
list-purchase-invoices read Read List purchase invoices.

Full payload schema: /v1/schema/commands/list-purchase-invoices

Payload fields

No payload fields required.

Example JSON

{}
list-purchase-orders read Read List purchase orders.

Full payload schema: /v1/schema/commands/list-purchase-orders

Payload fields

No payload fields required.

Example JSON

{}
list-purchase-returns read Read List purchase returns.

Full payload schema: /v1/schema/commands/list-purchase-returns

Payload fields

No payload fields required.

Example JSON

{}
print-purchase-document write write Native purchase printing with verified Print Count; physical purchase template testing remains required.

Full payload schema: /v1/schema/commands/print-purchase-document

Payload fields

document
purchase-invoice | purchase-order | goods-received-note | purchase-return | cash-purchase
docNo
required
reportName
required exact installed AutoCount template name
printerName
required exact installed Windows printer name

Example JSON

{
  "document": "purchase-invoice",
  "docNo": "PI-000001",
  "reportName": "Purchase Invoice",
  "printerName": "MF240 Series"
}

Notes: Requires connector 2026.09.11.01 and Purchase Edit permission. Purchase invoice PDF count verified; physical purchase output is not yet proven. Spooler completion required; missing/disappearing jobs return uncertain. Reuse commandId and manually reconcile interrupted output.

read-cash-purchase-lines read Read Read cash purchase detail lines only.

Full payload schema: /v1/schema/commands/read-cash-purchase-lines

Payload fields

itemCode
optional
creditorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "accountNo": "610-0000",
  "limit": 50
}
read-goods-received-note-lines read Read Read goods received note detail lines only.

Full payload schema: /v1/schema/commands/read-goods-received-note-lines

Payload fields

itemCode
optional
creditorCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "itemCode": "ITEM001",
  "limit": 50
}
read-purchase-detail-lines read Read Read all purchase document lines together, or filter with document.

Full payload schema: /v1/schema/commands/read-purchase-detail-lines

Payload fields

document
optional: purchase-invoice | cash-purchase | goods-received-note | purchase-order | purchase-return
itemCode
optional
creditorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "document": "purchase-invoice",
  "creditorCode": "400-S001",
  "limit": 50
}

Notes: Prefer the document-specific read-*-lines commands when the document family is known.

read-purchase-invoice-lines read Read Read purchase invoice detail lines only.

Full payload schema: /v1/schema/commands/read-purchase-invoice-lines

Payload fields

itemCode
optional
creditorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "creditorCode": "400-S001",
  "limit": 50
}

Notes: Returns account/project/tax/detail columns where AutoCount stores them.

read-purchase-order-lines read Read Read purchase order detail lines only.

Full payload schema: /v1/schema/commands/read-purchase-order-lines

Payload fields

itemCode
optional
creditorCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "creditorCode": "400-S001",
  "limit": 50
}
read-purchase-return-lines read Read Read purchase return detail lines only.

Full payload schema: /v1/schema/commands/read-purchase-return-lines

Payload fields

itemCode
optional
creditorCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "docNo": "PR-000001",
  "limit": 50
}
transfer-goods-received-note-to-purchase-invoice write Transfer Transfer goods received note to purchase invoice.

Full payload schema: /v1/schema/commands/transfer-goods-received-note-to-purchase-invoice

Payload fields

fromDocNos
array of 1-100 distinct GRN numbers for one new PI; use this OR a single fromDocNo/sourceDocNo
fromDocNo
optional single GRN number; must be text, never an array
sourceDocNo
alias for the single fromDocNo; cannot combine with fromDocNos
docNo
optional new PI number; omit for AutoCount numbering. An existing PI is never overwritten
targetDocNo
alias for docNo
docDate
optional target date YYYY-MM-DD
supplierInvoiceNo
optional supplier invoice reference for the new PI
creditorCode
optional assertion; must match every source GRN
currencyCode
optional assertion; must match every source GRN
inclusiveTax
optional assertion; must match every source GRN
lines
optional nonempty array [{sourceDocNo, sourceDtlKey, qty}]; source UOM quantities. Read each GRN's DtlKey first. Each listed GRN needs at least one selected row; duplicate source/key pairs are rejected. Omit lines to transfer outstanding quantities. Maximum 5000 rows
transferQtyMode
outstanding only for multi-GRN/selected-line mode; includes pending draft reservations when calculating availability
transferOption
FullDetails only; unsummarized native transfer
saveAsDraft
optional boolean; true uses SDK Save(true) and verifies Draft status and pending source quantities
description
optional target narration
ref
optional target reference

Example JSON

{
  "fromDocNos": [
    "GR-016420",
    "GR-016421"
  ],
  "docDate": "2026-06-30",
  "supplierInvoiceNo": "SUP-000861",
  "saveAsDraft": false
}

Notes: Multi-GRN support requires an updated connector; verify installation before using fromDocNos. Sources must share supplier, currency/rate and inclusive-tax mode. Native PartialTransfer preserves GRN linkage, source price/tax/UOM/location/batch; one native PI Save is followed by read-back of identity, amounts, links and source quantities. Supports normal stock lines; serial items, FOC, packages and unsupported discount calculations are guarded. No batch/expiry or price overrides. A failed transfer never calls Save. If saved is null or true with ok=false, reconcile the returned DocNo/DocKey before retrying; do not cancel/recreate or claim rollback. Reuse the same commandId when polling/retrying the same request.

transfer-purchase-invoice-to-purchase-return write Transfer Transfer purchase invoice to purchase return.

Full payload schema: /v1/schema/commands/transfer-purchase-invoice-to-purchase-return

Payload fields

sourceDocNo
required source purchase invoice document number
targetDocNo
optional target purchase return document number; omit to let AutoCount numbering generate it
docDate
optional YYYY-MM-DD target document date
creditorCode
optional supplier code where transfer creates a purchase document
debtorCode
optional customer code where transfer creates a sales document
transferQtyMode
optional transfer quantity mode such as all or outstanding
saveAsDraft
optional boolean; for delivery-order to sales-invoice, true saves the transferred invoice as an AutoCount draft
lines
optional selected source line rows with itemCode, sourceLineNo, qty, uom
description
optional target document narration
ref
optional target reference

Example JSON

{
  "sourceDocNo": "PI-000001",
  "targetDocNo": "",
  "docDate": "2026-06-24",
  "creditorCode": "400-S001",
  "transferQtyMode": "outstanding",
  "saveAsDraft": false,
  "description": "Transfer purchase invoice to purchase return",
  "ref": "API-TRANSFER-1001",
  "lines": [
    {
      "sourceLineNo": 1,
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT"
    }
  ]
}

Notes: Uses AutoCount transfer logic. AutoCount transfer rules decide which source lines and quantities are allowed. Omit lines to transfer the normal outstanding balance where supported.

transfer-purchase-order-to-goods-received-note write Transfer Transfer purchase order to goods received note.

Full payload schema: /v1/schema/commands/transfer-purchase-order-to-goods-received-note

Payload fields

sourceDocNo
required source purchase order document number
targetDocNo
optional target goods received note document number; omit to let AutoCount numbering generate it
docDate
optional YYYY-MM-DD target document date
creditorCode
optional supplier code where transfer creates a purchase document
debtorCode
optional customer code where transfer creates a sales document
transferQtyMode
optional transfer quantity mode such as all or outstanding
saveAsDraft
optional boolean; for delivery-order to sales-invoice, true saves the transferred invoice as an AutoCount draft
lines
optional selected source line rows with itemCode, sourceLineNo, qty, uom
description
optional target document narration
ref
optional target reference

Example JSON

{
  "sourceDocNo": "PO-000001",
  "targetDocNo": "",
  "docDate": "2026-06-24",
  "creditorCode": "400-S001",
  "transferQtyMode": "outstanding",
  "saveAsDraft": false,
  "description": "Transfer purchase order to goods received note",
  "ref": "API-TRANSFER-1001",
  "lines": [
    {
      "sourceLineNo": 1,
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT"
    }
  ]
}

Notes: Uses AutoCount transfer logic. AutoCount transfer rules decide which source lines and quantities are allowed. Omit lines to transfer the normal outstanding balance where supported.

transfer-purchase-order-to-purchase-invoice write Transfer Transfer purchase order to purchase invoice, optionally assigning item batches and batch expiry.

Full payload schema: /v1/schema/commands/transfer-purchase-order-to-purchase-invoice

Payload fields

fromDocNo
required source PO number
docNo
optional target PI number; omit for AutoCount numbering
docDate
optional target date YYYY-MM-DD
lines
optional batch assignments only: [{sourceDtlKey, batchNo, batchExpiryDate?}]. Read DtlKey from get-purchase-order or read-purchase-order-lines first. batchno aliases batchNo. No itemCode/qty/price overrides; omitted lines retain native transfer values. Batch-enabled full transfers reject POs with prior or pending transferred quantities to prevent duplicate transfer.
batchAllocations
optional non-empty array [{sourceDtlKey, qty, batchNo, batchExpiryDate?}]; only explicitly allocated rows transfer. Positive source-UOM quantities, repeated sourceDtlKey allowed for batch splits. Cannot combine with lines. Read actual source DtlKey and available quantity first. Requires local-mvp-2026.09.29.01 or later installed on the selected connector; older builds may ignore this field and full-transfer.
createMissingBatches
optional boolean, default false; create missing ItemCode + BatchNo through SDK; requires update-item policy permission
updateExistingBatchExpiry
optional boolean, default false; explicitly permit changing shared batch master expiry; requires update-item policy permission
saveAsDraft
optional boolean; native SDK draft save when supported by the account book

Example JSON

{
  "fromDocNo": "PO-000001",
  "docDate": "2026-06-29",
  "createMissingBatches": false,
  "updateExistingBatchExpiry": false,
  "lines": [
    {
      "sourceDtlKey": 12345,
      "batchNo": "BATCH-001"
    }
  ]
}

Notes: Requires local-mvp-2026.09.29.01 or later installed on the selected connector; publishing the download does not install it. Older builds may ignore batchAllocations and full-transfer; never trial against an older or unconfirmed build. Legacy mode without batchAllocations uses native PO FullDetails transfer. lines is NOT a selection or partial-quantity list; legacy mode still transfers all available source lines with optional single-batch assignments. batchAllocations cannot combine with lines and transfers only explicitly allocated rows; repeated sourceDtlKey splits a source row across batches. Each qty is positive in the source UOM; remaining = Qty - (TransferedQty + PendingTransferredQty) / Rate because those PO counters use smallest-UOM units. Native TSM 22-check acceptance passed for native PO linkage, source price/tax and saved totals, BOX Rate10 draft reservation, simple percent and prorated fixed discount, and 8% tax. No itemCode/UOM/price/tax/total overrides. Guards reject compound discounts, serial items, item packages and FOC allocations. Proportional DiscountAmt/SubTotal/Tax checks apply per-row and per-source aggregate tolerance 0.01 within each request; larger rounding drift rejects. Read actual sourceDtlKey and source quantities with read-purchase-order-lines filtered by docNo or get-purchase-order. createMissingBatches=true permits missing batches; lines[].batchExpiryDate or batchAllocations[].batchExpiryDate uses YYYY-MM-DD. updateExistingBatchExpiry=true explicitly permits shared Item Master expiry changes, not just this PI. Both flags require update-item policy permission; omit expiry to preserve it. Expiry conflicts and ambiguous mappings reject. Response includes writeVerification, batchMasterVerification, linkageVerified, sourceQuantityVerification and totalsVerified after fresh reload. Batch master and PI use separate SDK saves: inspect stage, batchMasterChanges and saved on failure (null means unknown), and read back before retrying; a duplicate-PI failure with a retained batch commit was verified. Sequential stale-reader native proof PASS: second stale PI aborted and was absent; truly simultaneous external-writer atomicity remains unproven. No connector SQL writes or source deletion/recreation. Native acceptance is bounded to tested cases, not every account book or discount/tax expression.

update-cash-purchase write Edit Update cash purchase header/contact fields and supported detail rows.

Full payload schema: /v1/schema/commands/update-cash-purchase

Payload fields

docNo
required existing document number (selector)
reason
required business reason
docDate
optional Document date. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
creditorCode
optional Supplier/creditor code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
creditorName
optional Supplier display name. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
purchaseAgent
optional Purchase agent. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
agent
optional Purchase agent. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
purchaseLocation
optional Purchase stock location. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
location
optional Purchase stock location. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
ref
optional Reference. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
description
optional Header description. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
displayTerm
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
term
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address1
optional Invoice address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr1
optional Invoice address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone1
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
attention
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
contact
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
branchCode
optional Branch code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyCode
optional Currency code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyRate
optional Currency rate. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
note
optional Rich-text Note is stored as canonical RTF; verification compares visible text semantics, not raw bytes. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark1
optional Remark 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark2
optional Remark 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark3
optional Remark 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark4
optional Remark 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
refDocNo
optional Reference document number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipVia
optional Shipping method. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipInfo
optional Shipping info. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
supplierDONo
optional Supplier delivery order number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
supplierInvoiceNo
optional Supplier invoice number; distinct from SupplierCNNo on purchase returns. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
dueDate
optional Due date where writable and nullable in the installed SDK. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address2
optional Invoice address line 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr2
optional Invoice address line 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address3
optional Invoice address line 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr3
optional Invoice address line 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address4
optional Invoice address line 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr4
optional Invoice address line 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone2
optional Secondary phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
fax1
optional Fax number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
fax
optional Fax number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
inclusiveTax
optional Tax-inclusive pricing where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
taxDate
optional Tax date where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
taxEntityID
optional Tax entity ID where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
project
optional Header project where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
projNo
optional Header project where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
department
optional Header department where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deptNo
optional Header department where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
userDefinedFields
optional Existing defined UDF values via userDefinedFields require native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
Master
optional header object of public SDK scalar fields
nativeFields
optional native header container: { Master: { SDKField: value } }
validateOnly
optional boolean; true runs native preflight without Save, returning saved:false; no persistence proof
detailMode
explicit update | append | replace | delete when editing lines; omit lines and detailMode for header-only updates
lines
optional detail array; update/delete select existing rows by dtlKey; append adds rows; replace replaces the detail set

Example JSON

{
  "docNo": "CP-000001",
  "reason": "Correct supplier reference",
  "description": "Updated purchase header"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Strict purchase update contract: friendly top-level fields, header Master or nativeFields.Master, and lines[].nativeFields map to public SDK scalar fields. Actual writable fields vary by document and installed SDK; this is not blanket all-field certification. Unknown or nonwritable requested fields are rejected before Save. Omitted fields stay unchanged; explicit null or empty values clear only optional string/nullable fields. Header-only updates do not require lines. Send explicit detailMode update, append, replace or delete for line edits; use dtlKey as a selector for existing rows. Calculated header totals, system keys, linkage and eInvoice lifecycle fields are protected. Existing eInvoice, linked-document and payment rules remain in force. validateOnly:true performs native preflight without Save and returns saved:false; preflight success is not persistence proof. After Save, a fresh SDK View reload compares requested persisted values: writeVerification.matched must be true for verified save success. A mismatch returns ok=false even when saved=true; never treat Save alone as persistence proof or blindly retry. Returned fields and lines contain the reloaded available document data; inspect fields.readErrors for public SDK getter failures, not silent omissions. Rich-text Note is stored as canonical RTF; compare visible text semantics, not raw bytes. Existing userDefinedFields are supported when defined and require explicit native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created. SupplierInvoiceNo is distinct from purchase-return SupplierCNNo; supplierCreditNoteNo and supplierCNNo map only to SupplierCNNo on purchase returns. RFQ uses native InvAddr1-InvAddr4 (friendly address1-address4) and DeliverAddr1 (friendly deliverAddress1), not native Address1; PI-specific supplier references are not advertised. Only get-request-quotation and update-request-quotation are published, not create. See docs/purchase-update-fields.md.

update-goods-received-note write Edit Update goods received note header/contact fields and supported detail rows.

Full payload schema: /v1/schema/commands/update-goods-received-note

Payload fields

docNo
required existing document number (selector)
reason
required business reason
docDate
optional Document date. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
creditorCode
optional Supplier/creditor code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
creditorName
optional Supplier display name. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
purchaseAgent
optional Purchase agent. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
agent
optional Purchase agent. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
purchaseLocation
optional Purchase stock location. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
location
optional Purchase stock location. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
ref
optional Reference. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
description
optional Header description. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
displayTerm
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
term
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address1
optional Invoice address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr1
optional Invoice address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone1
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
attention
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
contact
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
branchCode
optional Branch code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyCode
optional Currency code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyRate
optional Currency rate. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
note
optional Rich-text Note is stored as canonical RTF; verification compares visible text semantics, not raw bytes. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark1
optional Remark 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark2
optional Remark 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark3
optional Remark 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark4
optional Remark 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
refDocNo
optional Reference document number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipVia
optional Shipping method. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipInfo
optional Shipping info. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
supplierDONo
optional Supplier delivery order number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
supplierInvoiceNo
optional Supplier invoice number; distinct from SupplierCNNo on purchase returns. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
dueDate
optional Due date where writable and nullable in the installed SDK. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address2
optional Invoice address line 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr2
optional Invoice address line 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address3
optional Invoice address line 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr3
optional Invoice address line 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address4
optional Invoice address line 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr4
optional Invoice address line 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone2
optional Secondary phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
fax1
optional Fax number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
fax
optional Fax number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
inclusiveTax
optional Tax-inclusive pricing where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
taxDate
optional Tax date where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
taxEntityID
optional Tax entity ID where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
project
optional Header project where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
projNo
optional Header project where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
department
optional Header department where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deptNo
optional Header department where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
userDefinedFields
optional Existing defined UDF values via userDefinedFields require native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
Master
optional header object of public SDK scalar fields
nativeFields
optional native header container: { Master: { SDKField: value } }
validateOnly
optional boolean; true runs native preflight without Save, returning saved:false; no persistence proof
detailMode
explicit update | append | replace | delete when editing lines; omit lines and detailMode for header-only updates
lines
optional detail array; update/delete select existing rows by dtlKey; append adds rows; replace replaces the detail set

Example JSON

{
  "docNo": "GRN-000001",
  "reason": "Correct supplier reference",
  "description": "Updated purchase header"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Strict purchase update contract: friendly top-level fields, header Master or nativeFields.Master, and lines[].nativeFields map to public SDK scalar fields. Actual writable fields vary by document and installed SDK; this is not blanket all-field certification. Unknown or nonwritable requested fields are rejected before Save. Omitted fields stay unchanged; explicit null or empty values clear only optional string/nullable fields. Header-only updates do not require lines. Send explicit detailMode update, append, replace or delete for line edits; use dtlKey as a selector for existing rows. Calculated header totals, system keys, linkage and eInvoice lifecycle fields are protected. Existing eInvoice, linked-document and payment rules remain in force. validateOnly:true performs native preflight without Save and returns saved:false; preflight success is not persistence proof. After Save, a fresh SDK View reload compares requested persisted values: writeVerification.matched must be true for verified save success. A mismatch returns ok=false even when saved=true; never treat Save alone as persistence proof or blindly retry. Returned fields and lines contain the reloaded available document data; inspect fields.readErrors for public SDK getter failures, not silent omissions. Rich-text Note is stored as canonical RTF; compare visible text semantics, not raw bytes. Existing userDefinedFields are supported when defined and require explicit native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created. SupplierInvoiceNo is distinct from purchase-return SupplierCNNo; supplierCreditNoteNo and supplierCNNo map only to SupplierCNNo on purchase returns. RFQ uses native InvAddr1-InvAddr4 (friendly address1-address4) and DeliverAddr1 (friendly deliverAddress1), not native Address1; PI-specific supplier references are not advertised. Only get-request-quotation and update-request-quotation are published, not create. See docs/purchase-update-fields.md.

update-purchase-invoice write Edit Update purchase invoice header/contact fields and supported detail rows.

Full payload schema: /v1/schema/commands/update-purchase-invoice

Payload fields

docNo
required existing document number (selector)
reason
required business reason
docDate
optional Document date. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
creditorCode
optional Supplier/creditor code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
creditorName
optional Supplier display name. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
purchaseAgent
optional Purchase agent. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
agent
optional Purchase agent. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
purchaseLocation
optional Purchase stock location. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
location
optional Purchase stock location. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
ref
optional Reference. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
description
optional Header description. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
displayTerm
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
term
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address1
optional Invoice address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr1
optional Invoice address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone1
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
attention
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
contact
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
branchCode
optional Branch code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyCode
optional Currency code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyRate
optional Currency rate. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
note
optional Rich-text Note is stored as canonical RTF; verification compares visible text semantics, not raw bytes. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark1
optional Remark 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark2
optional Remark 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark3
optional Remark 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark4
optional Remark 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
refDocNo
optional Reference document number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipVia
optional Shipping method. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipInfo
optional Shipping info. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
supplierDONo
optional Supplier delivery order number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
supplierInvoiceNo
optional Supplier invoice number; distinct from SupplierCNNo on purchase returns. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
dueDate
optional Due date where writable and nullable in the installed SDK. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address2
optional Invoice address line 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr2
optional Invoice address line 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address3
optional Invoice address line 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr3
optional Invoice address line 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address4
optional Invoice address line 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr4
optional Invoice address line 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone2
optional Secondary phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
fax1
optional Fax number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
fax
optional Fax number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
inclusiveTax
optional Tax-inclusive pricing where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
taxDate
optional Tax date where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
taxEntityID
optional Tax entity ID where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
project
optional Header project where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
projNo
optional Header project where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
department
optional Header department where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deptNo
optional Header department where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
userDefinedFields
optional Existing defined UDF values via userDefinedFields require native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
Master
optional header object of public SDK scalar fields
nativeFields
optional native header container: { Master: { SDKField: value } }
validateOnly
optional boolean; true runs native preflight without Save, returning saved:false; no persistence proof
detailMode
explicit update | append | replace | delete when editing lines; omit lines and detailMode for header-only updates
lines
optional detail array; update/delete select existing rows by dtlKey; append adds rows; replace replaces the detail set

Example JSON

{
  "docNo": "PI-000001",
  "reason": "Correct supplier reference",
  "description": "Updated purchase header"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Strict purchase update contract: friendly top-level fields, header Master or nativeFields.Master, and lines[].nativeFields map to public SDK scalar fields. Actual writable fields vary by document and installed SDK; this is not blanket all-field certification. Unknown or nonwritable requested fields are rejected before Save. Omitted fields stay unchanged; explicit null or empty values clear only optional string/nullable fields. Header-only updates do not require lines. Send explicit detailMode update, append, replace or delete for line edits; use dtlKey as a selector for existing rows. Calculated header totals, system keys, linkage and eInvoice lifecycle fields are protected. Existing eInvoice, linked-document and payment rules remain in force. validateOnly:true performs native preflight without Save and returns saved:false; preflight success is not persistence proof. After Save, a fresh SDK View reload compares requested persisted values: writeVerification.matched must be true for verified save success. A mismatch returns ok=false even when saved=true; never treat Save alone as persistence proof or blindly retry. Returned fields and lines contain the reloaded available document data; inspect fields.readErrors for public SDK getter failures, not silent omissions. Rich-text Note is stored as canonical RTF; compare visible text semantics, not raw bytes. Existing userDefinedFields are supported when defined and require explicit native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created. SupplierInvoiceNo is distinct from purchase-return SupplierCNNo; supplierCreditNoteNo and supplierCNNo map only to SupplierCNNo on purchase returns. RFQ uses native InvAddr1-InvAddr4 (friendly address1-address4) and DeliverAddr1 (friendly deliverAddress1), not native Address1; PI-specific supplier references are not advertised. Only get-request-quotation and update-request-quotation are published, not create. See docs/purchase-update-fields.md.

update-purchase-order write Edit Update purchase order header/contact fields and supported detail rows.

Full payload schema: /v1/schema/commands/update-purchase-order

Payload fields

docNo
required existing document number (selector)
reason
required business reason
docDate
optional Document date. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
creditorCode
optional Supplier/creditor code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
creditorName
optional Supplier display name. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
purchaseAgent
optional Purchase agent. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
agent
optional Purchase agent. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
purchaseLocation
optional Purchase stock location. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
location
optional Purchase stock location. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
ref
optional Reference. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
description
optional Header description. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
displayTerm
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
term
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address1
optional Invoice address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr1
optional Invoice address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone1
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
attention
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
contact
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
branchCode
optional Branch code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyCode
optional Currency code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyRate
optional Currency rate. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
note
optional Rich-text Note is stored as canonical RTF; verification compares visible text semantics, not raw bytes. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark1
optional Remark 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark2
optional Remark 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark3
optional Remark 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark4
optional Remark 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
refDocNo
optional Reference document number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipVia
optional Shipping method. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipInfo
optional Shipping info. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
supplierDONo
optional Supplier delivery order number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
supplierInvoiceNo
optional Supplier invoice number; distinct from SupplierCNNo on purchase returns. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
dueDate
optional Due date where writable and nullable in the installed SDK. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address2
optional Invoice address line 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr2
optional Invoice address line 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address3
optional Invoice address line 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr3
optional Invoice address line 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address4
optional Invoice address line 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr4
optional Invoice address line 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone2
optional Secondary phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
fax1
optional Fax number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
fax
optional Fax number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
inclusiveTax
optional Tax-inclusive pricing where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
taxDate
optional Tax date where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
taxEntityID
optional Tax entity ID where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
project
optional Header project where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
projNo
optional Header project where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
department
optional Header department where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deptNo
optional Header department where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
userDefinedFields
optional Existing defined UDF values via userDefinedFields require native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
Master
optional header object of public SDK scalar fields
nativeFields
optional native header container: { Master: { SDKField: value } }
validateOnly
optional boolean; true runs native preflight without Save, returning saved:false; no persistence proof
detailMode
explicit update | append | replace | delete when editing lines; omit lines and detailMode for header-only updates
lines
optional detail array; update/delete select existing rows by dtlKey; append adds rows; replace replaces the detail set

Example JSON

{
  "docNo": "PO-000001",
  "reason": "Correct supplier reference",
  "description": "Updated purchase header"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Strict purchase update contract: friendly top-level fields, header Master or nativeFields.Master, and lines[].nativeFields map to public SDK scalar fields. Actual writable fields vary by document and installed SDK; this is not blanket all-field certification. Unknown or nonwritable requested fields are rejected before Save. Omitted fields stay unchanged; explicit null or empty values clear only optional string/nullable fields. Header-only updates do not require lines. Send explicit detailMode update, append, replace or delete for line edits; use dtlKey as a selector for existing rows. Calculated header totals, system keys, linkage and eInvoice lifecycle fields are protected. Existing eInvoice, linked-document and payment rules remain in force. validateOnly:true performs native preflight without Save and returns saved:false; preflight success is not persistence proof. After Save, a fresh SDK View reload compares requested persisted values: writeVerification.matched must be true for verified save success. A mismatch returns ok=false even when saved=true; never treat Save alone as persistence proof or blindly retry. Returned fields and lines contain the reloaded available document data; inspect fields.readErrors for public SDK getter failures, not silent omissions. Rich-text Note is stored as canonical RTF; compare visible text semantics, not raw bytes. Existing userDefinedFields are supported when defined and require explicit native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created. SupplierInvoiceNo is distinct from purchase-return SupplierCNNo; supplierCreditNoteNo and supplierCNNo map only to SupplierCNNo on purchase returns. RFQ uses native InvAddr1-InvAddr4 (friendly address1-address4) and DeliverAddr1 (friendly deliverAddress1), not native Address1; PI-specific supplier references are not advertised. Only get-request-quotation and update-request-quotation are published, not create. See docs/purchase-update-fields.md.

update-purchase-return write Edit Update purchase return header/contact fields and supported detail rows.

Full payload schema: /v1/schema/commands/update-purchase-return

Payload fields

docNo
required existing document number (selector)
reason
required business reason
docDate
optional Document date. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
creditorCode
optional Supplier/creditor code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
creditorName
optional Supplier display name. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
purchaseAgent
optional Purchase agent. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
agent
optional Purchase agent. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
purchaseLocation
optional Purchase stock location. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
location
optional Purchase stock location. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
ref
optional Reference. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
description
optional Header description. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
displayTerm
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
term
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address1
optional Invoice address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr1
optional Invoice address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone1
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
attention
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
contact
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
branchCode
optional Branch code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyCode
optional Currency code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyRate
optional Currency rate. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
note
optional Rich-text Note is stored as canonical RTF; verification compares visible text semantics, not raw bytes. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark1
optional Remark 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark2
optional Remark 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark3
optional Remark 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark4
optional Remark 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
refDocNo
optional Reference document number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipVia
optional Shipping method. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipInfo
optional Shipping info. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
supplierDONo
optional Supplier delivery order number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
supplierInvoiceNo
optional Supplier invoice number; distinct from SupplierCNNo on purchase returns. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
dueDate
optional Due date where writable and nullable in the installed SDK. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address2
optional Invoice address line 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr2
optional Invoice address line 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address3
optional Invoice address line 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr3
optional Invoice address line 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address4
optional Invoice address line 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr4
optional Invoice address line 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone2
optional Secondary phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
fax1
optional Fax number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
fax
optional Fax number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
inclusiveTax
optional Tax-inclusive pricing where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
taxDate
optional Tax date where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
taxEntityID
optional Tax entity ID where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
project
optional Header project where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
projNo
optional Header project where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
department
optional Header department where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deptNo
optional Header department where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
supplierCreditNoteNo
optional Purchase-return SupplierCNNo (supplier credit note number); not SupplierInvoiceNo. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
supplierCNNo
optional Purchase-return SupplierCNNo (supplier credit note number); not SupplierInvoiceNo. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
userDefinedFields
optional Existing defined UDF values via userDefinedFields require native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
Master
optional header object of public SDK scalar fields
nativeFields
optional native header container: { Master: { SDKField: value } }
validateOnly
optional boolean; true runs native preflight without Save, returning saved:false; no persistence proof
detailMode
explicit update | append | replace | delete when editing lines; omit lines and detailMode for header-only updates
lines
optional detail array; update/delete select existing rows by dtlKey; append adds rows; replace replaces the detail set

Example JSON

{
  "docNo": "PR-000001",
  "reason": "Correct supplier reference",
  "description": "Updated purchase header"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Strict purchase update contract: friendly top-level fields, header Master or nativeFields.Master, and lines[].nativeFields map to public SDK scalar fields. Actual writable fields vary by document and installed SDK; this is not blanket all-field certification. Unknown or nonwritable requested fields are rejected before Save. Omitted fields stay unchanged; explicit null or empty values clear only optional string/nullable fields. Header-only updates do not require lines. Send explicit detailMode update, append, replace or delete for line edits; use dtlKey as a selector for existing rows. Calculated header totals, system keys, linkage and eInvoice lifecycle fields are protected. Existing eInvoice, linked-document and payment rules remain in force. validateOnly:true performs native preflight without Save and returns saved:false; preflight success is not persistence proof. After Save, a fresh SDK View reload compares requested persisted values: writeVerification.matched must be true for verified save success. A mismatch returns ok=false even when saved=true; never treat Save alone as persistence proof or blindly retry. Returned fields and lines contain the reloaded available document data; inspect fields.readErrors for public SDK getter failures, not silent omissions. Rich-text Note is stored as canonical RTF; compare visible text semantics, not raw bytes. Existing userDefinedFields are supported when defined and require explicit native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created. SupplierInvoiceNo is distinct from purchase-return SupplierCNNo; supplierCreditNoteNo and supplierCNNo map only to SupplierCNNo on purchase returns. RFQ uses native InvAddr1-InvAddr4 (friendly address1-address4) and DeliverAddr1 (friendly deliverAddress1), not native Address1; PI-specific supplier references are not advertised. Only get-request-quotation and update-request-quotation are published, not create. See docs/purchase-update-fields.md.

update-request-quotation write Edit Update an existing request quotation (RFQ) with verified persistence or native no-save preflight.

Full payload schema: /v1/schema/commands/update-request-quotation

Payload fields

docNo
required existing document number (selector)
reason
required business reason
docDate
optional Document date. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
creditorCode
optional Supplier/creditor code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
creditorName
optional Supplier display name. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
purchaseAgent
optional Purchase agent. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
agent
optional Purchase agent. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
purchaseLocation
optional Purchase stock location. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
location
optional Purchase stock location. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
ref
optional Reference. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
description
optional Header description. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
displayTerm
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
term
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address1
optional Invoice address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr1
optional Invoice address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone1
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
attention
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
contact
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
branchCode
optional Branch code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyCode
optional Currency code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyRate
optional Currency rate. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
note
optional Rich-text Note is stored as canonical RTF; verification compares visible text semantics, not raw bytes. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark1
optional Remark 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark2
optional Remark 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark3
optional Remark 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark4
optional Remark 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
refDocNo
optional Reference document number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipVia
optional Shipping method. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipInfo
optional Shipping info. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
dueDate
optional Due date where writable and nullable in the installed SDK. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address2
optional Invoice address line 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr2
optional Invoice address line 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address3
optional Invoice address line 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr3
optional Invoice address line 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address4
optional Invoice address line 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr4
optional Invoice address line 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone2
optional Secondary phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
fax1
optional Fax number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
fax
optional Fax number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
inclusiveTax
optional Tax-inclusive pricing where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
taxDate
optional Tax date where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
taxEntityID
optional Tax entity ID where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
project
optional Header project where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
projNo
optional Header project where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
department
optional Header department where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deptNo
optional Header department where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deliverAddress1
optional RFQ delivery address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
userDefinedFields
optional Existing defined UDF values via userDefinedFields require native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
Master
optional header object of public SDK scalar fields
nativeFields
optional native header container: { Master: { SDKField: value } }
validateOnly
optional boolean; true runs native preflight without Save, returning saved:false; no persistence proof
detailMode
explicit update | append | replace | delete when editing lines; omit lines and detailMode for header-only updates
lines
optional detail array; update/delete select existing rows by dtlKey; append adds rows; replace replaces the detail set

Example JSON

{
  "docNo": "RFQ-000001",
  "reason": "Correct supplier reference",
  "description": "Updated purchase header"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Strict purchase update contract: friendly top-level fields, header Master or nativeFields.Master, and lines[].nativeFields map to public SDK scalar fields. Actual writable fields vary by document and installed SDK; this is not blanket all-field certification. Unknown or nonwritable requested fields are rejected before Save. Omitted fields stay unchanged; explicit null or empty values clear only optional string/nullable fields. Header-only updates do not require lines. Send explicit detailMode update, append, replace or delete for line edits; use dtlKey as a selector for existing rows. Calculated header totals, system keys, linkage and eInvoice lifecycle fields are protected. Existing eInvoice, linked-document and payment rules remain in force. validateOnly:true performs native preflight without Save and returns saved:false; preflight success is not persistence proof. After Save, a fresh SDK View reload compares requested persisted values: writeVerification.matched must be true for verified save success. A mismatch returns ok=false even when saved=true; never treat Save alone as persistence proof or blindly retry. Returned fields and lines contain the reloaded available document data; inspect fields.readErrors for public SDK getter failures, not silent omissions. Rich-text Note is stored as canonical RTF; compare visible text semantics, not raw bytes. Existing userDefinedFields are supported when defined and require explicit native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created. SupplierInvoiceNo is distinct from purchase-return SupplierCNNo; supplierCreditNoteNo and supplierCNNo map only to SupplierCNNo on purchase returns. RFQ uses native InvAddr1-InvAddr4 (friendly address1-address4) and DeliverAddr1 (friendly deliverAddress1), not native Address1; PI-specific supplier references are not advertised. Only get-request-quotation and update-request-quotation are published, not create. See docs/purchase-update-fields.md.

validate-cash-purchase read Validate Validate a cash purchase without saving.

Full payload schema: /v1/schema/commands/validate-cash-purchase

Payload fields

creditorCode
required AutoCount creditor/supplier code
items
optional alias for lines
creditorName
optional supplier display name; AutoCount creditor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional creditor branch code/name where the customer uses branches
purchaseLocation
optional exact active AutoCount purchase/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
purchaseAgent
optional Purchase Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional supplier address line 1
address2
optional supplier address line 2
address3
optional supplier address line 3
address4
optional supplier address line 4
description
optional document description/narration
ref
optional reference
supplierInvoiceNo
optional supplier invoice number
supplierDONo
optional supplier delivery order number
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional document-level fallback GL posting account for purchase invoice/cash purchase lines when item/account mapping is not enough
postingAccountRule
For create-purchase-invoice and create-cash-purchase, pass lines[].accountNo / accNo / glAccount / postingAccountNo when AutoCount has no default purchase account. Use read-default-accounts.purchaseAccNo or choose a valid purchase/expense account from read-chart-accounts. For create-ap-invoice, if accountNo is omitted the connector also tries the same creditor's recent AP invoice detail account.
payments
optional array for cash purchase style documents; send multiple payment rows for AutoCount Multi Payment. cash purchase void/delete remains guarded because linked payment/cash-book reversal needs module-specific proof
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example JSON

{
  "creditorCode": "400-S001",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "docDate": "2026-06-24",
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "purchaseLocation": "HQ",
  "purchaseAgent": "PA01",
  "attention": "Supplier Sales Department",
  "contact": "Supplier Sales Department",
  "phone": "03-33333333",
  "address1": "No. 2 Jalan Supplier",
  "address2": "Supplier Park",
  "address3": "Petaling Jaya",
  "address4": "Malaysia",
  "description": "Purchase document created through API",
  "supplierInvoiceNo": "SUP-INV-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API purchase item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 80,
      "discount": "0",
      "taxType": "P-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 160,
      "accountNo": "610-0000",
      "postingAccountNo": "610-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "610-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 80,
      "taxType": "P-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 100,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "BANK",
      "paymentBy": "Bank Transfer",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Validation only; does not save. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. purchaseLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default. For purchase invoice/cash purchase, line accountNo is a GL posting account. If AutoCount says no default account or AI does not know the account, first call read-default-accounts and use purchaseAccNo, or list read-chart-accounts and choose a valid purchase/expense account. For AP invoice, if accountNo is omitted the connector tries payload/default purchase account first, then recent AP invoice history for the same creditor. For cash purchase, create/list/get are supported where AutoCount exposes the command; direct void/delete stay guarded until the linked payment/cash-book reversal workflow is proven.

validate-goods-received-note read Validate Validate a goods received note without saving.

Full payload schema: /v1/schema/commands/validate-goods-received-note

Payload fields

creditorCode
required AutoCount creditor/supplier code
items
optional alias for lines
creditorName
optional supplier display name; AutoCount creditor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional creditor branch code/name where the customer uses branches
purchaseLocation
optional exact active AutoCount purchase/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
purchaseAgent
optional Purchase Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional supplier address line 1
address2
optional supplier address line 2
address3
optional supplier address line 3
address4
optional supplier address line 4
description
optional document description/narration
ref
optional reference
supplierInvoiceNo
optional supplier invoice number
supplierDONo
optional supplier delivery order number
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional document-level fallback GL posting account for purchase invoice/cash purchase lines when item/account mapping is not enough
postingAccountRule
For create-purchase-invoice and create-cash-purchase, pass lines[].accountNo / accNo / glAccount / postingAccountNo when AutoCount has no default purchase account. Use read-default-accounts.purchaseAccNo or choose a valid purchase/expense account from read-chart-accounts. For create-ap-invoice, if accountNo is omitted the connector also tries the same creditor's recent AP invoice detail account.
payments
optional array for cash purchase style documents; send multiple payment rows for AutoCount Multi Payment. cash purchase void/delete remains guarded because linked payment/cash-book reversal needs module-specific proof
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example JSON

{
  "creditorCode": "400-S001",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "docDate": "2026-06-24",
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "purchaseLocation": "HQ",
  "purchaseAgent": "PA01",
  "attention": "Supplier Sales Department",
  "contact": "Supplier Sales Department",
  "phone": "03-33333333",
  "address1": "No. 2 Jalan Supplier",
  "address2": "Supplier Park",
  "address3": "Petaling Jaya",
  "address4": "Malaysia",
  "description": "Purchase document created through API",
  "supplierInvoiceNo": "SUP-INV-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API purchase item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 80,
      "discount": "0",
      "taxType": "P-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 160,
      "accountNo": "610-0000",
      "postingAccountNo": "610-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "610-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 80,
      "taxType": "P-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 100,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "BANK",
      "paymentBy": "Bank Transfer",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Validation only; does not save. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. purchaseLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default. For purchase invoice/cash purchase, line accountNo is a GL posting account. If AutoCount says no default account or AI does not know the account, first call read-default-accounts and use purchaseAccNo, or list read-chart-accounts and choose a valid purchase/expense account. For AP invoice, if accountNo is omitted the connector tries payload/default purchase account first, then recent AP invoice history for the same creditor. For cash purchase, create/list/get are supported where AutoCount exposes the command; direct void/delete stay guarded until the linked payment/cash-book reversal workflow is proven.

validate-purchase-invoice read Validate Validate a purchase invoice without saving.

Full payload schema: /v1/schema/commands/validate-purchase-invoice

Payload fields

creditorCode
required AutoCount creditor/supplier code
items
optional alias for lines
creditorName
optional supplier display name; AutoCount creditor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional creditor branch code/name where the customer uses branches
purchaseLocation
optional exact active AutoCount purchase/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
purchaseAgent
optional Purchase Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional supplier address line 1
address2
optional supplier address line 2
address3
optional supplier address line 3
address4
optional supplier address line 4
description
optional document description/narration
ref
optional reference
supplierInvoiceNo
optional supplier invoice number
supplierDONo
optional supplier delivery order number
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional document-level fallback GL posting account for purchase invoice/cash purchase lines when item/account mapping is not enough
postingAccountRule
For create-purchase-invoice and create-cash-purchase, pass lines[].accountNo / accNo / glAccount / postingAccountNo when AutoCount has no default purchase account. Use read-default-accounts.purchaseAccNo or choose a valid purchase/expense account from read-chart-accounts. For create-ap-invoice, if accountNo is omitted the connector also tries the same creditor's recent AP invoice detail account.
payments
optional array for cash purchase style documents; send multiple payment rows for AutoCount Multi Payment. cash purchase void/delete remains guarded because linked payment/cash-book reversal needs module-specific proof
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example JSON

{
  "creditorCode": "400-S001",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "docDate": "2026-06-24",
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "purchaseLocation": "HQ",
  "purchaseAgent": "PA01",
  "attention": "Supplier Sales Department",
  "contact": "Supplier Sales Department",
  "phone": "03-33333333",
  "address1": "No. 2 Jalan Supplier",
  "address2": "Supplier Park",
  "address3": "Petaling Jaya",
  "address4": "Malaysia",
  "description": "Purchase document created through API",
  "supplierInvoiceNo": "SUP-INV-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API purchase item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 80,
      "discount": "0",
      "taxType": "P-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 160,
      "accountNo": "610-0000",
      "postingAccountNo": "610-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "610-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 80,
      "taxType": "P-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 100,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "BANK",
      "paymentBy": "Bank Transfer",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Validation only; does not save. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. purchaseLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default. For purchase invoice/cash purchase, line accountNo is a GL posting account. If AutoCount says no default account or AI does not know the account, first call read-default-accounts and use purchaseAccNo, or list read-chart-accounts and choose a valid purchase/expense account. For AP invoice, if accountNo is omitted the connector tries payload/default purchase account first, then recent AP invoice history for the same creditor. For cash purchase, create/list/get are supported where AutoCount exposes the command; direct void/delete stay guarded until the linked payment/cash-book reversal workflow is proven.

validate-purchase-order read Validate Validate a purchase order without saving.

Full payload schema: /v1/schema/commands/validate-purchase-order

Payload fields

creditorCode
required AutoCount creditor/supplier code
items
optional alias for lines
creditorName
optional supplier display name; AutoCount creditor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional creditor branch code/name where the customer uses branches
purchaseLocation
optional exact active AutoCount purchase/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
purchaseAgent
optional Purchase Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional supplier address line 1
address2
optional supplier address line 2
address3
optional supplier address line 3
address4
optional supplier address line 4
description
optional document description/narration
ref
optional reference
supplierInvoiceNo
optional supplier invoice number
supplierDONo
optional supplier delivery order number
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional document-level fallback GL posting account for purchase invoice/cash purchase lines when item/account mapping is not enough
postingAccountRule
For create-purchase-invoice and create-cash-purchase, pass lines[].accountNo / accNo / glAccount / postingAccountNo when AutoCount has no default purchase account. Use read-default-accounts.purchaseAccNo or choose a valid purchase/expense account from read-chart-accounts. For create-ap-invoice, if accountNo is omitted the connector also tries the same creditor's recent AP invoice detail account.
payments
optional array for cash purchase style documents; send multiple payment rows for AutoCount Multi Payment. cash purchase void/delete remains guarded because linked payment/cash-book reversal needs module-specific proof
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example JSON

{
  "creditorCode": "400-S001",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "docDate": "2026-06-24",
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "purchaseLocation": "HQ",
  "purchaseAgent": "PA01",
  "attention": "Supplier Sales Department",
  "contact": "Supplier Sales Department",
  "phone": "03-33333333",
  "address1": "No. 2 Jalan Supplier",
  "address2": "Supplier Park",
  "address3": "Petaling Jaya",
  "address4": "Malaysia",
  "description": "Purchase document created through API",
  "supplierInvoiceNo": "SUP-INV-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API purchase item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 80,
      "discount": "0",
      "taxType": "P-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 160,
      "accountNo": "610-0000",
      "postingAccountNo": "610-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "610-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 80,
      "taxType": "P-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 100,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "BANK",
      "paymentBy": "Bank Transfer",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Validation only; does not save. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. purchaseLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default. For purchase invoice/cash purchase, line accountNo is a GL posting account. If AutoCount says no default account or AI does not know the account, first call read-default-accounts and use purchaseAccNo, or list read-chart-accounts and choose a valid purchase/expense account. For AP invoice, if accountNo is omitted the connector tries payload/default purchase account first, then recent AP invoice history for the same creditor. For cash purchase, create/list/get are supported where AutoCount exposes the command; direct void/delete stay guarded until the linked payment/cash-book reversal workflow is proven.

validate-purchase-return read Validate Validate a purchase return without saving.

Full payload schema: /v1/schema/commands/validate-purchase-return

Payload fields

creditorCode
required AutoCount creditor/supplier code
items
optional alias for lines
creditorName
optional supplier display name; AutoCount creditor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional creditor branch code/name where the customer uses branches
purchaseLocation
optional exact active AutoCount purchase/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
purchaseAgent
optional Purchase Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional supplier address line 1
address2
optional supplier address line 2
address3
optional supplier address line 3
address4
optional supplier address line 4
description
optional document description/narration
ref
optional reference
supplierInvoiceNo
optional supplier invoice number
supplierDONo
optional supplier delivery order number
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional document-level fallback GL posting account for purchase invoice/cash purchase lines when item/account mapping is not enough
postingAccountRule
For create-purchase-invoice and create-cash-purchase, pass lines[].accountNo / accNo / glAccount / postingAccountNo when AutoCount has no default purchase account. Use read-default-accounts.purchaseAccNo or choose a valid purchase/expense account from read-chart-accounts. For create-ap-invoice, if accountNo is omitted the connector also tries the same creditor's recent AP invoice detail account.
payments
optional array for cash purchase style documents; send multiple payment rows for AutoCount Multi Payment. cash purchase void/delete remains guarded because linked payment/cash-book reversal needs module-specific proof
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example JSON

{
  "creditorCode": "400-S001",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "docDate": "2026-06-24",
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "purchaseLocation": "HQ",
  "purchaseAgent": "PA01",
  "attention": "Supplier Sales Department",
  "contact": "Supplier Sales Department",
  "phone": "03-33333333",
  "address1": "No. 2 Jalan Supplier",
  "address2": "Supplier Park",
  "address3": "Petaling Jaya",
  "address4": "Malaysia",
  "description": "Purchase document created through API",
  "supplierInvoiceNo": "SUP-INV-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API purchase item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 80,
      "discount": "0",
      "taxType": "P-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 160,
      "accountNo": "610-0000",
      "postingAccountNo": "610-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "610-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 80,
      "taxType": "P-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 100,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "BANK",
      "paymentBy": "Bank Transfer",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Validation only; does not save. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. purchaseLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default. For purchase invoice/cash purchase, line accountNo is a GL posting account. If AutoCount says no default account or AI does not know the account, first call read-default-accounts and use purchaseAccNo, or list read-chart-accounts and choose a valid purchase/expense account. For AP invoice, if accountNo is omitted the connector tries payload/default purchase account first, then recent AP invoice history for the same creditor. For cash purchase, create/list/get are supported where AutoCount exposes the command; direct void/delete stay guarded until the linked payment/cash-book reversal workflow is proven.

void-cash-purchase write Void Void a cash purchase while keeping audit trail.

Full payload schema: /v1/schema/commands/void-cash-purchase

Payload fields

docNo
required document number
reason
optional void reason

Example JSON

{
  "docNo": "CP-000001",
  "reason": "voided by API request"
}

Notes: Uses AutoCount CancelDocument and returns operationUsed: CancelDocument. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

void-goods-received-note write Void Void a goods received note while keeping audit trail.

Full payload schema: /v1/schema/commands/void-goods-received-note

Payload fields

docNo
required document number
reason
optional void reason

Example JSON

{
  "docNo": "GRN-000001",
  "reason": "voided by API request"
}

Notes: Uses AutoCount CancelDocument and returns operationUsed: CancelDocument. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

void-purchase-invoice write Void Void a purchase invoice while keeping audit trail.

Full payload schema: /v1/schema/commands/void-purchase-invoice

Payload fields

docNo
required document number
reason
optional void reason

Example JSON

{
  "docNo": "PI-000001",
  "reason": "voided by API request"
}

Notes: Uses AutoCount CancelDocument and returns operationUsed: CancelDocument. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

void-purchase-order write Void Void a purchase order while keeping audit trail.

Full payload schema: /v1/schema/commands/void-purchase-order

Payload fields

docNo
required document number
reason
optional void reason

Example JSON

{
  "docNo": "PO-000001",
  "reason": "voided by API request"
}

Notes: Uses AutoCount CancelDocument and returns operationUsed: CancelDocument. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

void-purchase-return write Void Void a purchase return while keeping audit trail.

Full payload schema: /v1/schema/commands/void-purchase-return

Payload fields

docNo
required document number
reason
optional void reason

Example JSON

{
  "docNo": "PR-000001",
  "reason": "voided by API request"
}

Notes: Uses AutoCount CancelDocument and returns operationUsed: CancelDocument. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

Reports15 commandsPDF/Report 15
arap-document-autocount-pdf report PDF/Report Generate AutoCount PDFs for AR/AP invoice, payment, deposit, refund, credit note, debit note, and contra.

Full payload schema: /v1/schema/commands/arap-document-autocount-pdf

Payload fields

document
ar-invoice | ap-invoice | ar-payment | ap-payment | ar-deposit | ap-deposit | ar-refund | ap-refund | ar-credit-note | ap-credit-note | ar-debit-note | ap-debit-note | arap-contra
docNo
required unless docKey is supplied
docKey
optional numeric document key
reportName
optional AutoCount report template
out
optional local connector output path

Example JSON

{
  "document": "ar-payment",
  "docNo": "OR-000001"
}

Notes: Uses AutoCount report templates. Invoice/payment/deposit/refund use single-document listing data sources; credit/debit note and contra use document data sources.

arap-statement-autocount-pdf report PDF/Report Generate official AutoCount debtor or creditor statement PDF.

Full payload schema: /v1/schema/commands/arap-statement-autocount-pdf

Payload fields

document
debtor-statement | creditor-statement
debtorCode
optional when document is debtor-statement
creditorCode
optional when document is creditor-statement
fromDate
optional YYYY-MM-DD start date
toDate
optional YYYY-MM-DD end date
reportName
optional exact AutoCount statement template, for example Debtor Statement - 12 Months or Creditor Statement - 6 Months
out
optional local connector output path ending with .pdf
statementType
optional DebtorDefault/CreditorDefault | OpenItemOnly | BalanceBF
zeroBalanceMethod
optional Exclude | Include | IncludeWithActiveTransactionOnly
showPaidTransaction
optional boolean; default true
showGroupCompany
optional boolean; default true
showSubCompany
optional boolean; default true
showInLocalCurrency
optional boolean; default false
includeZeroAmountTransaction
optional boolean; default true
normalStatement
optional boolean; default true

Example JSON

{
  "document": "debtor-statement",
  "debtorCode": "300-A001",
  "fromDate": "2026-01-01",
  "toDate": "2026-12-31",
  "reportName": "Debtor Statement - 12 Months"
}

Notes: Supported for debtor and creditor statements. Uses AutoCount statement report templates and returns a downloadable PDF artifact. Requires local-mvp-2026.09.28.04 or later installed on the selected connector; publishing the download does not install it. Statement options align with the JSON inquiry. Generate an official AutoCount debtor or creditor statement PDF using an available compatible native template; schema availability does not prove account-book acceptance. Download result.artifactUrl or GET /v1/commands/{commandId}/artifact with the same tenant key. No email, physical printing or standalone aging export is implied.

creditor-statement-report read PDF/Report Read AutoCount creditor statement data.

Full payload schema: /v1/schema/commands/creditor-statement-report

Payload fields

creditorCode
optional supplier account code; omit to include all creditors
fromDate
optional YYYY-MM-DD start date
toDate
optional YYYY-MM-DD end date; default today
statementType
optional CreditorDefault | OpenItemOnly | BalanceBF
zeroBalanceMethod
optional Exclude | Include | IncludeWithActiveTransactionOnly
showPaidTransaction
optional boolean; default true
showGroupCompany
optional boolean; default true
showSubCompany
optional boolean; default true
showInLocalCurrency
optional boolean; default false
includeZeroAmountTransaction
optional boolean; default true
normalStatement
optional boolean; default true
maxRows
optional integer rows per table; default -1 for all rows, 0 for metadata only

Example JSON

{
  "creditorCode": "400-S001",
  "fromDate": "2026-01-01",
  "toDate": "2026-12-31",
  "statementType": "CreditorDefault",
  "zeroBalanceMethod": "IncludeWithActiveTransactionOnly",
  "showPaidTransaction": true
}

Notes: Uses AutoCount CreditorStatement.Inquire and returns the real statement DataSet tables. This is data output, not a PDF. Requires local-mvp-2026.09.28.04 or later installed on the selected connector; publishing the download does not install it. native statement inquiry adds tables[].data with per-table columns, rows, returnedRows and truncated, preserving legacy top-level data. maxRows limits each table; an artifact cannot recover rows omitted by that limit. Large service results use result-json-gzip artifacts (.json.gz, application/octet-stream): download with the same tenant key and decompress locally before parsing. Direct JSON results may instead have bounded previews and a full JSON artifact. Native permissions/templates and account-book acceptance remain separate from schema availability.

debtor-aging-autocount-pdf report PDF/Report Generate a native debtor aging PDF at a cutoff date.

Full payload schema: /v1/schema/commands/debtor-aging-autocount-pdf

Payload fields

asOfDate
optional YYYY-MM-DD cutoff date; default connector today; aliases reportDate/toDate, not a date range
debtorCode
optional single debtor code; omit for all debtors; explicit blank is rejected
currencyMode
optional AccountCurrency | LocalCurrencyByDocument; default AccountCurrency
includeZeroBalance
optional boolean; default false
includeFutureDoc
optional boolean; default false
showGroupCompany
optional boolean; default false
showSubCompany
optional boolean; default false
withDetails
optional boolean; default true
withPDCheque
optional boolean; default false
withSalesAnalysis
optional boolean; default false
reportName
optional exact installed Debtor Aging report template; discover with list-autocount-report-templates
out
optional local connector PDF path; omit for cloud use

Example JSON

{
  "asOfDate": "2026-09-30",
  "debtorCode": "300-A001",
  "currencyMode": "AccountCurrency",
  "withDetails": true
}

Notes: Requires local-mvp-2026.09.28.04 or later installed on the selected connector; publishing the download does not install it. native DebtorAging.Inquire with native report data. asOfDate is a cutoff, not a fromDate/toDate range; fromDate/startDate and conflicting aliases are rejected. No user-defined exchange rates. Bucket labels come from Report Option AgingWord0..23 and the account-book AgingFormat2, never assumed 30-day periods. Native implementation/template availability and account-book acceptance are separate from schema discovery. Exports an installed compatible Debtor Aging template; use result.artifactUrl with the same tenant key. A statement PDF is not a standalone aging report.

debtor-aging-report report PDF/Report Read native debtor aging tables at a cutoff date.

Full payload schema: /v1/schema/commands/debtor-aging-report

Payload fields

asOfDate
optional YYYY-MM-DD cutoff date; default connector today; aliases reportDate/toDate, not a date range
debtorCode
optional single debtor code; omit for all debtors; explicit blank is rejected
currencyMode
optional AccountCurrency | LocalCurrencyByDocument; default AccountCurrency
includeZeroBalance
optional boolean; default false
includeFutureDoc
optional boolean; default false
showGroupCompany
optional boolean; default false
showSubCompany
optional boolean; default false
withDetails
optional boolean; default true
withPDCheque
optional boolean; default false
withSalesAnalysis
optional boolean; default false
maxRows
optional integer rows per table; default -1 for all rows, 0 for metadata only

Example JSON

{
  "asOfDate": "2026-09-30",
  "debtorCode": "300-A001",
  "currencyMode": "AccountCurrency",
  "withDetails": true
}

Notes: Requires local-mvp-2026.09.28.04 or later installed on the selected connector; publishing the download does not install it. native DebtorAging.Inquire with native report data. asOfDate is a cutoff, not a fromDate/toDate range; fromDate/startDate and conflicting aliases are rejected. No user-defined exchange rates. Bucket labels come from Report Option AgingWord0..23 and the account-book AgingFormat2, never assumed 30-day periods. Native implementation/template availability and account-book acceptance are separate from schema discovery. Master rows remain in top-level data; tables[].data carries all serialized tables with columns and row counts. maxRows limits each table; artifacts cannot restore excluded rows. Large service results use result-json-gzip (.json.gz, application/octet-stream); download the authenticated artifact and decompress locally. Direct JSON results may use bounded previews with a full JSON artifact.

debtor-statement-report read PDF/Report Read AutoCount debtor statement data.

Full payload schema: /v1/schema/commands/debtor-statement-report

Payload fields

debtorCode
optional debtor/customer account code; omit to include all debtors
fromDate
optional YYYY-MM-DD start date
toDate
optional YYYY-MM-DD end date; default today
statementType
optional DebtorDefault | OpenItemOnly | BalanceBF
zeroBalanceMethod
optional Exclude | Include | IncludeWithActiveTransactionOnly
showPaidTransaction
optional boolean; default true
showGroupCompany
optional boolean; default true
showSubCompany
optional boolean; default true
showInLocalCurrency
optional boolean; default false
includeZeroAmountTransaction
optional boolean; default true
normalStatement
optional boolean; default true
maxRows
optional integer rows per table; default -1 for all rows, 0 for metadata only

Example JSON

{
  "debtorCode": "300-A001",
  "fromDate": "2026-01-01",
  "toDate": "2026-12-31",
  "statementType": "DebtorDefault",
  "zeroBalanceMethod": "IncludeWithActiveTransactionOnly",
  "showPaidTransaction": true
}

Notes: Uses AutoCount DebtorStatement.Inquire and returns the real statement DataSet tables. This is data output, not a PDF. Requires local-mvp-2026.09.28.04 or later installed on the selected connector; publishing the download does not install it. native statement inquiry adds tables[].data with per-table columns, rows, returnedRows and truncated, preserving legacy top-level data. maxRows limits each table; an artifact cannot recover rows omitted by that limit. Native aging headings and currencies must be retained, not inferred. Large service results use result-json-gzip artifacts (.json.gz, application/octet-stream): download with the same tenant key, decompress locally, then parse the full JSON. Direct JSON results may instead have bounded previews and a full JSON artifact. Cloud performs no gzip decompression. Use arap-statement-autocount-pdf for an official layout; schema availability is not account-book or deployment acceptance.

diagnose-sales-document-pdf read PDF/Report Diagnose sales document PDF export without creating a PDF.

Full payload schema: /v1/schema/commands/diagnose-sales-document-pdf

Payload fields

document
invoice | sales-order | delivery-order | cash-sale | quotation | advanced-quotation | sales-credit-note | sales-debit-note
docNo
required
reportTimeoutSeconds
optional requested timeout metadata

Example JSON

{
  "document": "invoice",
  "docNo": "IV-000001"
}

Notes: Read-only. Loads the same AutoCount report data source and returns dataSourceLoadMs, reportDataTables, sourceDocumentCounts, and timeoutPropertiesApplied. Use this when PDF export times out, especially invoices transferred from multiple Delivery Orders.

gl-document-autocount-pdf report PDF/Report Generate AutoCount-looking GL cash book voucher and journal voucher PDFs.

Full payload schema: /v1/schema/commands/gl-document-autocount-pdf

Payload fields

document
payment-voucher | official-receipt | cash-book | journal-entry
docNo
required unless docKey is supplied
docKey
optional numeric document key
reportName
optional AutoCount report template
out
optional local connector output path

Example JSON

{
  "document": "payment-voucher",
  "docNo": "PV-000001",
  "reportName": "PV - Half Page"
}

Notes: payment-voucher, official-receipt, and journal-entry are supported with AutoCount report templates.

list-autocount-report-templates read PDF/Report List AutoCount report templates available in this account book.

Full payload schema: /v1/schema/commands/list-autocount-report-templates

Payload fields

document
optional friendly document/module filter such as statement, sales-invoice, purchase-invoice, stock-adjustment, ar-payment, payment-voucher, journal-entry
reportType
optional exact AutoCount ReportType value when known
reportTypeLike
optional partial AutoCount ReportType search text, for example Statement
maxRows
optional maximum rows to return; default 500

Example JSON

{
  "document": "statement",
  "maxRows": 200
}

Notes: Use this first when a human wants to choose the same report layout they see in AutoCount. Then send the selected ReportName as reportName to the PDF/report command. Lists report templates from AutoCount DefaultReport and Report tables. Pick a ReportName from the result and pass it as reportName to AutoCount PDF/report commands.

purchase-document-autocount-pdf report PDF/Report Generate an AutoCount-looking purchase document PDF/report.

Full payload schema: /v1/schema/commands/purchase-document-autocount-pdf

Payload fields

document
purchase-order | goods-received-note | purchase-invoice | purchase-return | cash-purchase
docNo
required
reportName
optional AutoCount report template
out
optional local connector output path

Example JSON

{
  "document": "purchase-invoice",
  "docNo": "PI-000001",
  "reportName": "Purchase Invoice"
}

Notes: Uses AutoCount purchase report templates for PO, GRN, purchase invoice, purchase return, and cash purchase. Connector 2026.09.11.01 updates native PrintCount after verified PDF generation; Sales/Purchase Edit permission is required. Returns printCountBefore, printCountAfter and printCountVerified. Invoice and purchase invoice tested; other templates require site verification. Retry with the SAME commandId; interrupted output requires manual reconciliation, not a fresh ID. GL/AR/AP/Stock/statement report counting is unchanged.

sales-document-autocount-pdf report PDF/Report Generate an AutoCount-looking sales document PDF/report.

Full payload schema: /v1/schema/commands/sales-document-autocount-pdf

Payload fields

document
invoice | sales-order | delivery-order | cash-sale | quotation | advanced-quotation | sales-credit-note | sales-debit-note
docNo
required
reportName
optional exact AutoCount report template; use list-autocount-report-templates to discover names
reportTimeoutSeconds
optional requested timeout metadata; AutoCount may still use an internal SQL timeout if the DLL exposes no timeout property
out
optional local output path

Example JSON

{
  "document": "invoice",
  "docNo": "IV-000001",
  "reportName": "Invoice"
}

Notes: Connector 2026.09.11.01 updates native PrintCount after verified PDF generation; Sales/Purchase Edit permission is required. Returns printCountBefore, printCountAfter and printCountVerified. Invoice and purchase invoice tested; other templates require site verification. Retry with the SAME commandId; interrupted output requires manual reconciliation, not a fresh ID. GL/AR/AP/Stock/statement report counting is unchanged.

sales-invoice-autocount-pdf report PDF/Report Legacy sales invoice PDF/export command. Prefer sales-document-autocount-pdf for new integrations.

Full payload schema: /v1/schema/commands/sales-invoice-autocount-pdf

Payload fields

docNo
required sales invoice document number
out
optional local connector output path

Example JSON

{
  "docNo": "IV-000001"
}

Notes: Compatibility command kept for older integrations. Connector 2026.09.11.01 updates native PrintCount after verified PDF generation; Sales/Purchase Edit permission is required. Returns printCountBefore, printCountAfter and printCountVerified. Invoice and purchase invoice tested; other templates require site verification. Retry with the SAME commandId; interrupted output requires manual reconciliation, not a fresh ID. GL/AR/AP/Stock/statement report counting is unchanged.

sales-report-html report PDF/Report Generate readable sales report HTML.

Full payload schema: /v1/schema/commands/sales-report-html

Payload fields

document
invoice | cash-sale | sales-order | quotation
out
optional local output path

Example JSON

{
  "document": "invoice"
}
statement-report-html report PDF/Report Export a human-readable debtor or creditor statement HTML report.

Full payload schema: /v1/schema/commands/statement-report-html

Payload fields

document
debtor-statement | creditor-statement
debtorCode
optional debtor/customer account code when document is debtor-statement; omit to include all
creditorCode
optional supplier account code when document is creditor-statement; omit to include all
fromDate
optional YYYY-MM-DD start date
toDate
optional YYYY-MM-DD end date; default today
maxRows
optional integer transaction rows rendered per account; default 2000, -1 or 0 for all rows (legacy HTML behavior)
out
optional local connector output path ending with .html
statementType
optional DebtorDefault/CreditorDefault | OpenItemOnly | BalanceBF
zeroBalanceMethod
optional Exclude | Include | IncludeWithActiveTransactionOnly
showPaidTransaction
optional boolean; default true
showGroupCompany
optional boolean; default true
showSubCompany
optional boolean; default true
showInLocalCurrency
optional boolean; must remain false for the current HTML renderer
includeZeroAmountTransaction
optional boolean; default true
normalStatement
optional boolean; default true

Example JSON

{
  "document": "debtor-statement",
  "debtorCode": "300-A001",
  "fromDate": "2026-01-01",
  "toDate": "2026-12-31",
  "maxRows": 2000
}

Notes: Statement HTML report uses real AutoCount SDK statement data. For official AutoCount PDF layout, use arap-statement-autocount-pdf. Requires local-mvp-2026.09.28.04 or later installed on the selected connector; publishing the download does not install it. HTML groups single/all-account statements by native account ownership and currency, with per-account totals and aging headings. Ambiguous ownership, mixed currencies and local-currency rendering are rejected; use native PDF or JSON for local-currency data. maxRows applies per account and displayed totals include all its rows. out is a connector-local path, not a public URL; this schema does not promise an HTML artifact. Use arap-statement-autocount-pdf for an official layout.

stock-document-autocount-pdf report PDF/Report Generate an AutoCount-looking stock document PDF/report.

Full payload schema: /v1/schema/commands/stock-document-autocount-pdf

Payload fields

document
stock-adjustment | stock-receive | stock-issue | stock-transfer | stock-uom-conversion | stock-take | stock-write-off | stock-update-cost | stock-assembly | stock-assembly-order | stock-disassembly
docNo
required
reportName
optional AutoCount report template
out
optional local connector output path

Example JSON

{
  "document": "stock-adjustment",
  "docNo": "SA-000001",
  "reportName": "Stock Adjustment"
}

Notes: Uses AutoCount stock and manufacturing stock report templates.

Sales90 commandsRead 26Validate 8Create 9Edit 8Void 16Delete 8Transfer 12read 1write 2
bulk-get-sales-invoices read read Read many sales invoice headers in one connector execution.

Full payload schema: /v1/schema/commands/bulk-get-sales-invoices

Payload fields

docNos
required array or comma-separated DocNo list, or use fromDate/toDate
fromDate
YYYY-MM-DD optional
toDate
YYYY-MM-DD optional
headerOnly
optional boolean; currently true only
includeCustomer
optional boolean, default true
includeContact
optional boolean, default true
includeTotals
optional boolean, default true
limit
optional maximum rows, default 100, max 500

Example JSON

{
  "docNos": [
    "I-2608-001",
    "I-2608-046"
  ],
  "headerOnly": true,
  "includeCustomer": true,
  "includeContact": true,
  "includeTotals": true
}

Notes: Preferred when an AI already has invoice numbers. It avoids queueing one get-sales-invoice command per document. PDFStatus is available-on-demand; use sales-document-autocount-pdf for the actual PDF artifact.

cancel-advanced-quotation write Void Cancel a advanced quotation when AutoCount allows it.

Full payload schema: /v1/schema/commands/cancel-advanced-quotation

Payload fields

docNo
required document number
reason
optional cancellation reason

Example JSON

{
  "docNo": "AQ-000001",
  "reason": "cancelled by API request"
}

Notes: Cancellation depends on AutoCount posting/link status and account-book permissions.

cancel-cash-sale write Void Cancel a cash sale when AutoCount allows it.

Full payload schema: /v1/schema/commands/cancel-cash-sale

Payload fields

docNo
required document number
reason
optional cancellation reason

Example JSON

{
  "docNo": "CS-000001",
  "reason": "cancelled by API request"
}

Notes: Cancellation depends on AutoCount posting/link status and account-book permissions.

cancel-delivery-order write Void Cancel a delivery order when AutoCount allows it.

Full payload schema: /v1/schema/commands/cancel-delivery-order

Payload fields

docNo
required document number
reason
optional cancellation reason

Example JSON

{
  "docNo": "DO-000001",
  "reason": "cancelled by API request"
}

Notes: Cancellation depends on AutoCount posting/link status and account-book permissions.

cancel-quotation write Void Cancel a quotation when AutoCount allows it.

Full payload schema: /v1/schema/commands/cancel-quotation

Payload fields

docNo
required document number
reason
optional cancellation reason

Example JSON

{
  "docNo": "QT-000001",
  "reason": "cancelled by API request"
}

Notes: Cancellation depends on AutoCount posting/link status and account-book permissions.

cancel-sales-credit-note write Void Cancel a sales credit note when AutoCount allows it.

Full payload schema: /v1/schema/commands/cancel-sales-credit-note

Payload fields

docNo
required document number
reason
optional cancellation reason

Example JSON

{
  "docNo": "CN-000001",
  "reason": "cancelled by API request"
}

Notes: Cancellation depends on AutoCount posting/link status and account-book permissions.

cancel-sales-debit-note write Void Cancel a sales debit note when AutoCount allows it.

Full payload schema: /v1/schema/commands/cancel-sales-debit-note

Payload fields

docNo
required document number
reason
optional cancellation reason

Example JSON

{
  "docNo": "DN-000001",
  "reason": "cancelled by API request"
}

Notes: Cancellation depends on AutoCount posting/link status and account-book permissions.

cancel-sales-invoice write Void Cancel a sales invoice when AutoCount allows it.

Full payload schema: /v1/schema/commands/cancel-sales-invoice

Payload fields

docNo
required document number
reason
optional cancellation reason

Example JSON

{
  "docNo": "IV-000001",
  "reason": "cancelled by API request"
}

Notes: Cancellation depends on AutoCount posting/link status and account-book permissions.

cancel-sales-order write Void Cancel a sales order when AutoCount allows it.

Full payload schema: /v1/schema/commands/cancel-sales-order

Payload fields

docNo
required document number
reason
optional cancellation reason

Example JSON

{
  "docNo": "SO-000001",
  "reason": "cancelled by API request"
}

Notes: Cancellation depends on AutoCount posting/link status and account-book permissions.

change-sales-agent write write Change a sales agent code.

Full payload schema: /v1/schema/commands/change-sales-agent

Payload fields

oldAgent
required old value for oldAgent
newAgent
required new value for newAgent
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example JSON

{
  "oldAgent": "OLD-AGENT",
  "newAgent": "NEW-AGENT",
  "confirm": true
}

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

create-advanced-quotation write Create Create an advanced quotation.

Full payload schema: /v1/schema/commands/create-advanced-quotation

Payload fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
items
optional alias for lines
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example JSON

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Creates advanced quotation through AutoCount SDK. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

create-cash-sale write Create Create a cash sale.

Full payload schema: /v1/schema/commands/create-cash-sale

Payload fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
items
optional alias for lines
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example JSON

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Create Cash Sale with payment. Creates cash sale through AutoCount SDK and returns paymentLines where AutoCount exposes the payment table. Use read-payment-methods first; payments[].paymentMethod must match an active AutoCount Payment Method code, and paymentAmount totals should equal the document total. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

create-delivery-order write Create Create a delivery order.

Full payload schema: /v1/schema/commands/create-delivery-order

Payload fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
items
optional alias for lines
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example JSON

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Creates delivery order through AutoCount SDK. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

create-quotation write Create Create a quotation.

Full payload schema: /v1/schema/commands/create-quotation

Payload fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
items
optional alias for lines
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example JSON

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Creates quotation through AutoCount SDK. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

create-sales-credit-note write Create Create a sales credit note; guarded MyInvois type 02 recovery is supported for TSM.

Full payload schema: /v1/schema/commands/create-sales-credit-note

Payload fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
items
optional alias for lines
restoreMode
optional internal recovery value recover-existing-myinvois-direct
confirmNoLhdnSubmit
required true in recovery mode
taxEntity
required in recovery mode
eInvoiceRecovery
required UUID, timestamps, status, link, totals and tax in recovery mode
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example JSON

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Normal create uses AutoCount Sales CreditNote SDK. Recovery is companyId=tsm only, UUID guarded, reload verified, and does not submit to LHDN. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

create-sales-debit-note write Create Create a sales debit note; guarded MyInvois type 03 recovery is supported for TSM.

Full payload schema: /v1/schema/commands/create-sales-debit-note

Payload fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
items
optional alias for lines
restoreMode
optional internal recovery value recover-existing-myinvois-direct
confirmNoLhdnSubmit
required true in recovery mode
taxEntity
required in recovery mode
eInvoiceRecovery
required UUID, timestamps, status, link, totals and tax in recovery mode
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example JSON

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Normal create uses AutoCount Sales DebitNote SDK. Recovery is companyId=tsm only, UUID guarded, reload verified, and does not submit to LHDN. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

create-sales-invoice write Create Create a sales invoice. MyInvois disaster recovery is available only through the guarded TSM recovery mode.

Full payload schema: /v1/schema/commands/create-sales-invoice

Payload fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
items
optional alias for lines
restoreMode
optional internal recovery value recover-existing-myinvois-direct
confirmNoLhdnSubmit
required true in recovery mode
taxEntity
required authoritative taxpayer identity in recovery mode
eInvoiceRecovery
required authoritative UUID, timestamps, status, link, totals and tax in recovery mode
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example JSON

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Normal create requires write access. Recovery is companyId=tsm only, UUID guarded, reload verified, and never submits or resubmits to LHDN. See the MyInvois disaster recovery runbook. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

create-sales-order write Create Create a sales order.

Full payload schema: /v1/schema/commands/create-sales-order

Payload fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
items
optional alias for lines
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example JSON

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100,
      "accountNo": "500-0000"
    }
  ],
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Creates sales order through AutoCount SDK. If a stock line omits accountNo, connector uses AutoCount's default sales account where needed. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

create-stock-sales-order write Create Create stock-item-only Sales Order for MacSoft AI Agent.

Full payload schema: /v1/schema/commands/create-stock-sales-order

Payload fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date depending on numbering rules
lines
required array of stock-item rows only. Every line must include itemCode. accountNo, accNo, glAccount, and postingAccountNo are rejected.
docNo
optional AutoCount Sales Order number; omit to let AutoCount numbering generate it
displayTerm
optional credit term
currencyCode
optional currency code such as MYR
salesLocation
optional exact active stock location; copied only to lines that omit location
salesAgent
optional Sales Agent Maintenance code
multiPricing
optional AutoCount multi-pricing code/category
inclusiveTax
optional boolean; true when line prices include tax
items
optional alias for lines

Example JSON

{
  "debtorCode": "300-A001",
  "docDate": "2026-08-30",
  "salesLocation": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT",
      "location": "HQ",
      "unitPrice": 14,
      "description": "Stock item line"
    }
  ],
  "salesAgent": "SA01",
  "multiPricing": "P2",
  "inclusiveTax": false
}

Notes: Separate opt-in command. Uses AutoCount SalesOrder SDK Save path but does not resolve, apply, validate, or fall back to any default Sales Account / AccNo. Save failures return exceptionText. Create stock-item-only Sales Order for MacSoft AI Agent. This is a separate opt-in command and does not modify create-sales-order. Every line must include itemCode. Do not send accountNo, accNo, glAccount, or postingAccountNo; the connector will reject those fields and will not resolve or apply a default Sales Account / AccNo. If AutoCount Save fails, result.exceptionText includes the full SDK exception text for diagnosis.

delete-advanced-quotation write Delete Delete/void request for a advanced quotation.

Full payload schema: /v1/schema/commands/delete-advanced-quotation

Payload fields

docNo
required document number
reason
optional delete reason

Example JSON

{
  "docNo": "AQ-000001",
  "reason": "deleted by API request"
}

Notes: Safely maps to AutoCount cancellation/void behavior. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

delete-cash-sale write Delete Delete/void request for a cash sale.

Full payload schema: /v1/schema/commands/delete-cash-sale

Payload fields

docNo
required document number
reason
optional delete reason

Example JSON

{
  "docNo": "CS-000001",
  "reason": "deleted by API request"
}

Notes: Safely maps to AutoCount cancellation/void behavior. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

delete-delivery-order write Delete Delete/void request for a delivery order.

Full payload schema: /v1/schema/commands/delete-delivery-order

Payload fields

docNo
required document number
reason
optional delete reason

Example JSON

{
  "docNo": "DO-000001",
  "reason": "deleted by API request"
}

Notes: Safely maps to AutoCount cancellation/void behavior. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

delete-quotation write Delete Delete/void request for a quotation.

Full payload schema: /v1/schema/commands/delete-quotation

Payload fields

docNo
required document number
reason
optional delete reason

Example JSON

{
  "docNo": "QT-000001",
  "reason": "deleted by API request"
}

Notes: Safely maps to AutoCount cancellation/void behavior. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

delete-sales-credit-note write Delete Delete/void request for a sales credit note.

Full payload schema: /v1/schema/commands/delete-sales-credit-note

Payload fields

docNo
required document number
reason
optional delete reason

Example JSON

{
  "docNo": "CN-000001",
  "reason": "deleted by API request"
}

Notes: Safely maps to AutoCount cancellation/void behavior. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

delete-sales-debit-note write Delete Delete/void request for a sales debit note.

Full payload schema: /v1/schema/commands/delete-sales-debit-note

Payload fields

docNo
required document number
reason
optional delete reason

Example JSON

{
  "docNo": "DN-000001",
  "reason": "deleted by API request"
}

Notes: Safely maps to AutoCount cancellation/void behavior. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

delete-sales-invoice write Delete Delete/void request for a sales invoice.

Full payload schema: /v1/schema/commands/delete-sales-invoice

Payload fields

docNo
required document number
reason
optional delete reason

Example JSON

{
  "docNo": "IV-000001",
  "reason": "deleted by API request"
}

Notes: Safely maps to AutoCount cancellation/void behavior. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

delete-sales-order write Delete Delete/void request for a sales order.

Full payload schema: /v1/schema/commands/delete-sales-order

Payload fields

docNo
required document number
reason
optional delete reason

Example JSON

{
  "docNo": "SO-000001",
  "reason": "deleted by API request"
}

Notes: Safely maps to AutoCount cancellation/void behavior. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

get-advanced-quotation read Read Get one advanced quotation by document number.

Full payload schema: /v1/schema/commands/get-advanced-quotation

Payload fields

docNo
required advanced quotation document number

Example JSON

{
  "docNo": "AQ-000001"
}
get-cash-sale read Read Get one cash sale by document number.

Full payload schema: /v1/schema/commands/get-cash-sale

Payload fields

docNo
required cash sale document number

Example JSON

{
  "docNo": "CS-000001"
}
get-delivery-order read Read Get one delivery order by document number.

Full payload schema: /v1/schema/commands/get-delivery-order

Payload fields

docNo
required delivery order document number

Example JSON

{
  "docNo": "DO-000001"
}
get-quotation read Read Get one quotation by document number.

Full payload schema: /v1/schema/commands/get-quotation

Payload fields

docNo
required quotation document number

Example JSON

{
  "docNo": "QT-000001"
}
get-sales-credit-note read Read Get one sales credit note by document number.

Full payload schema: /v1/schema/commands/get-sales-credit-note

Payload fields

docNo
required sales credit note document number

Example JSON

{
  "docNo": "CN-000001"
}
get-sales-debit-note read Read Get one sales debit note by document number.

Full payload schema: /v1/schema/commands/get-sales-debit-note

Payload fields

docNo
required sales debit note document number

Example JSON

{
  "docNo": "DN-000001"
}
get-sales-invoice read Read Get one sales invoice by document number.

Full payload schema: /v1/schema/commands/get-sales-invoice

Payload fields

docNo
required sales invoice document number

Example JSON

{
  "docNo": "IV-000001"
}
get-sales-order read Read Get one sales order by document number.

Full payload schema: /v1/schema/commands/get-sales-order

Payload fields

docNo
required sales order document number

Example JSON

{
  "docNo": "SO-000001"
}
list-advanced-quotations read Read List advanced quotations.

Full payload schema: /v1/schema/commands/list-advanced-quotations

Payload fields

No payload fields required.

Example JSON

{}
list-cash-sales read Read List cash sales.

Full payload schema: /v1/schema/commands/list-cash-sales

Payload fields

No payload fields required.

Example JSON

{}
list-delivery-orders read Read List delivery orders.

Full payload schema: /v1/schema/commands/list-delivery-orders

Payload fields

No payload fields required.

Example JSON

{}
list-quotations read Read List quotations.

Full payload schema: /v1/schema/commands/list-quotations

Payload fields

No payload fields required.

Example JSON

{}
list-sales-credit-notes read Read List sales credit notes.

Full payload schema: /v1/schema/commands/list-sales-credit-notes

Payload fields

No payload fields required.

Example JSON

{}
list-sales-debit-notes read Read List sales debit notes.

Full payload schema: /v1/schema/commands/list-sales-debit-notes

Payload fields

No payload fields required.

Example JSON

{}
list-sales-invoices read Read List sales invoices. Supports fast date-filtered rich headers so AI does not need one get-sales-invoice command per invoice.

Full payload schema: /v1/schema/commands/list-sales-invoices

Payload fields

fromDate
YYYY-MM-DD optional
toDate
YYYY-MM-DD optional
docNos
optional array or comma-separated DocNo list
limit
optional maximum rows, default 100, max 500
top
optional alias for limit
take
optional alias for limit
includeCustomer
optional boolean; returns DebtorName/CreditorName where available
includeContact
optional boolean; returns Attention, CustomerPhone, CustomerMobile, CustomerEmail where available
includeTotals
optional boolean; returns NetTotal, Tax, FinalTotal, current live AR open balance as OutstandingAmount, EInvoiceStatus, and DocType RI
orderBy
optional; latest-first ordering is DocDate desc, DocNo desc

Example JSON

{
  "fromDate": "2026-08-01",
  "toDate": "2026-08-31",
  "limit": 500,
  "includeCustomer": true,
  "includeContact": true,
  "includeTotals": true
}

Notes: Uses one bounded read-only AutoCount DBSetting header query. Returned fields include DocKey, DocNo, DocDate, DebtorCode, DebtorName, DocType, Description, Ref, CurrencyCode, NetTotal, Tax, FinalTotal, OutstandingAmount, Cancelled, EInvoiceStatus, CustomerEmail, CustomerMobile, pdfAvailable, PDFStatus, and PDFCommand. For Sales Invoice, DocType is RI and OutstandingAmount is the current live AR open balance from ARInvoice; fully settled invoices return 0.

list-sales-orders read Read List sales orders.

Full payload schema: /v1/schema/commands/list-sales-orders

Payload fields

No payload fields required.

Example JSON

{}
print-sales-document write write Print a native sales document and verify Print Count.

Full payload schema: /v1/schema/commands/print-sales-document

Payload fields

document
invoice | sales-order | delivery-order | quotation | advanced-quotation | cash-sale | sales-credit-note | sales-debit-note
docNo
required
reportName
required exact installed AutoCount template name
printerName
required exact installed Windows printer name

Example JSON

{
  "document": "invoice",
  "docNo": "IV-000001",
  "reportName": "Invoice",
  "printerName": "MF240 Series"
}

Notes: Requires connector 2026.09.11.01 and Sales Edit permission. Sales invoice verified on Canon MF240; other templates require site testing. Returns printCountBefore/After/Verified, printerJobId and spoolerCompleted, not proof of physical delivery. Reuse the SAME commandId on retry. Interrupted output is blocked for manual reconciliation; never bypass with a new ID.

read-advanced-quotation-lines read Read Read advanced quotation detail lines only.

Full payload schema: /v1/schema/commands/read-advanced-quotation-lines

Payload fields

itemCode
optional
debtorCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "itemCode": "ITEM001",
  "limit": 50
}
read-cash-sale-lines read Read Read cash sale detail lines only.

Full payload schema: /v1/schema/commands/read-cash-sale-lines

Payload fields

itemCode
optional
debtorCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "itemCode": "ITEM001",
  "limit": 50
}
read-delivery-order-lines read Read Read delivery order detail lines only.

Full payload schema: /v1/schema/commands/read-delivery-order-lines

Payload fields

itemCode
optional
debtorCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "docNo": "DO-000001",
  "limit": 50
}
read-item-sales-by-customer read Read Rank customers who bought an item by quantity and amount.

Full payload schema: /v1/schema/commands/read-item-sales-by-customer

Payload fields

itemCode
required stock item code
fromDate
YYYY-MM-DD optional; dateFrom also accepted
toDate
YYYY-MM-DD optional; dateTo also accepted
limit
optional maximum customer rows, default 100, max 500
includeInvoices
optional boolean, default true
includeCashSales
optional boolean, default true

Example JSON

{
  "itemCode": "00002",
  "fromDate": "2020-01-01",
  "toDate": "2026-07-19",
  "limit": 10
}

Notes: Use this when asking who bought the most of one item. It reads sales invoice and cash sale detail lines, groups by debtor/customer, and returns TotalQty, TotalAmount, DocumentCount, FirstDocDate, and LastDocDate.

read-quotation-lines read Read Read quotation detail lines only.

Full payload schema: /v1/schema/commands/read-quotation-lines

Payload fields

itemCode
optional
debtorCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "itemCode": "ITEM001",
  "limit": 50
}
read-sales-credit-note-lines read Read Read sales credit note detail lines only.

Full payload schema: /v1/schema/commands/read-sales-credit-note-lines

Payload fields

itemCode
optional
debtorCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "docNo": "CN-000001",
  "limit": 50
}
read-sales-debit-note-lines read Read Read sales debit note detail lines only.

Full payload schema: /v1/schema/commands/read-sales-debit-note-lines

Payload fields

itemCode
optional
debtorCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "docNo": "DN-000001",
  "limit": 50
}
read-sales-detail-lines read Read Read all sales document lines together, or filter with document.

Full payload schema: /v1/schema/commands/read-sales-detail-lines

Payload fields

document
optional: sales-invoice | cash-sale | delivery-order | sales-order | quotation | advanced-quotation | sales-credit-note | sales-debit-note
itemCode
optional
debtorCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional, default 100, max 500

Example JSON

{
  "document": "sales-invoice",
  "itemCode": "ITEM001",
  "dateFrom": "2026-01-01",
  "dateTo": "2026-07-19",
  "limit": 50
}

Notes: Prefer the document-specific read-*-lines commands when the document family is known.

read-sales-invoice-lines read Read Read sales invoice detail lines only.

Full payload schema: /v1/schema/commands/read-sales-invoice-lines

Payload fields

itemCode
optional
debtorCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "itemCode": "ITEM001",
  "dateFrom": "2026-01-01",
  "limit": 50
}

Notes: Returns header keys plus raw AutoCount invoice detail columns such as ItemCode, AccNo, Qty, UOM, UnitPrice, TaxCode, ProjNo, DeptNo, and Detail_* fields.

read-sales-order-lines read Read Read sales order detail lines only.

Full payload schema: /v1/schema/commands/read-sales-order-lines

Payload fields

itemCode
optional
debtorCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "debtorCode": "300-A001",
  "limit": 50
}
transfer-advanced-quotation-to-delivery-order write Transfer Transfer Advanced Quotation to delivery-order through AutoCount SDK.

Full payload schema: /v1/schema/commands/transfer-advanced-quotation-to-delivery-order

Payload fields

fromDocNo
required Advanced Quotation number
docDate
optional YYYY-MM-DD target document date
docNo
optional target number
sourceDocNo
required source advanced quotation document number
targetDocNo
optional target delivery order document number; omit to let AutoCount numbering generate it
creditorCode
optional supplier code where transfer creates a purchase document
debtorCode
optional customer code where transfer creates a sales document
transferQtyMode
optional transfer quantity mode such as all or outstanding
saveAsDraft
optional boolean; for delivery-order to sales-invoice, true saves the transferred invoice as an AutoCount draft
lines
optional selected source line rows with itemCode, sourceLineNo, qty, uom
description
optional target document narration
ref
optional target reference

Example JSON

{
  "fromDocNo": "Q-000001",
  "docDate": "2026-06-24",
  "sourceDocNo": "DOC-000001",
  "targetDocNo": "",
  "creditorCode": "400-S001",
  "transferQtyMode": "outstanding",
  "saveAsDraft": false,
  "description": "Transfer advanced quotation to delivery order",
  "ref": "API-TRANSFER-1001",
  "lines": [
    {
      "sourceLineNo": 1,
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT"
    }
  ]
}

Notes: Requires a connector build exposing this command. Uses source DocKey with SDK FullTransfer; preserves source reference and transferred quantity. Ordinary Quotation destination remains guarded after SDK failure. Full-document transfer only; partial-transfer-document does not yet support Advanced Quotation. AutoCount transfer rules decide which source lines and quantities are allowed. Omit lines to transfer the normal outstanding balance where supported.

transfer-advanced-quotation-to-quotation write Transfer Guarded: Advanced Quotation to ordinary Quotation is not currently supported.

Full payload schema: /v1/schema/commands/transfer-advanced-quotation-to-quotation

Payload fields

fromDocNo
Advanced Quotation number

Example JSON

{
  "fromDocNo": "Q-000001"
}

Notes: This command rejects before creating a target. The installed SDK failed the native transfer test. Do not use as a working transfer or cancel/recreate documents automatically.

transfer-advanced-quotation-to-sales-invoice write Transfer Transfer Advanced Quotation to sales-invoice through AutoCount SDK.

Full payload schema: /v1/schema/commands/transfer-advanced-quotation-to-sales-invoice

Payload fields

fromDocNo
required Advanced Quotation number
docDate
optional YYYY-MM-DD target document date
docNo
optional target number
sourceDocNo
required source advanced quotation document number
targetDocNo
optional target sales invoice document number; omit to let AutoCount numbering generate it
creditorCode
optional supplier code where transfer creates a purchase document
debtorCode
optional customer code where transfer creates a sales document
transferQtyMode
optional transfer quantity mode such as all or outstanding
saveAsDraft
optional boolean; for delivery-order to sales-invoice, true saves the transferred invoice as an AutoCount draft
lines
optional selected source line rows with itemCode, sourceLineNo, qty, uom
description
optional target document narration
ref
optional target reference

Example JSON

{
  "fromDocNo": "Q-000001",
  "docDate": "2026-06-24",
  "sourceDocNo": "DOC-000001",
  "targetDocNo": "",
  "creditorCode": "400-S001",
  "transferQtyMode": "outstanding",
  "saveAsDraft": false,
  "description": "Transfer advanced quotation to sales invoice",
  "ref": "API-TRANSFER-1001",
  "lines": [
    {
      "sourceLineNo": 1,
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT"
    }
  ]
}

Notes: Requires a connector build exposing this command. Uses source DocKey with SDK FullTransfer; preserves source reference and transferred quantity. Ordinary Quotation destination remains guarded after SDK failure. Full-document transfer only; partial-transfer-document does not yet support Advanced Quotation. AutoCount transfer rules decide which source lines and quantities are allowed. Omit lines to transfer the normal outstanding balance where supported.

transfer-advanced-quotation-to-sales-order write Transfer Transfer Advanced Quotation to sales-order through AutoCount SDK.

Full payload schema: /v1/schema/commands/transfer-advanced-quotation-to-sales-order

Payload fields

fromDocNo
required Advanced Quotation number
docDate
optional YYYY-MM-DD target document date
docNo
optional target number
sourceDocNo
required source advanced quotation document number
targetDocNo
optional target sales order document number; omit to let AutoCount numbering generate it
creditorCode
optional supplier code where transfer creates a purchase document
debtorCode
optional customer code where transfer creates a sales document
transferQtyMode
optional transfer quantity mode such as all or outstanding
saveAsDraft
optional boolean; for delivery-order to sales-invoice, true saves the transferred invoice as an AutoCount draft
lines
optional selected source line rows with itemCode, sourceLineNo, qty, uom
description
optional target document narration
ref
optional target reference

Example JSON

{
  "fromDocNo": "Q-000001",
  "docDate": "2026-06-24",
  "sourceDocNo": "DOC-000001",
  "targetDocNo": "",
  "creditorCode": "400-S001",
  "transferQtyMode": "outstanding",
  "saveAsDraft": false,
  "description": "Transfer advanced quotation to sales order",
  "ref": "API-TRANSFER-1001",
  "lines": [
    {
      "sourceLineNo": 1,
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT"
    }
  ]
}

Notes: Requires a connector build exposing this command. Uses source DocKey with SDK FullTransfer; preserves source reference and transferred quantity. Ordinary Quotation destination remains guarded after SDK failure. Full-document transfer only; partial-transfer-document does not yet support Advanced Quotation. AutoCount transfer rules decide which source lines and quantities are allowed. Omit lines to transfer the normal outstanding balance where supported.

transfer-delivery-order-to-sales-invoice write Transfer Transfer delivery order to sales invoice.

Full payload schema: /v1/schema/commands/transfer-delivery-order-to-sales-invoice

Payload fields

sourceDocNo
required source delivery order document number
targetDocNo
optional target sales invoice document number; omit to let AutoCount numbering generate it
docDate
optional YYYY-MM-DD target document date
creditorCode
optional supplier code where transfer creates a purchase document
debtorCode
optional customer code where transfer creates a sales document
transferQtyMode
optional transfer quantity mode such as all or outstanding
saveAsDraft
optional boolean; for delivery-order to sales-invoice, true saves the transferred invoice as an AutoCount draft
lines
optional selected source line rows with itemCode, sourceLineNo, qty, uom
description
optional target document narration
ref
optional target reference

Example JSON

{
  "sourceDocNo": "DO-000001",
  "targetDocNo": "",
  "docDate": "2026-06-24",
  "creditorCode": "400-S001",
  "transferQtyMode": "outstanding",
  "saveAsDraft": true,
  "description": "Transfer delivery order to sales invoice",
  "ref": "API-TRANSFER-1001",
  "lines": [
    {
      "sourceLineNo": 1,
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT"
    }
  ]
}

Notes: Uses AutoCount transfer logic. Transfer delivery order to sales invoice as draft when saveAsDraft=true. This uses AutoCount transfer logic and the SDK Save(true) draft save path, so the DO -> Invoice linkage stays intact; it does not create a separate standalone invoice.

transfer-quotation-to-delivery-order write Transfer Transfer quotation directly to delivery order.

Full payload schema: /v1/schema/commands/transfer-quotation-to-delivery-order

Payload fields

sourceDocNo
required source quotation document number
targetDocNo
optional target delivery order document number; omit to let AutoCount numbering generate it
docDate
optional YYYY-MM-DD target document date
creditorCode
optional supplier code where transfer creates a purchase document
debtorCode
optional customer code where transfer creates a sales document
transferQtyMode
optional transfer quantity mode such as all or outstanding
saveAsDraft
optional boolean; for delivery-order to sales-invoice, true saves the transferred invoice as an AutoCount draft
lines
optional selected source line rows with itemCode, sourceLineNo, qty, uom
description
optional target document narration
ref
optional target reference

Example JSON

{
  "sourceDocNo": "QT-000001",
  "targetDocNo": "",
  "docDate": "2026-06-24",
  "creditorCode": "400-S001",
  "transferQtyMode": "outstanding",
  "saveAsDraft": false,
  "description": "Transfer quotation to delivery order",
  "ref": "API-TRANSFER-1001",
  "lines": [
    {
      "sourceLineNo": 1,
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT"
    }
  ]
}

Notes: Uses AutoCount transfer logic where the account book allows direct quotation-to-delivery-order transfer. AutoCount transfer rules decide which source lines and quantities are allowed. Omit lines to transfer the normal outstanding balance where supported.

transfer-quotation-to-sales-invoice write Transfer Transfer quotation directly to sales invoice.

Full payload schema: /v1/schema/commands/transfer-quotation-to-sales-invoice

Payload fields

sourceDocNo
required source quotation document number
targetDocNo
optional target sales invoice document number; omit to let AutoCount numbering generate it
docDate
optional YYYY-MM-DD target document date
creditorCode
optional supplier code where transfer creates a purchase document
debtorCode
optional customer code where transfer creates a sales document
transferQtyMode
optional transfer quantity mode such as all or outstanding
saveAsDraft
optional boolean; for delivery-order to sales-invoice, true saves the transferred invoice as an AutoCount draft
lines
optional selected source line rows with itemCode, sourceLineNo, qty, uom
description
optional target document narration
ref
optional target reference

Example JSON

{
  "sourceDocNo": "QT-000001",
  "targetDocNo": "",
  "docDate": "2026-06-24",
  "creditorCode": "400-S001",
  "transferQtyMode": "outstanding",
  "saveAsDraft": false,
  "description": "Transfer quotation to sales invoice",
  "ref": "API-TRANSFER-1001",
  "lines": [
    {
      "sourceLineNo": 1,
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT"
    }
  ]
}

Notes: Uses AutoCount transfer logic where the account book allows direct quotation-to-sales-invoice transfer. AutoCount transfer rules decide which source lines and quantities are allowed. Omit lines to transfer the normal outstanding balance where supported.

transfer-quotation-to-sales-order write Transfer Transfer quotation to sales order.

Full payload schema: /v1/schema/commands/transfer-quotation-to-sales-order

Payload fields

sourceDocNo
required source quotation document number
targetDocNo
optional target sales order document number; omit to let AutoCount numbering generate it
docDate
optional YYYY-MM-DD target document date
creditorCode
optional supplier code where transfer creates a purchase document
debtorCode
optional customer code where transfer creates a sales document
transferQtyMode
optional transfer quantity mode such as all or outstanding
saveAsDraft
optional boolean; for delivery-order to sales-invoice, true saves the transferred invoice as an AutoCount draft
lines
optional selected source line rows with itemCode, sourceLineNo, qty, uom
description
optional target document narration
ref
optional target reference

Example JSON

{
  "sourceDocNo": "QT-000001",
  "targetDocNo": "",
  "docDate": "2026-06-24",
  "creditorCode": "400-S001",
  "transferQtyMode": "outstanding",
  "saveAsDraft": false,
  "description": "Transfer quotation to sales order",
  "ref": "API-TRANSFER-1001",
  "lines": [
    {
      "sourceLineNo": 1,
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT"
    }
  ]
}

Notes: Uses AutoCount transfer logic. AutoCount transfer rules decide which source lines and quantities are allowed. Omit lines to transfer the normal outstanding balance where supported.

transfer-sales-invoice-to-sales-credit-note write Transfer Transfer sales invoice to sales credit note.

Full payload schema: /v1/schema/commands/transfer-sales-invoice-to-sales-credit-note

Payload fields

sourceDocNo
required source sales invoice document number
targetDocNo
optional target sales credit note document number; omit to let AutoCount numbering generate it
docDate
optional YYYY-MM-DD target document date
creditorCode
optional supplier code where transfer creates a purchase document
debtorCode
optional customer code where transfer creates a sales document
transferQtyMode
optional transfer quantity mode such as all or outstanding
saveAsDraft
optional boolean; for delivery-order to sales-invoice, true saves the transferred invoice as an AutoCount draft
lines
optional selected source line rows with itemCode, sourceLineNo, qty, uom
description
optional target document narration
ref
optional target reference

Example JSON

{
  "sourceDocNo": "IV-000001",
  "targetDocNo": "",
  "docDate": "2026-06-24",
  "creditorCode": "400-S001",
  "transferQtyMode": "outstanding",
  "saveAsDraft": false,
  "description": "Transfer sales invoice to sales credit note",
  "ref": "API-TRANSFER-1001",
  "lines": [
    {
      "sourceLineNo": 1,
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT"
    }
  ]
}

Notes: Uses AutoCount transfer logic. AutoCount transfer rules decide which source lines and quantities are allowed. Omit lines to transfer the normal outstanding balance where supported.

transfer-sales-order-to-delivery-order write Transfer Transfer sales order to delivery order.

Full payload schema: /v1/schema/commands/transfer-sales-order-to-delivery-order

Payload fields

sourceDocNo
required source sales order document number
targetDocNo
optional target delivery order document number; omit to let AutoCount numbering generate it
docDate
optional YYYY-MM-DD target document date
creditorCode
optional supplier code where transfer creates a purchase document
debtorCode
optional customer code where transfer creates a sales document
transferQtyMode
optional transfer quantity mode such as all or outstanding
saveAsDraft
optional boolean; for delivery-order to sales-invoice, true saves the transferred invoice as an AutoCount draft
lines
optional selected source line rows with itemCode, sourceLineNo, qty, uom
description
optional target document narration
ref
optional target reference

Example JSON

{
  "sourceDocNo": "SO-000001",
  "targetDocNo": "",
  "docDate": "2026-06-24",
  "creditorCode": "400-S001",
  "transferQtyMode": "outstanding",
  "saveAsDraft": false,
  "description": "Transfer sales order to delivery order",
  "ref": "API-TRANSFER-1001",
  "lines": [
    {
      "sourceLineNo": 1,
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT"
    }
  ]
}

Notes: Uses AutoCount transfer logic. AutoCount transfer rules decide which source lines and quantities are allowed. Omit lines to transfer the normal outstanding balance where supported.

transfer-sales-order-to-purchase-order write Transfer Transfer sales order to purchase order.

Full payload schema: /v1/schema/commands/transfer-sales-order-to-purchase-order

Payload fields

sourceDocNo
required source sales order document number
creditorCode
optional supplier code where transfer creates a purchase document
targetDocNo
optional target purchase order document number; omit to let AutoCount numbering generate it
docDate
optional YYYY-MM-DD target document date
debtorCode
optional customer code where transfer creates a sales document
transferQtyMode
optional transfer quantity mode such as all or outstanding
saveAsDraft
optional boolean; for delivery-order to sales-invoice, true saves the transferred invoice as an AutoCount draft
lines
optional selected source line rows with itemCode, sourceLineNo, qty, uom
description
optional target document narration
ref
optional target reference

Example JSON

{
  "sourceDocNo": "SO-000001",
  "targetDocNo": "",
  "docDate": "2026-06-24",
  "creditorCode": "400-S001",
  "transferQtyMode": "outstanding",
  "saveAsDraft": false,
  "description": "Transfer sales order to purchase order",
  "ref": "API-TRANSFER-1001",
  "lines": [
    {
      "sourceLineNo": 1,
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT"
    }
  ]
}

Notes: Uses AutoCount transfer logic where supported by the account book. AutoCount transfer rules decide which source lines and quantities are allowed. Omit lines to transfer the normal outstanding balance where supported.

transfer-sales-order-to-sales-invoice write Transfer Transfer sales order directly to sales invoice.

Full payload schema: /v1/schema/commands/transfer-sales-order-to-sales-invoice

Payload fields

sourceDocNo
required source sales order document number
targetDocNo
optional target sales invoice document number; omit to let AutoCount numbering generate it
docDate
optional YYYY-MM-DD target document date
creditorCode
optional supplier code where transfer creates a purchase document
debtorCode
optional customer code where transfer creates a sales document
transferQtyMode
optional transfer quantity mode such as all or outstanding
saveAsDraft
optional boolean; for delivery-order to sales-invoice, true saves the transferred invoice as an AutoCount draft
lines
optional selected source line rows with itemCode, sourceLineNo, qty, uom
description
optional target document narration
ref
optional target reference

Example JSON

{
  "sourceDocNo": "SO-000001",
  "targetDocNo": "",
  "docDate": "2026-06-24",
  "creditorCode": "400-S001",
  "transferQtyMode": "outstanding",
  "saveAsDraft": false,
  "description": "Transfer sales order to sales invoice",
  "ref": "API-TRANSFER-1001",
  "lines": [
    {
      "sourceLineNo": 1,
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT"
    }
  ]
}

Notes: Uses AutoCount transfer logic where the account book allows direct sales-order-to-invoice transfer. AutoCount transfer rules decide which source lines and quantities are allowed. Omit lines to transfer the normal outstanding balance where supported.

update-advanced-quotation write Edit Update advanced quotation header/contact fields and supported detail rows.

Full payload schema: /v1/schema/commands/update-advanced-quotation

Payload fields

docNo
required existing document number (selector)
reason
required business reason
docDate
optional Document date. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorCode
optional Customer/debtor code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorName
optional Customer display name. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
agent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgentCode
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deliverAddress1
optional Delivery address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
ref
optional Reference. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
description
optional Header description. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
displayTerm
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
term
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone1
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
attention
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
contact
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
branchCode
optional Branch code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyCode
optional Currency code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyRate
optional Currency rate. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
withholdingTaxVersion
optional Optional native enum only when this document exposes the field. Omission preserves the existing value. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
note
optional Note. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark1
optional Remark 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark2
optional Remark 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark3
optional Remark 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark4
optional Remark 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
refDocNo
optional Reference document number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipVia
optional Shipping method. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipInfo
optional Shipping info. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesLocation
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
location
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
userDefinedFields
optional Existing SDK-materialized UDF fields; exact reload verification required. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
Master
optional header object of public SDK scalar fields
nativeFields
optional native header container: { Master: { SDKField: value } }
validateOnly
optional boolean; true runs native preflight without Save, returning saved:false; no persistence proof
detailMode
explicit update | append | replace | delete when editing lines; omit lines and detailMode for header-only updates
lines
optional detail array; update/delete select existing rows by dtlKey; append adds rows; replace replaces the detail set

Example JSON

{
  "docNo": "AQ-000001",
  "reason": "Correct customer reference",
  "ref": "Updated reference"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Strict Sales update: editable SDK scalar fields via friendly fields, Master or nativeFields.Master; details via lines with explicit detailMode and existing dtlKey for update/delete. Omitted fields stay unchanged; explicit null/empty clears only optional fields. Unknown, unavailable, calculated, system and lifecycle fields are rejected before Save. Existing UDFs must be present in the SDK schema; no invented columns. validateOnly:true runs native preflight without Save and is not persistence certification. Save success requires a fresh SDK reload with writeVerification.matched=true, identity and linkage verification. saved:true with ok:false means a persisted mismatch or failed verification, not rollback; inspect the existing document and never recreate it automatically. Existing payment, transfer, package and eInvoice protections remain. Runtime get-document fields/fieldCapabilities expose SDK field discovery and fields.readErrors; availability varies by document and account book. Native acceptance covers reference/detail descriptions across eight Sales types and one final-build Sales Order price change, not all fields or SDK versions. Generic native UDF saves remain unproven. Cash Sale creation did not persist its fixture payment; this is a separate unresolved create-path issue. Update acceptance covers that existing unpaid Cash Sale only, not paid-CS support. See docs/document-update-fields.md.

update-cash-sale write Edit Update cash sale header/contact fields and supported detail rows.

Full payload schema: /v1/schema/commands/update-cash-sale

Payload fields

docNo
required existing document number (selector)
reason
required business reason
docDate
optional Document date. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorCode
optional Customer/debtor code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorName
optional Customer display name. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
agent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgentCode
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deliverAddress1
optional Delivery address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
ref
optional Reference. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
description
optional Header description. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
displayTerm
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
term
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone1
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
attention
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
contact
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
branchCode
optional Branch code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyCode
optional Currency code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyRate
optional Currency rate. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
withholdingTaxVersion
optional Optional native enum only when this document exposes the field. Omission preserves the existing value. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
note
optional Note. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark1
optional Remark 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark2
optional Remark 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark3
optional Remark 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark4
optional Remark 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
refDocNo
optional Reference document number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipVia
optional Shipping method. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipInfo
optional Shipping info. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesLocation
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
location
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
userDefinedFields
optional Existing SDK-materialized UDF fields; exact reload verification required. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
Master
optional header object of public SDK scalar fields
nativeFields
optional native header container: { Master: { SDKField: value } }
validateOnly
optional boolean; true runs native preflight without Save, returning saved:false; no persistence proof
detailMode
explicit update | append | replace | delete when editing lines; omit lines and detailMode for header-only updates
lines
optional detail array; update/delete select existing rows by dtlKey; append adds rows; replace replaces the detail set

Example JSON

{
  "docNo": "CS-000001",
  "reason": "Correct customer reference",
  "ref": "Updated reference"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Strict Sales update: editable SDK scalar fields via friendly fields, Master or nativeFields.Master; details via lines with explicit detailMode and existing dtlKey for update/delete. Omitted fields stay unchanged; explicit null/empty clears only optional fields. Unknown, unavailable, calculated, system and lifecycle fields are rejected before Save. Existing UDFs must be present in the SDK schema; no invented columns. validateOnly:true runs native preflight without Save and is not persistence certification. Save success requires a fresh SDK reload with writeVerification.matched=true, identity and linkage verification. saved:true with ok:false means a persisted mismatch or failed verification, not rollback; inspect the existing document and never recreate it automatically. Existing payment, transfer, package and eInvoice protections remain. Runtime get-document fields/fieldCapabilities expose SDK field discovery and fields.readErrors; availability varies by document and account book. Native acceptance covers reference/detail descriptions across eight Sales types and one final-build Sales Order price change, not all fields or SDK versions. Generic native UDF saves remain unproven. Cash Sale creation did not persist its fixture payment; this is a separate unresolved create-path issue. Update acceptance covers that existing unpaid Cash Sale only, not paid-CS support. See docs/document-update-fields.md.

update-delivery-order write Edit Update delivery order header/contact fields and supported detail rows.

Full payload schema: /v1/schema/commands/update-delivery-order

Payload fields

docNo
required existing document number (selector)
reason
required business reason
docDate
optional Document date. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorCode
optional Customer/debtor code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorName
optional Customer display name. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
agent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgentCode
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deliverAddress1
optional Delivery address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
ref
optional Reference. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
description
optional Header description. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
displayTerm
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
term
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone1
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
attention
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
contact
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
branchCode
optional Branch code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyCode
optional Currency code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyRate
optional Currency rate. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
withholdingTaxVersion
optional Optional native enum only when this document exposes the field. Omission preserves the existing value. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
note
optional Note. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark1
optional Remark 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark2
optional Remark 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark3
optional Remark 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark4
optional Remark 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
refDocNo
optional Reference document number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipVia
optional Shipping method. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipInfo
optional Shipping info. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesLocation
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
location
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
userDefinedFields
optional Existing SDK-materialized UDF fields; exact reload verification required. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
Master
optional header object of public SDK scalar fields
nativeFields
optional native header container: { Master: { SDKField: value } }
validateOnly
optional boolean; true runs native preflight without Save, returning saved:false; no persistence proof
detailMode
explicit update | append | replace | delete when editing lines; omit lines and detailMode for header-only updates
lines
optional detail array; update/delete select existing rows by dtlKey; append adds rows; replace replaces the detail set

Example JSON

{
  "docNo": "DO-000001",
  "reason": "Correct customer reference",
  "ref": "Updated reference"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Strict Sales update: editable SDK scalar fields via friendly fields, Master or nativeFields.Master; details via lines with explicit detailMode and existing dtlKey for update/delete. Omitted fields stay unchanged; explicit null/empty clears only optional fields. Unknown, unavailable, calculated, system and lifecycle fields are rejected before Save. Existing UDFs must be present in the SDK schema; no invented columns. validateOnly:true runs native preflight without Save and is not persistence certification. Save success requires a fresh SDK reload with writeVerification.matched=true, identity and linkage verification. saved:true with ok:false means a persisted mismatch or failed verification, not rollback; inspect the existing document and never recreate it automatically. Existing payment, transfer, package and eInvoice protections remain. Runtime get-document fields/fieldCapabilities expose SDK field discovery and fields.readErrors; availability varies by document and account book. Native acceptance covers reference/detail descriptions across eight Sales types and one final-build Sales Order price change, not all fields or SDK versions. Generic native UDF saves remain unproven. Cash Sale creation did not persist its fixture payment; this is a separate unresolved create-path issue. Update acceptance covers that existing unpaid Cash Sale only, not paid-CS support. See docs/document-update-fields.md.

update-quotation write Edit Update quotation header/contact fields and supported detail rows.

Full payload schema: /v1/schema/commands/update-quotation

Payload fields

docNo
required existing document number (selector)
reason
required business reason
docDate
optional Document date. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorCode
optional Customer/debtor code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorName
optional Customer display name. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
agent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgentCode
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deliverAddress1
optional Delivery address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
ref
optional Reference. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
description
optional Header description. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
displayTerm
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
term
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone1
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
attention
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
contact
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
branchCode
optional Branch code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyCode
optional Currency code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyRate
optional Currency rate. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
withholdingTaxVersion
optional Optional native enum only when this document exposes the field. Omission preserves the existing value. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
note
optional Note. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark1
optional Remark 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark2
optional Remark 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark3
optional Remark 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark4
optional Remark 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
refDocNo
optional Reference document number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipVia
optional Shipping method. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipInfo
optional Shipping info. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesLocation
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
location
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
userDefinedFields
optional Existing SDK-materialized UDF fields; exact reload verification required. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
Master
optional header object of public SDK scalar fields
nativeFields
optional native header container: { Master: { SDKField: value } }
validateOnly
optional boolean; true runs native preflight without Save, returning saved:false; no persistence proof
detailMode
explicit update | append | replace | delete when editing lines; omit lines and detailMode for header-only updates
lines
optional detail array; update/delete select existing rows by dtlKey; append adds rows; replace replaces the detail set

Example JSON

{
  "docNo": "QT-000001",
  "reason": "Correct customer reference",
  "ref": "Updated reference"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Strict Sales update: editable SDK scalar fields via friendly fields, Master or nativeFields.Master; details via lines with explicit detailMode and existing dtlKey for update/delete. Omitted fields stay unchanged; explicit null/empty clears only optional fields. Unknown, unavailable, calculated, system and lifecycle fields are rejected before Save. Existing UDFs must be present in the SDK schema; no invented columns. validateOnly:true runs native preflight without Save and is not persistence certification. Save success requires a fresh SDK reload with writeVerification.matched=true, identity and linkage verification. saved:true with ok:false means a persisted mismatch or failed verification, not rollback; inspect the existing document and never recreate it automatically. Existing payment, transfer, package and eInvoice protections remain. Runtime get-document fields/fieldCapabilities expose SDK field discovery and fields.readErrors; availability varies by document and account book. Native acceptance covers reference/detail descriptions across eight Sales types and one final-build Sales Order price change, not all fields or SDK versions. Generic native UDF saves remain unproven. Cash Sale creation did not persist its fixture payment; this is a separate unresolved create-path issue. Update acceptance covers that existing unpaid Cash Sale only, not paid-CS support. See docs/document-update-fields.md.

update-sales-credit-note write Edit Update sales credit note header/contact fields and supported detail rows.

Full payload schema: /v1/schema/commands/update-sales-credit-note

Payload fields

docNo
required existing document number (selector)
reason
required business reason
docDate
optional Document date. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorCode
optional Customer/debtor code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorName
optional Customer display name. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
agent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgentCode
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deliverAddress1
optional Delivery address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
ref
optional Reference. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
description
optional Header description. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
displayTerm
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
term
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone1
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
attention
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
contact
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
branchCode
optional Branch code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyCode
optional Currency code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyRate
optional Currency rate. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
withholdingTaxVersion
optional Optional native enum only when this document exposes the field. Omission preserves the existing value. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
note
optional Note. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark1
optional Remark 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark2
optional Remark 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark3
optional Remark 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark4
optional Remark 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
refDocNo
optional Reference document number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipVia
optional Shipping method. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipInfo
optional Shipping info. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesLocation
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
location
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
userDefinedFields
optional Existing SDK-materialized UDF fields; exact reload verification required. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
Master
optional header object of public SDK scalar fields
nativeFields
optional native header container: { Master: { SDKField: value } }
validateOnly
optional boolean; true runs native preflight without Save, returning saved:false; no persistence proof
detailMode
explicit update | append | replace | delete when editing lines; omit lines and detailMode for header-only updates
lines
optional detail array; update/delete select existing rows by dtlKey; append adds rows; replace replaces the detail set

Example JSON

{
  "docNo": "CN-000001",
  "reason": "Correct customer reference",
  "ref": "Updated reference"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Strict Sales update: editable SDK scalar fields via friendly fields, Master or nativeFields.Master; details via lines with explicit detailMode and existing dtlKey for update/delete. Omitted fields stay unchanged; explicit null/empty clears only optional fields. Unknown, unavailable, calculated, system and lifecycle fields are rejected before Save. Existing UDFs must be present in the SDK schema; no invented columns. validateOnly:true runs native preflight without Save and is not persistence certification. Save success requires a fresh SDK reload with writeVerification.matched=true, identity and linkage verification. saved:true with ok:false means a persisted mismatch or failed verification, not rollback; inspect the existing document and never recreate it automatically. Existing payment, transfer, package and eInvoice protections remain. Runtime get-document fields/fieldCapabilities expose SDK field discovery and fields.readErrors; availability varies by document and account book. Native acceptance covers reference/detail descriptions across eight Sales types and one final-build Sales Order price change, not all fields or SDK versions. Generic native UDF saves remain unproven. Cash Sale creation did not persist its fixture payment; this is a separate unresolved create-path issue. Update acceptance covers that existing unpaid Cash Sale only, not paid-CS support. See docs/document-update-fields.md.

update-sales-debit-note write Edit Update sales debit note header/contact fields and supported detail rows.

Full payload schema: /v1/schema/commands/update-sales-debit-note

Payload fields

docNo
required existing document number (selector)
reason
required business reason
docDate
optional Document date. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorCode
optional Customer/debtor code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorName
optional Customer display name. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
agent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgentCode
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deliverAddress1
optional Delivery address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
ref
optional Reference. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
description
optional Header description. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
displayTerm
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
term
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone1
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
attention
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
contact
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
branchCode
optional Branch code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyCode
optional Currency code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyRate
optional Currency rate. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
withholdingTaxVersion
optional Optional native enum only when this document exposes the field. Omission preserves the existing value. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
note
optional Note. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark1
optional Remark 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark2
optional Remark 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark3
optional Remark 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark4
optional Remark 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
refDocNo
optional Reference document number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipVia
optional Shipping method. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipInfo
optional Shipping info. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesLocation
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
location
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
userDefinedFields
optional Existing SDK-materialized UDF fields; exact reload verification required. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
Master
optional header object of public SDK scalar fields
nativeFields
optional native header container: { Master: { SDKField: value } }
validateOnly
optional boolean; true runs native preflight without Save, returning saved:false; no persistence proof
detailMode
explicit update | append | replace | delete when editing lines; omit lines and detailMode for header-only updates
lines
optional detail array; update/delete select existing rows by dtlKey; append adds rows; replace replaces the detail set

Example JSON

{
  "docNo": "DN-000001",
  "reason": "Correct customer reference",
  "ref": "Updated reference"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Strict Sales update: editable SDK scalar fields via friendly fields, Master or nativeFields.Master; details via lines with explicit detailMode and existing dtlKey for update/delete. Omitted fields stay unchanged; explicit null/empty clears only optional fields. Unknown, unavailable, calculated, system and lifecycle fields are rejected before Save. Existing UDFs must be present in the SDK schema; no invented columns. validateOnly:true runs native preflight without Save and is not persistence certification. Save success requires a fresh SDK reload with writeVerification.matched=true, identity and linkage verification. saved:true with ok:false means a persisted mismatch or failed verification, not rollback; inspect the existing document and never recreate it automatically. Existing payment, transfer, package and eInvoice protections remain. Runtime get-document fields/fieldCapabilities expose SDK field discovery and fields.readErrors; availability varies by document and account book. Native acceptance covers reference/detail descriptions across eight Sales types and one final-build Sales Order price change, not all fields or SDK versions. Generic native UDF saves remain unproven. Cash Sale creation did not persist its fixture payment; this is a separate unresolved create-path issue. Update acceptance covers that existing unpaid Cash Sale only, not paid-CS support. See docs/document-update-fields.md.

update-sales-invoice write Edit Update sales invoice header/contact fields and supported detail rows.

Full payload schema: /v1/schema/commands/update-sales-invoice

Payload fields

docNo
required existing document number (selector)
reason
required business reason
docDate
optional Document date. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorCode
optional Customer/debtor code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorName
optional Customer display name. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
agent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgentCode
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deliverAddress1
optional Delivery address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
ref
optional Reference. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
description
optional Header description. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
displayTerm
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
term
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone1
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
attention
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
contact
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
branchCode
optional Branch code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyCode
optional Currency code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyRate
optional Currency rate. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
withholdingTaxVersion
optional Optional native enum only when this document exposes the field. Omission preserves the existing value. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
note
optional Note. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark1
optional Remark 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark2
optional Remark 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark3
optional Remark 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark4
optional Remark 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
refDocNo
optional Reference document number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipVia
optional Shipping method. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipInfo
optional Shipping info. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesLocation
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
location
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
userDefinedFields
optional Existing SDK-materialized UDF fields; exact reload verification required. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
Master
optional header object of public SDK scalar fields
nativeFields
optional native header container: { Master: { SDKField: value } }
validateOnly
optional boolean; true runs native preflight without Save, returning saved:false; no persistence proof
detailMode
explicit update | append | replace | delete when editing lines; omit lines and detailMode for header-only updates
lines
optional detail array; update/delete select existing rows by dtlKey; append adds rows; replace replaces the detail set

Example JSON

{
  "docNo": "IV-000001",
  "reason": "Correct customer reference",
  "ref": "Updated reference"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Strict Sales update: editable SDK scalar fields via friendly fields, Master or nativeFields.Master; details via lines with explicit detailMode and existing dtlKey for update/delete. Omitted fields stay unchanged; explicit null/empty clears only optional fields. Unknown, unavailable, calculated, system and lifecycle fields are rejected before Save. Existing UDFs must be present in the SDK schema; no invented columns. validateOnly:true runs native preflight without Save and is not persistence certification. Save success requires a fresh SDK reload with writeVerification.matched=true, identity and linkage verification. saved:true with ok:false means a persisted mismatch or failed verification, not rollback; inspect the existing document and never recreate it automatically. Existing payment, transfer, package and eInvoice protections remain. Runtime get-document fields/fieldCapabilities expose SDK field discovery and fields.readErrors; availability varies by document and account book. Native acceptance covers reference/detail descriptions across eight Sales types and one final-build Sales Order price change, not all fields or SDK versions. Generic native UDF saves remain unproven. Cash Sale creation did not persist its fixture payment; this is a separate unresolved create-path issue. Update acceptance covers that existing unpaid Cash Sale only, not paid-CS support. See docs/document-update-fields.md.

update-sales-order write Edit Update sales order header/contact fields and supported detail rows.

Full payload schema: /v1/schema/commands/update-sales-order

Payload fields

docNo
required existing document number (selector)
reason
required business reason
docDate
optional Document date. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorCode
optional Customer/debtor code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorName
optional Customer display name. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
agent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgentCode
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deliverAddress1
optional Delivery address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
ref
optional Reference. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
description
optional Header description. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
displayTerm
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
term
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone1
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
attention
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
contact
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
branchCode
optional Branch code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyCode
optional Currency code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyRate
optional Currency rate. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
withholdingTaxVersion
optional Optional native enum only when this document exposes the field. Omission preserves the existing value. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
note
optional Note. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark1
optional Remark 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark2
optional Remark 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark3
optional Remark 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark4
optional Remark 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
refDocNo
optional Reference document number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipVia
optional Shipping method. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipInfo
optional Shipping info. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesLocation
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
location
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
userDefinedFields
optional Existing SDK-materialized UDF fields; exact reload verification required. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
Master
optional header object of public SDK scalar fields
nativeFields
optional native header container: { Master: { SDKField: value } }
validateOnly
optional boolean; true runs native preflight without Save, returning saved:false; no persistence proof
detailMode
explicit update | append | replace | delete when editing lines; omit lines and detailMode for header-only updates
lines
optional detail array; update/delete select existing rows by dtlKey; append adds rows; replace replaces the detail set

Example JSON

{
  "docNo": "SO-000001",
  "reason": "Correct customer reference",
  "ref": "Updated reference"
}

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Strict Sales update: editable SDK scalar fields via friendly fields, Master or nativeFields.Master; details via lines with explicit detailMode and existing dtlKey for update/delete. Omitted fields stay unchanged; explicit null/empty clears only optional fields. Unknown, unavailable, calculated, system and lifecycle fields are rejected before Save. Existing UDFs must be present in the SDK schema; no invented columns. validateOnly:true runs native preflight without Save and is not persistence certification. Save success requires a fresh SDK reload with writeVerification.matched=true, identity and linkage verification. saved:true with ok:false means a persisted mismatch or failed verification, not rollback; inspect the existing document and never recreate it automatically. Existing payment, transfer, package and eInvoice protections remain. Runtime get-document fields/fieldCapabilities expose SDK field discovery and fields.readErrors; availability varies by document and account book. Native acceptance covers reference/detail descriptions across eight Sales types and one final-build Sales Order price change, not all fields or SDK versions. Generic native UDF saves remain unproven. Cash Sale creation did not persist its fixture payment; this is a separate unresolved create-path issue. Update acceptance covers that existing unpaid Cash Sale only, not paid-CS support. See docs/document-update-fields.md.

validate-advanced-quotation read Validate Validate a advanced quotation without saving.

Full payload schema: /v1/schema/commands/validate-advanced-quotation

Payload fields

debtorCode
required AutoCount debtor/customer code
items
optional alias for lines
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example JSON

{
  "debtorCode": "300-A001",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "docDate": "2026-06-24",
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Validation only; does not save. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

validate-cash-sale read Validate Validate a cash sale without saving.

Full payload schema: /v1/schema/commands/validate-cash-sale

Payload fields

debtorCode
required AutoCount debtor/customer code
items
optional alias for lines
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example JSON

{
  "debtorCode": "300-A001",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "docDate": "2026-06-24",
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Validation only; does not save. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

validate-delivery-order read Validate Validate a delivery order without saving.

Full payload schema: /v1/schema/commands/validate-delivery-order

Payload fields

debtorCode
required AutoCount debtor/customer code
items
optional alias for lines
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example JSON

{
  "debtorCode": "300-A001",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "docDate": "2026-06-24",
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Validation only; does not save. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

validate-quotation read Validate Validate a quotation without saving.

Full payload schema: /v1/schema/commands/validate-quotation

Payload fields

debtorCode
required AutoCount debtor/customer code
items
optional alias for lines
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example JSON

{
  "debtorCode": "300-A001",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "docDate": "2026-06-24",
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Validation only; does not save. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

validate-sales-credit-note read Validate Validate a sales credit note without saving.

Full payload schema: /v1/schema/commands/validate-sales-credit-note

Payload fields

debtorCode
required AutoCount debtor/customer code
items
optional alias for lines
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example JSON

{
  "debtorCode": "300-A001",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "docDate": "2026-06-24",
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Validation only; does not save. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

validate-sales-debit-note read Validate Validate a sales debit note without saving.

Full payload schema: /v1/schema/commands/validate-sales-debit-note

Payload fields

debtorCode
required AutoCount debtor/customer code
items
optional alias for lines
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example JSON

{
  "debtorCode": "300-A001",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "docDate": "2026-06-24",
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Validation only; does not save. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

validate-sales-invoice read Validate Validate a sales invoice without saving.

Full payload schema: /v1/schema/commands/validate-sales-invoice

Payload fields

debtorCode
required AutoCount debtor/customer code
items
optional alias for lines
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example JSON

{
  "debtorCode": "300-A001",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "docDate": "2026-06-24",
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Validation only; does not save. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

validate-sales-order read Validate Validate a sales order without saving.

Full payload schema: /v1/schema/commands/validate-sales-order

Payload fields

debtorCode
required AutoCount debtor/customer code
items
optional alias for lines
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example JSON

{
  "debtorCode": "300-A001",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "docDate": "2026-06-24",
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Validation only; does not save. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

void-advanced-quotation write Void Void a advanced quotation while keeping audit trail.

Full payload schema: /v1/schema/commands/void-advanced-quotation

Payload fields

docNo
required document number
reason
optional void reason

Example JSON

{
  "docNo": "AQ-000001",
  "reason": "voided by API request"
}

Notes: Uses AutoCount CancelDocument and returns operationUsed: CancelDocument. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

void-cash-sale write Void Void a cash sale while keeping audit trail.

Full payload schema: /v1/schema/commands/void-cash-sale

Payload fields

docNo
required document number
reason
optional void reason

Example JSON

{
  "docNo": "CS-000001",
  "reason": "voided by API request"
}

Notes: Uses AutoCount CancelDocument and returns operationUsed: CancelDocument. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

void-delivery-order write Void Void a delivery order while keeping audit trail.

Full payload schema: /v1/schema/commands/void-delivery-order

Payload fields

docNo
required document number
reason
optional void reason

Example JSON

{
  "docNo": "DO-000001",
  "reason": "voided by API request"
}

Notes: Uses AutoCount CancelDocument and returns operationUsed: CancelDocument. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

void-quotation write Void Void a quotation while keeping audit trail.

Full payload schema: /v1/schema/commands/void-quotation

Payload fields

docNo
required document number
reason
optional void reason

Example JSON

{
  "docNo": "QT-000001",
  "reason": "voided by API request"
}

Notes: Uses AutoCount CancelDocument and returns operationUsed: CancelDocument. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

void-sales-credit-note write Void Void a sales credit note while keeping audit trail.

Full payload schema: /v1/schema/commands/void-sales-credit-note

Payload fields

docNo
required document number
reason
optional void reason

Example JSON

{
  "docNo": "CN-000001",
  "reason": "voided by API request"
}

Notes: Uses AutoCount CancelDocument and returns operationUsed: CancelDocument. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

void-sales-debit-note write Void Void a sales debit note while keeping audit trail.

Full payload schema: /v1/schema/commands/void-sales-debit-note

Payload fields

docNo
required document number
reason
optional void reason

Example JSON

{
  "docNo": "DN-000001",
  "reason": "voided by API request"
}

Notes: Uses AutoCount CancelDocument and returns operationUsed: CancelDocument. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

void-sales-invoice write Void Void a sales invoice while keeping audit trail.

Full payload schema: /v1/schema/commands/void-sales-invoice

Payload fields

docNo
required document number
reason
optional void reason

Example JSON

{
  "docNo": "IV-000001",
  "reason": "voided by API request"
}

Notes: Uses AutoCount CancelDocument and returns operationUsed: CancelDocument. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

void-sales-order write Void Void a sales order while keeping audit trail.

Full payload schema: /v1/schema/commands/void-sales-order

Payload fields

docNo
required document number
reason
optional void reason

Example JSON

{
  "docNo": "SO-000001",
  "reason": "voided by API request"
}

Notes: Uses AutoCount CancelDocument and returns operationUsed: CancelDocument. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

Startup / Account Book8 commandsRead 3Validate 1Create 1read 3
create-account-book write Create Create a new AutoCount account book from an existing connector company.

Full payload schema: /v1/schema/commands/create-account-book

Payload fields

databaseName
required SQL database name, letters/numbers/underscore only
companyName
required AutoCount company name
fiscalYearStartDate
YYYY-MM-DD optional
actualDataStartDate
YYYY-MM-DD optional
newCompanyId
optional connector companyId to add after create
autoCountUser
optional, default ADMIN
autoCountPassword
optional, default ADMIN
confirm
required true

Example JSON

{
  "databaseName": "AED_NEW_COMPANY",
  "companyName": "New Company Sdn Bhd",
  "fiscalYearStartDate": "2026-01-01",
  "actualDataStartDate": "2026-01-01",
  "newCompanyId": "newcompany",
  "confirm": true
}

Notes: Uses AutoCount.ManageAccountBook.AccountBookHelper.CreateBaseAccountBook, then AutoCount.Tools.AutoAccessRightUpdate.Create(DBSetting).Update(), then registers the account book in A2006.dmf. Requires current connector company to have SQL credentials.

explain-command-error read read Explain technical connector or AutoCount errors in human and AI-friendly field guidance.

Full payload schema: /v1/schema/commands/explain-command-error

Payload fields

targetType
optional command type
message
required error message or result

Example JSON

{
  "targetType": "create-ap-invoice",
  "message": "MissingMethodException: EditDetail not found"
}

Notes: Use after failed commands to decide whether the error is missing master data, unsupported field write, SDK method gap, or setup/config issue.

read-company-ai-context read Read Read the AI Startup Flow context for an AutoCount account book.

Full payload schema: /v1/schema/commands/read-company-ai-context

Payload fields

includeHints
optional boolean

Example JSON

{
  "includeHints": true
}

Notes: Intelligent Connector Flow step 1. Returns starterCommands, activeModules, workflowHints, safetyRules, companyProfile, companyName, and discovery counts. Schema: /v1/schema/commands/read-company-ai-context

read-company-profile read Read Read the real AutoCount Company Profile for the selected account book.

Full payload schema: /v1/schema/commands/read-company-profile

Payload fields

No payload fields required.

Example JSON

{}

Notes: Use this first when database names are similar. Reads AutoCount Profile/CompanyProfile and returns companyId, database, companyName, registrationNo, address, phone/email/website, plus redacted/truncated source fields.

read-field-catalog read Read Read field catalog so humans and AI know read/write/native/guarded fields.

Full payload schema: /v1/schema/commands/read-field-catalog

Payload fields

module
optional module filter
document
optional document filter
refresh
optional boolean to refresh cached catalog

Example JSON

{
  "module": "Purchase",
  "document": "purchase-invoice"
}

Notes: Intelligent Connector Flow step 2. Returns catalogVersion, cache, modules, documents, fields, mode, and source. Schema: /v1/schema/commands/read-field-catalog

run-company-discovery read read Build a read-only Mac Soft AI demo profile from the AutoCount account book.

Full payload schema: /v1/schema/commands/run-company-discovery

Payload fields

No payload fields required.

Example JSON

{
  "includeHints": true
}

Notes: Returns activeModules, masterDataCounts, documentCounts, features, workflows, and aiHints. Use this first for CEO, executive, admin, and clerk demos before preparing writes.

suggest-command-fixes read read Suggest safe fixes when validation fails or a master value is missing.

Full payload schema: /v1/schema/commands/suggest-command-fixes

Payload fields

targetType
required command type
payload
required proposed command payload

Example JSON

{
  "targetType": "create-ap-payment",
  "payload": {
    "creditorCode": "400-A001",
    "amount": 100
  }
}

Notes: Intelligent Connector Flow step 4. Suggestions point to read-payment-methods, read-chart-accounts, read-items, read-debtors, read-creditors, outstanding documents, and previous transaction patterns.

validate-command read Validate Preflight a proposed command before saving.

Full payload schema: /v1/schema/commands/validate-command

Payload fields

targetType
required command type to validate
payload
required proposed command payload
safetyMode
optional fast | safe | strict

Example JSON

{
  "targetType": "create-ap-invoice",
  "payload": {
    "creditorCode": "400-A001",
    "docDate": "2026-07-21",
    "lines": [
      {
        "accountNo": "620000-2000",
        "amount": 100
      }
    ]
  },
  "safetyMode": "safe"
}

Notes: Intelligent Connector Flow step 3. Returns readyToSave, risk, checks, warnings, and suggestions. Use validateOnly on actual write commands to force preflight. Schema: /v1/schema/commands/validate-command

Stock140 commandsRead 54Validate 14Create 18Edit 18Void 13Delete 14write 8read 1
change-item-batch write write Change an item's batch number.

Full payload schema: /v1/schema/commands/change-item-batch

Payload fields

itemCode
required AutoCount item code
oldBatchNo
required old value for oldBatchNo
newBatchNo
required new value for newBatchNo
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example JSON

{
  "itemCode": "ITEM-001",
  "oldBatchNo": "OLD-BATCH",
  "newBatchNo": "NEW-BATCH",
  "confirm": true
}

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

change-item-code write write Change an item code across linked stock records.

Full payload schema: /v1/schema/commands/change-item-code

Payload fields

oldItemCode
required old value for oldItemCode
newItemCode
required new value for newItemCode
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example JSON

{
  "oldItemCode": "OLD-ITEM",
  "newItemCode": "NEW-ITEM",
  "confirm": true
}

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

change-item-uom write write Change an item's unit of measure.

Full payload schema: /v1/schema/commands/change-item-uom

Payload fields

itemCode
required AutoCount item code
oldUOM
required old value for oldUOM
newUOM
required new value for newUOM
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example JSON

{
  "itemCode": "ITEM-001",
  "oldUOM": "OLD-UOM",
  "newUOM": "NEW-UOM",
  "confirm": true
}

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

change-item-uom-rate write write Change an item's UOM conversion rate.

Full payload schema: /v1/schema/commands/change-item-uom-rate

Payload fields

itemCode
required AutoCount item code
uom
required unit of measure
newRate
required positive new UOM rate
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example JSON

{
  "itemCode": "ITEM-001",
  "uom": "BOX",
  "newRate": 12,
  "confirm": true
}

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities. The native Int64 return is an optional POS ChangeLog ID; zero is valid and it is not a job ID. New connectors verify rate/dependent structure before automatic selected-item costing, in separate commits; TOOLS_STKCOST_RECAL_OPEN is also required. Native rate maintenance can repair batch balances book-wide, authorized by confirm:true. Historical guards remain; rateSaved with failed costing requires reconciliation, never an automatic rate retry.

change-location write write Change a stock location ID.

Full payload schema: /v1/schema/commands/change-location

Payload fields

oldLocationID
required old value for oldLocationID
newLocationID
required new value for newLocationID
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example JSON

{
  "oldLocationID": "OLD-LOC",
  "newLocationID": "NEW-LOC",
  "confirm": true
}

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

change-serial-number write write Change a serial number for an item.

Full payload schema: /v1/schema/commands/change-serial-number

Payload fields

itemCode
required AutoCount item code
oldSerialNumber
required existing serial number
newSerialNumber
required replacement serial number
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example JSON

{
  "itemCode": "ITEM-001",
  "oldSerialNumber": "OLD-SN",
  "newSerialNumber": "NEW-SN",
  "confirm": true
}

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities. Cloud schema does not prove native runtime support. The connector must preserve the native transaction sequence, linked-document serial lists, and fresh read-back.

create-item-batch write Create Create an item batch master.

Full payload schema: /v1/schema/commands/create-item-batch

Payload fields

itemCode
required AutoCount item code
batchNo
required Exact item batch number
description
optional Batch description
manufacturedDate
optional YYYY-MM-DD or explicit null to clear; omitted values are unchanged; empty strings rejected
expiryDate
optional YYYY-MM-DD or explicit null to clear; omitted values are unchanged; empty strings rejected
lastSaleDate
optional YYYY-MM-DD or explicit null to clear; omitted values are unchanged; empty strings rejected
validateOnly
optional True validates without saving; write permission is still required on create/update/delete

Example JSON

{
  "itemCode": "ITEM001",
  "batchNo": "LOT001"
}

Notes: Connector SDK support and native safety checks are required. Validation never saves. Cloud schema presence is not native persistence proof; existing change-item-batch is separate.

create-item-bom write Create Create item BOM definition.

Full payload schema: /v1/schema/commands/create-item-bom

Payload fields

itemCode
required finished item code
description
optional expected existing description; differing values are not supported for BOM persistence
assemblyCost
optional assembly cost
finishGoodCost
optional finished-good cost
autoUpdateMethod
unsupported company-wide setting; omit this field
detailMode
existing BOM only: update (default for update command) or replace; replace removes omitted lines
validateOnly
optional boolean; true prevents saving even on create/update and retains their write permission
updateBOMCost
true required for all lines[] including previews: acknowledges native save sets parent UOM Cost = FinishGoodCost * Rate; false unsupported
lines
array of {subItemCode?, qty?, lineKey?, seq?, remove?, overheadCost?, fields?, nativeFields?}; new lines need code and qty, keyed update preserves omitted values
subItemCode
legacy single component code; cannot be mixed with lines
qty
legacy single component positive quantity, default 1; cannot be mixed with lines
overheadCost
optional legacy component overhead cost

Example JSON

{
  "itemCode": "FINISHED-API",
  "updateBOMCost": true,
  "lines": [
    {
      "subItemCode": "RAW-API-1",
      "qty": 2
    },
    {
      "subItemCode": "RAW-API-2",
      "qty": 3
    }
  ]
}

Notes: Use lines or legacy subItemCode, never both. Update preserves omitted details/values; remove:true requires stable lineKey and permits optional matching subItemCode, never subItemCode alone. Replace supplies the complete desired detail set. Description changes and company-wide autoUpdateMethod changes are unsupported and must be rejected before native mutation. Native costing can change costs during saves; no no-cost-change guarantee is made. Native connector validates references, performs a single Save and reload verification; validate-item-bom never saves. Schema availability alone does not prove native support.

create-item-package write Create Create item package definition.

Full payload schema: /v1/schema/commands/create-item-package

Payload fields

packageCode
required Package identity
description
required Package description
barCode
optional Package barcode
unitPrice
optional Package selling price, distinct from component unitPrice; finite invariant decimal, native precision/validation applies
isActive
optional Package active flag; false deactivates without deleting
limitedQty
optional Package limited quantity; numeric value, not a boolean flag; finite invariant decimal, native precision/validation applies
allowDuplicateItemCode
optional Per-request duplicate permission, not stored as a Master flag; set true for creates/edits introducing duplicate component item codes
lines
optional Component rows; use lines OR items OR legacy top-level itemCode, never mix forms. Empty arrays are rejected in every mode; omit arrays for header-only update. Create/append/replace need itemCode. update/delete use existing positive lineKey/dtlKey; append/replace reject keys
items
optional Alias for lines; do not send both
itemCode
optional Legacy single-component item code; do not mix with lines/items
qty
optional Component quantity; legacy default 1; finite invariant decimal, native precision/validation applies
uom
optional Existing component UOM
lineDescription
optional Component description
lineDescription2
optional Component second description; conditional SDK/version availability. TSM Detail lacks Desc2 despite the SDK property; unsupported explicit requests fail before save
furtherDescription
optional Component further description
lineUnitPrice
optional Component selling price; finite invariant decimal, native precision/validation applies
purchasePrice
optional Component purchase price; finite invariant decimal, native precision/validation applies
taxCode
optional Component sales tax code; empty string maps to native null; TSM native save/reload verified, edge2 PASS
purchaseTaxCode
optional Component purchase tax code; empty string maps to native null; TSM native save/reload verified, edge2 PASS
validateOnly
optional True validates without saving; create/update still require write permission
Master
optional Known native header columns only; parent validates support, conflicting aliases and persistence
fields
optional Known native header columns only; parent validates support, conflicting aliases and persistence

Example JSON

{
  "packageCode": "PKG-API",
  "description": "API Package",
  "unitPrice": 120,
  "isActive": true,
  "limitedQty": 10,
  "lines": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT",
      "unitPrice": 100
    },
    {
      "itemCode": "ITEM002",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 10
    }
  ]
}

Notes: Static Item Package contract, not native persistence proof. Parent native connector owns strict field validation: Master/fields map known columns with support checks and readback verification; unknown/unsupported fields must be rejected, never silently ignored. Installed SDK support and Save/readback must be verified separately. Create and create validation require description and lines, items, or legacy top-level itemCode. validate-item-package never saves; select edit validation using detailMode or operation:update for header-only preview; reason is optional. update-item-package requires reason even for validateOnly:true previews. validateOnly:true never saves. Header unitPrice is distinct from legacy lineUnitPrice.

create-stock-adjustment write Create Create stock adjustment.

Full payload schema: /v1/schema/commands/create-stock-adjustment

Payload fields

docDate
required or optional YYYY-MM-DD document date
lines
required array of stock item rows; items is also accepted as a compatibility alias
itemCode
single-line fallback still accepted
qty
single-line fallback
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
description
optional stock document narration
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "docDate": "2026-06-24",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Creates one or many stock adjustment detail lines through AutoCount stock document logic. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

create-stock-assembly write Create Create stock assembly.

Full payload schema: /v1/schema/commands/create-stock-assembly

Payload fields

docDate
required or optional YYYY-MM-DD document date
itemCode
required finished/main item code
qty
required finished/main quantity
location
required or optional stock location
lines
required component/detail rows
docNo
optional stock assembly document number; omit to let AutoCount numbering generate it
description
optional document description
uom
optional finished/main UOM
unitCost
optional finished/main unit cost
detailMode
optional update mode such as replace or update
reason
optional business reason for update requests

Example JSON

{
  "docDate": "2026-06-24",
  "itemCode": "FINISHED-API",
  "location": "HQ",
  "qty": 1,
  "lines": [
    {
      "lineNo": 1,
      "itemCode": "RAW-API-1",
      "description": "Raw material 1",
      "qty": 2,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 10,
      "batchNo": "BATCH-001",
      "serialNo": ""
    },
    {
      "lineNo": 2,
      "itemCode": "RAW-API-2",
      "description": "Raw material 2",
      "qty": 3,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 5,
      "batchNo": "",
      "serialNo": ""
    }
  ],
  "description": "Stock assembly created through API",
  "uom": "UNIT",
  "unitCost": 100,
  "detailMode": "replace",
  "reason": "correct assembly detail"
}

Notes: Creates stock assembly with optional multiple component/detail lines through AutoCount manufacturing/stock logic. Full human payload reference for stock assembly/order/disassembly. Batch, serial, and costing behavior depends on item and account-book settings.

create-stock-assembly-order write Create Create stock assembly order.

Full payload schema: /v1/schema/commands/create-stock-assembly-order

Payload fields

docDate
required or optional YYYY-MM-DD document date
itemCode
required finished/main item code
qty
required finished/main quantity
location
required or optional stock location
lines
required component/detail rows
docNo
optional stock assembly document number; omit to let AutoCount numbering generate it
description
optional document description
uom
optional finished/main UOM
unitCost
optional finished/main unit cost
detailMode
optional update mode such as replace or update
reason
optional business reason for update requests

Example JSON

{
  "docDate": "2026-06-24",
  "itemCode": "FINISHED-API",
  "location": "HQ",
  "qty": 1,
  "lines": [
    {
      "lineNo": 1,
      "itemCode": "RAW-API-1",
      "description": "Raw material 1",
      "qty": 2,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 10,
      "batchNo": "BATCH-001",
      "serialNo": ""
    },
    {
      "lineNo": 2,
      "itemCode": "RAW-API-2",
      "description": "Raw material 2",
      "qty": 3,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 5,
      "batchNo": "",
      "serialNo": ""
    }
  ],
  "description": "Stock assembly order created through API",
  "uom": "UNIT",
  "unitCost": 100,
  "detailMode": "replace",
  "reason": "correct assembly detail"
}

Notes: Creates stock assembly order with optional multiple component/detail lines through AutoCount manufacturing/stock logic. Full human payload reference for stock assembly/order/disassembly. Batch, serial, and costing behavior depends on item and account-book settings.

create-stock-disassembly write Create Create stock disassembly.

Full payload schema: /v1/schema/commands/create-stock-disassembly

Payload fields

docDate
required or optional YYYY-MM-DD document date
itemCode
required finished/main item code
qty
required finished/main quantity
location
required or optional stock location
lines
required component/detail rows
docNo
optional stock assembly document number; omit to let AutoCount numbering generate it
description
optional document description
uom
optional finished/main UOM
unitCost
optional finished/main unit cost
detailMode
optional update mode such as replace or update
reason
optional business reason for update requests

Example JSON

{
  "docDate": "2026-06-24",
  "itemCode": "FINISHED-API",
  "location": "HQ",
  "qty": 1,
  "lines": [
    {
      "lineNo": 1,
      "itemCode": "RAW-API-1",
      "description": "Raw material 1",
      "qty": 2,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 10,
      "batchNo": "BATCH-001",
      "serialNo": ""
    },
    {
      "lineNo": 2,
      "itemCode": "RAW-API-2",
      "description": "Raw material 2",
      "qty": 3,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 5,
      "batchNo": "",
      "serialNo": ""
    }
  ],
  "description": "Stock disassembly created through API",
  "uom": "UNIT",
  "unitCost": 100,
  "detailMode": "replace",
  "reason": "correct assembly detail"
}

Notes: Creates stock disassembly with optional multiple detail lines through AutoCount manufacturing/stock logic. Full human payload reference for stock assembly/order/disassembly. Batch, serial, and costing behavior depends on item and account-book settings.

create-stock-issue write Create Create stock issue.

Full payload schema: /v1/schema/commands/create-stock-issue

Payload fields

docDate
required or optional YYYY-MM-DD document date
lines
required array of stock item rows; items is also accepted as a compatibility alias
itemCode
single-line fallback still accepted
qty
single-line fallback
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
description
optional stock document narration
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "docDate": "2026-06-24",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Creates one or many stock issue detail lines through AutoCount stock document logic. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

create-stock-item-brand write Create Create a Stock Item Brand Maintenance record.

Full payload schema: /v1/schema/commands/create-stock-item-brand

Payload fields

code
required item brand code
description
required description

Example JSON

{
  "code": "BRAND1",
  "description": "Brand 1"
}

Notes: Uses AutoCount stock item brand maintenance SDK where available.

create-stock-item-category write Create Create a Stock Item Category Maintenance record.

Full payload schema: /v1/schema/commands/create-stock-item-category

Payload fields

code
required item category code
description
required description

Example JSON

{
  "code": "CAT1",
  "description": "Category 1"
}

Notes: Uses AutoCount stock item category maintenance SDK where available.

create-stock-item-group write Create Create a Stock Item Group Maintenance record.

Full payload schema: /v1/schema/commands/create-stock-item-group

Payload fields

code
required item group code
description
required description

Example JSON

{
  "code": "FG",
  "description": "Finished Goods"
}

Notes: Uses AutoCount stock item group maintenance SDK where available.

create-stock-item-type write Create Create a Stock Item Type Maintenance record.

Full payload schema: /v1/schema/commands/create-stock-item-type

Payload fields

code
required item type code
description
required description

Example JSON

{
  "code": "RAW",
  "description": "Raw Material"
}

Notes: Uses AutoCount stock item type maintenance SDK where available.

create-stock-receive write Create Create stock receive.

Full payload schema: /v1/schema/commands/create-stock-receive

Payload fields

docDate
required or optional YYYY-MM-DD document date
lines
required array of stock item rows; items is also accepted as a compatibility alias
itemCode
single-line fallback still accepted
qty
single-line fallback
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
description
optional stock document narration
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "docDate": "2026-06-24",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Creates one or many stock receive detail lines through AutoCount stock document logic. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

create-stock-take write Create Create stock take.

Full payload schema: /v1/schema/commands/create-stock-take

Payload fields

docDate
required or optional YYYY-MM-DD document date
location
optional default stock location
lines
required array of stock item rows; items is also accepted as a compatibility alias
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
description
optional stock document narration
reason
optional reason/remark
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "docDate": "2026-06-24",
  "location": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Creates one or many stock take detail lines through AutoCount stock document logic. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

create-stock-transfer write Create Create stock transfer.

Full payload schema: /v1/schema/commands/create-stock-transfer

Payload fields

docDate
required or optional YYYY-MM-DD document date
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
lines
required array of stock item rows; items is also accepted as a compatibility alias
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
description
optional stock document narration
reason
optional reason/remark
location
optional default stock location
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "docDate": "2026-06-24",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "location": "HQ",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Creates one or many stock transfer detail lines through AutoCount stock document logic. Fresh account books need at least two active stock locations before transfer. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

create-stock-uom-conversion write Create Create stock UOM conversion.

Full payload schema: /v1/schema/commands/create-stock-uom-conversion

Payload fields

docDate
required or optional YYYY-MM-DD document date
lines
required array of stock item rows; items is also accepted as a compatibility alias
itemCode
single-line fallback still accepted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
description
optional stock document narration
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "docDate": "2026-06-24",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Creates one or many stock UOM conversion detail lines through AutoCount stock document logic. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

create-stock-update-cost write Create Create stock update cost document.

Full payload schema: /v1/schema/commands/create-stock-update-cost

Payload fields

docDate
required or optional YYYY-MM-DD document date
lines
required array of stock item rows; items is also accepted as a compatibility alias
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
description
optional stock document narration
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "docDate": "2026-06-24",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Creates one or many stock update-cost detail lines through AutoCount stock document logic. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

create-stock-write-off write Create Create stock write-off.

Full payload schema: /v1/schema/commands/create-stock-write-off

Payload fields

docDate
required or optional YYYY-MM-DD document date
location
optional default stock location
lines
required array of stock item rows; items is also accepted as a compatibility alias
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
description
optional stock document narration
reason
optional reason/remark
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "docDate": "2026-06-24",
  "location": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Creates one or many stock write-off detail lines through AutoCount stock document logic. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

delete-item-batch write Delete Delete an unused item batch subject to native safety checks.

Full payload schema: /v1/schema/commands/delete-item-batch

Payload fields

itemCode
required AutoCount item code
batchNo
required Exact item batch number
validateOnly
optional True validates without saving; write permission is still required on create/update/delete

Example JSON

{
  "itemCode": "ITEM001",
  "batchNo": "LOT001"
}

Notes: Connector SDK support and native safety checks are required. Validation never saves. Cloud schema presence is not native persistence proof; existing change-item-batch is separate.

delete-item-bom write Delete Delete an unreferenced item BOM or preview native reference checks.

Full payload schema: /v1/schema/commands/delete-item-bom

Payload fields

itemCode
required finished item code
validateOnly
optional boolean; true checks references without deleting
reason
optional business reason

Example JSON

{
  "itemCode": "FINISHED-API",
  "validateOnly": true
}

Notes: Stock/Delete and write queue apply even to validateOnly:true. Native checks require the BOM to exist and reject use as another BOM component before Delete. Preview returns saved:false/deleted:false. Actual deletion reloads parent/detail absence; installed connector capability and native acceptance must be verified separately.

delete-item-package write Delete Delete an unreferenced item package or preview early checks; native maintenance2 PASS.

Full payload schema: /v1/schema/commands/delete-item-package

Payload fields

packageCode
required Package identity
reason
required Business reason
confirmDelete
optional Explicit true confirmation required for actual deletion; may be omitted when validateOnly:true
validateOnly
optional True runs early reference/usage checks without deleting; incomplete preview, not proof of readiness to delete

Example JSON

{
  "packageCode": "PKG-API",
  "reason": "Retire unused package",
  "validateOnly": true
}

Notes: Static Item Package contract, not native persistence proof. Parent native connector owns strict field validation: Master/fields map known columns with support checks and readback verification; unknown/unsupported fields must be rejected, never silently ignored. Installed SDK support and Save/readback must be verified separately. Referenced packages are blocked from deletion. Early guards use recorded SoldQty/PurchasedQty/OpeningQty usage and GetPackageTransaction(code,string.Empty); this inquiry is permission-filtered, so an empty result is not proof of no references. Do not rely on the Master UsedQty getter: it throws for a missing column in TSM. Parent SDK IL inspection proves native DeleteData checks 22 tables including SO, PO, QT, ADVQT and consignment before its transaction/write, without inquiry permission filters. There is no reusable read-only helper for those comprehensive checks; actual native Delete performs them. reason is required; confirmDelete:true is required only for actual deletion. validateOnly:true checks without deleting or saving and may omit confirmDelete; preview returns saved:false, deleted:false, referenceCheckComplete:false, readyToDelete:false, nativeDeleteChecksReferences:true. No connector-owned SQL was added. Native maintenance2 PASS: unused package IPT0C160407583AA deleted with absence proof; used package IPT0C160407583AB and SO KHSO2606/0339 preserved after delete refusal. Native absence readback remains required for future deletions. Prefer update-item-package with isActive:false. Successful actual delete returns saved:true, deleted:true, verified:true, validateOnly:false, referenceCheckComplete:true, readyToDelete:false, nativeDeleteChecksReferences:true. readyToDelete stays false because the deletion has already completed; preview also returns verified:false and validateOnly:true.

delete-stock-adjustment write Delete Delete stock adjustment.

Full payload schema: /v1/schema/commands/delete-stock-adjustment

Payload fields

docNo
required document number or code
reason
optional

Example JSON

{
  "docNo": "SA-000001",
  "reason": "remove/correct stock document"
}

Notes: Uses AutoCount SDK Delete. Use carefully because stock transactions affect costing and audit history.

delete-stock-assembly write Delete Delete stock assembly.

Full payload schema: /v1/schema/commands/delete-stock-assembly

Payload fields

docNo
required document number or code
reason
optional

Example JSON

{
  "docNo": "ASM-000001",
  "reason": "remove/correct stock document"
}

Notes: Uses AutoCount SDK Delete. Use carefully because stock transactions affect costing and audit history.

delete-stock-assembly-order write Delete Delete stock assembly order.

Full payload schema: /v1/schema/commands/delete-stock-assembly-order

Payload fields

docNo
required document number or code
reason
optional

Example JSON

{
  "docNo": "ASO-000001",
  "reason": "remove/correct stock document"
}

Notes: Uses AutoCount SDK Delete. Use carefully because stock transactions affect costing and audit history.

delete-stock-disassembly write Delete Delete stock disassembly.

Full payload schema: /v1/schema/commands/delete-stock-disassembly

Payload fields

docNo
required document number or code
reason
optional

Example JSON

{
  "docNo": "DSA-000001",
  "reason": "remove/correct stock document"
}

Notes: Uses AutoCount SDK Delete. Use carefully because stock transactions affect costing and audit history.

delete-stock-issue write Delete Delete stock issue.

Full payload schema: /v1/schema/commands/delete-stock-issue

Payload fields

docNo
required document number or code
reason
optional

Example JSON

{
  "docNo": "SI-000001",
  "reason": "remove/correct stock document"
}

Notes: Uses AutoCount SDK Delete. Use carefully because stock transactions affect costing and audit history.

delete-stock-receive write Delete Delete stock receive.

Full payload schema: /v1/schema/commands/delete-stock-receive

Payload fields

docNo
required document number or code
reason
optional

Example JSON

{
  "docNo": "SR-000001",
  "reason": "remove/correct stock document"
}

Notes: Uses AutoCount SDK Delete. Use carefully because stock transactions affect costing and audit history.

delete-stock-take write Delete Delete stock take.

Full payload schema: /v1/schema/commands/delete-stock-take

Payload fields

docNo
required document number or code
reason
optional

Example JSON

{
  "docNo": "STK-000001",
  "reason": "remove/correct stock document"
}

Notes: Uses AutoCount SDK Delete. Use carefully because stock transactions affect costing and audit history.

delete-stock-transfer write Delete Delete stock transfer.

Full payload schema: /v1/schema/commands/delete-stock-transfer

Payload fields

docNo
required document number or code
reason
optional

Example JSON

{
  "docNo": "ST-000001",
  "reason": "remove/correct stock document"
}

Notes: Uses AutoCount SDK Delete. Use carefully because stock transactions affect costing and audit history.

delete-stock-uom-conversion write Delete Delete stock UOM conversion.

Full payload schema: /v1/schema/commands/delete-stock-uom-conversion

Payload fields

docNo
required document number or code
reason
optional

Example JSON

{
  "docNo": "UC-000001",
  "reason": "remove/correct stock document"
}

Notes: Uses AutoCount SDK Delete. Use carefully because stock transactions affect costing and audit history.

delete-stock-update-cost write Delete Delete stock update cost.

Full payload schema: /v1/schema/commands/delete-stock-update-cost

Payload fields

docNo
required document number or code
reason
optional

Example JSON

{
  "docNo": "SUC-000001",
  "reason": "remove/correct stock document"
}

Notes: Uses AutoCount SDK Delete. Use carefully because stock transactions affect costing and audit history.

delete-stock-write-off write Delete Delete stock write-off.

Full payload schema: /v1/schema/commands/delete-stock-write-off

Payload fields

docNo
required document number or code
reason
optional

Example JSON

{
  "docNo": "SWO-000001",
  "reason": "remove/correct stock document"
}

Notes: Uses AutoCount SDK Delete. Use carefully because stock transactions affect costing and audit history.

export-items read read Alias for read-items-all explicit full stock item export.

Full payload schema: /v1/schema/commands/export-items

Payload fields

activeOnly
optional boolean

Example JSON

{
  "activeOnly": true
}

Notes: Use only for export/sync jobs, not repeated quick lookups.

get-item-batch read Read Read one exact item batch.

Full payload schema: /v1/schema/commands/get-item-batch

Payload fields

itemCode
required AutoCount item code
batchNo
required Exact item batch number

Example JSON

{
  "itemCode": "ITEM001",
  "batchNo": "LOT001"
}

Notes: Connector SDK support and native safety checks are required. Validation never saves. Cloud schema presence is not native persistence proof; existing change-item-batch is separate.

get-item-bom read Read Get one item BOM by document/code.

Full payload schema: /v1/schema/commands/get-item-bom

Payload fields

docNo
required document number or code

Example JSON

{
  "docNo": "BOM-API"
}
get-item-package read Read Get one item package by document/code.

Full payload schema: /v1/schema/commands/get-item-package

Payload fields

packageCode
required Package identity

Example JSON

{
  "packageCode": "PKG-API"
}

Notes: Static Item Package contract, not native persistence proof. Parent native connector owns strict field validation: Master/fields map known columns with support checks and readback verification; unknown/unsupported fields must be rejected, never silently ignored. Installed SDK support and Save/readback must be verified separately.

get-stock-adjustment read Read Get one stock adjustment by document/code.

Full payload schema: /v1/schema/commands/get-stock-adjustment

Payload fields

docNo
required document number or code

Example JSON

{
  "docNo": "SA-000001"
}
get-stock-assembly read Read Get one stock assembly by document/code.

Full payload schema: /v1/schema/commands/get-stock-assembly

Payload fields

docNo
required document number or code

Example JSON

{
  "docNo": "ASM-000001"
}
get-stock-assembly-order read Read Get one stock assembly order by document/code.

Full payload schema: /v1/schema/commands/get-stock-assembly-order

Payload fields

docNo
required document number or code

Example JSON

{
  "docNo": "ASO-000001"
}
get-stock-disassembly read Read Get one stock disassembly by document/code.

Full payload schema: /v1/schema/commands/get-stock-disassembly

Payload fields

docNo
required document number or code

Example JSON

{
  "docNo": "DSA-000001"
}
get-stock-issue read Read Get one stock issue by document/code.

Full payload schema: /v1/schema/commands/get-stock-issue

Payload fields

docNo
required document number or code

Example JSON

{
  "docNo": "SI-000001"
}
get-stock-item-brand read Read Get one Stock Item Brand Maintenance record.

Full payload schema: /v1/schema/commands/get-stock-item-brand

Payload fields

code
required item brand code

Example JSON

{
  "code": "BRAND1"
}
get-stock-item-category read Read Get one Stock Item Category Maintenance record.

Full payload schema: /v1/schema/commands/get-stock-item-category

Payload fields

code
required item category code

Example JSON

{
  "code": "CAT1"
}
get-stock-item-detail read Read Read one stock item with all public SDK fields and child tables.

Full payload schema: /v1/schema/commands/get-stock-item-detail

Payload fields

itemCode
required stock item code
maxTableRows
optional child-table row limit; maxTableRows: 0 is guarded for stock item detail unless confirmFullDetail: true is sent
confirmFullDetail
optional boolean; required with maxTableRows: 0 to return every child-table row
includeTableData
optional boolean, default true

Example JSON

{
  "itemCode": "ITEM001",
  "maxTableRows": 50
}

Notes: Uses AutoCount.Stock.Item.ItemDataAccess.LoadItem(View). Returns fields and child tables such as ItemUomTable, ItemPriceBook, ItemCustomerPrice, ItemSupplierPrice, ItemOpeningBalance, ItemBOMTable, ItemBatchTable, and sub-code/replacement/ingredient tables when available. If maxTableRows: 0 is requested without confirmFullDetail: true, the connector returns a bounded result with fullDetailBlocked so AI/customer calls do not hang accidentally.

get-stock-item-group read Read Get one Stock Item Group Maintenance record.

Full payload schema: /v1/schema/commands/get-stock-item-group

Payload fields

code
required item group code

Example JSON

{
  "code": "FG"
}
get-stock-item-type read Read Get one Stock Item Type Maintenance record.

Full payload schema: /v1/schema/commands/get-stock-item-type

Payload fields

code
required item type code

Example JSON

{
  "code": "RAW"
}
get-stock-receive read Read Get one stock receive by document/code.

Full payload schema: /v1/schema/commands/get-stock-receive

Payload fields

docNo
required document number or code

Example JSON

{
  "docNo": "SR-000001"
}
get-stock-take read Read Get one stock take by document/code.

Full payload schema: /v1/schema/commands/get-stock-take

Payload fields

docNo
required document number or code

Example JSON

{
  "docNo": "STK-000001"
}
get-stock-transfer read Read Get one stock transfer by document/code.

Full payload schema: /v1/schema/commands/get-stock-transfer

Payload fields

docNo
required document number or code

Example JSON

{
  "docNo": "ST-000001"
}
get-stock-uom-conversion read Read Get one stock UOM conversion by document/code.

Full payload schema: /v1/schema/commands/get-stock-uom-conversion

Payload fields

docNo
required document number or code

Example JSON

{
  "docNo": "UC-000001"
}
get-stock-update-cost read Read Get one stock update cost by document/code.

Full payload schema: /v1/schema/commands/get-stock-update-cost

Payload fields

docNo
required document number or code

Example JSON

{
  "docNo": "SUC-000001"
}
get-stock-write-off read Read Get one stock write-off by document/code.

Full payload schema: /v1/schema/commands/get-stock-write-off

Payload fields

docNo
required document number or code

Example JSON

{
  "docNo": "SWO-000001"
}
list-bom-items read Read List item BOM records.

Full payload schema: /v1/schema/commands/list-bom-items

Payload fields

No payload fields required.

Example JSON

{}
list-item-batches read Read List item batches with bounded filters.

Full payload schema: /v1/schema/commands/list-item-batches

Payload fields

itemCode
optional AutoCount item code
batchNo
optional Optional batch-number substring search
limit
optional Page size, default500, maximum5000
manufacturedDateFrom
optional Inclusive manufactured-date lower bound YYYY-MM-DD
manufacturedDateTo
optional Inclusive manufactured-date upper bound YYYY-MM-DD
expiryDateFrom
optional Inclusive expiry lower bound YYYY-MM-DD
expiryDateTo
optional Inclusive expiry upper bound YYYY-MM-DD

Example JSON

{
  "itemCode": "ITEM001",
  "limit": 100
}

Notes: Connector SDK support and native safety checks are required. Validation never saves. Cloud schema presence is not native persistence proof; existing change-item-batch is separate.

list-item-packages read Read List item package records.

Full payload schema: /v1/schema/commands/list-item-packages

Payload fields

No payload fields required.

Example JSON

{}

Notes: Static Item Package contract, not native persistence proof. Parent native connector owns strict field validation: Master/fields map known columns with support checks and readback verification; unknown/unsupported fields must be rejected, never silently ignored. Installed SDK support and Save/readback must be verified separately.

list-stock-adjustments read Read List stock adjustment records.

Full payload schema: /v1/schema/commands/list-stock-adjustments

Payload fields

No payload fields required.

Example JSON

{}
list-stock-assemblies read Read List stock assembly records.

Full payload schema: /v1/schema/commands/list-stock-assemblies

Payload fields

No payload fields required.

Example JSON

{}
list-stock-assembly-orders read Read List stock assembly order records.

Full payload schema: /v1/schema/commands/list-stock-assembly-orders

Payload fields

No payload fields required.

Example JSON

{}
list-stock-disassemblies read Read List stock disassembly records.

Full payload schema: /v1/schema/commands/list-stock-disassemblies

Payload fields

No payload fields required.

Example JSON

{}
list-stock-issues read Read List stock issue records.

Full payload schema: /v1/schema/commands/list-stock-issues

Payload fields

No payload fields required.

Example JSON

{}
list-stock-item-brands read Read List Stock Item Brand Maintenance records.

Full payload schema: /v1/schema/commands/list-stock-item-brands

Payload fields

No payload fields required.

Example JSON

{}
list-stock-item-categories read Read List Stock Item Category Maintenance records.

Full payload schema: /v1/schema/commands/list-stock-item-categories

Payload fields

No payload fields required.

Example JSON

{}
list-stock-item-groups read Read List Stock Item Group Maintenance records.

Full payload schema: /v1/schema/commands/list-stock-item-groups

Payload fields

No payload fields required.

Example JSON

{}
list-stock-item-types read Read List Stock Item Type Maintenance records.

Full payload schema: /v1/schema/commands/list-stock-item-types

Payload fields

No payload fields required.

Example JSON

{}
list-stock-receives read Read List stock receive records.

Full payload schema: /v1/schema/commands/list-stock-receives

Payload fields

No payload fields required.

Example JSON

{}
list-stock-takes read Read List stock take records.

Full payload schema: /v1/schema/commands/list-stock-takes

Payload fields

No payload fields required.

Example JSON

{}
list-stock-transfers read Read List stock transfer records.

Full payload schema: /v1/schema/commands/list-stock-transfers

Payload fields

No payload fields required.

Example JSON

{}
list-stock-uom-conversions read Read List stock UOM conversion records.

Full payload schema: /v1/schema/commands/list-stock-uom-conversions

Payload fields

No payload fields required.

Example JSON

{}
list-stock-update-costs read Read List stock update cost records.

Full payload schema: /v1/schema/commands/list-stock-update-costs

Payload fields

No payload fields required.

Example JSON

{}
list-stock-write-offs read Read List stock write-off records.

Full payload schema: /v1/schema/commands/list-stock-write-offs

Payload fields

No payload fields required.

Example JSON

{}
read-item-batch-balances read Read Read item batch balances by location and UOM.

Full payload schema: /v1/schema/commands/read-item-batch-balances

Payload fields

itemCode
required AutoCount item code
batchNo
optional Exact item batch number
limit
optional Page size, default500, maximum5000
location
optional Optional exact location
uom
optional Optional exact UOM

Example JSON

{
  "itemCode": "ITEM001"
}

Notes: Connector SDK support and native safety checks are required. Validation never saves. Cloud schema presence is not native persistence proof; existing change-item-batch is separate.

read-item-batch-transactions read Read Read item batch transactions by date.

Full payload schema: /v1/schema/commands/read-item-batch-transactions

Payload fields

itemCode
required AutoCount item code
batchNo
required Exact item batch number
limit
optional Page size, default500, maximum5000
fromDate
optional Inclusive transaction-date lower bound YYYY-MM-DD
toDate
optional Inclusive transaction-date upper bound YYYY-MM-DD

Example JSON

{
  "itemCode": "ITEM001",
  "batchNo": "LOT001"
}

Notes: Connector SDK support and native safety checks are required. Validation never saves. Cloud schema presence is not native persistence proof; existing change-item-batch is separate.

read-items read Read List stock items quickly with limit/search filters.

Full payload schema: /v1/schema/commands/read-items

Payload fields

limit
optional row limit; default 100, max 500
search
optional keyword matched against item code/description
itemCode
optional item code contains search
itemGroup
optional exact item group
itemType
optional exact item type
activeOnly
optional boolean

Example JSON

{
  "limit": 50,
  "search": "V274",
  "activeOnly": true
}

Notes: Bounded by default so AI tools do not block the connector queue with full item exports. Use read-items-all/export-items only when a full item master export is required.

read-items-all read Read Explicit full stock item export.

Full payload schema: /v1/schema/commands/read-items-all

Payload fields

search
optional keyword filter
itemGroup
optional exact item group
itemType
optional exact item type
activeOnly
optional boolean

Example JSON

{
  "activeOnly": true
}

Notes: Can be slow on large account books. Prefer read-items with limit/search for normal AI lookup.

read-locations read Read List stock locations.

Full payload schema: /v1/schema/commands/read-locations

Payload fields

No payload fields required.

Example JSON

{}
read-stock-adjustment-lines read Read Read stock adjustment detail lines only.

Full payload schema: /v1/schema/commands/read-stock-adjustment-lines

Payload fields

itemCode
optional
docNo
optional
location
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "itemCode": "ITEM001",
  "limit": 50
}
read-stock-detail-lines read Read Read stock transaction lines together, or filter with document.

Full payload schema: /v1/schema/commands/read-stock-detail-lines

Payload fields

document
optional: stock-adjustment | stock-receive | stock-issue | stock-transfer | stock-uom-conversion | stock-take | stock-write-off | stock-update-cost
itemCode
optional
docNo
optional
location
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "document": "stock-adjustment",
  "itemCode": "ITEM001",
  "limit": 50
}
read-stock-issue-lines read Read Read stock issue detail lines only.

Full payload schema: /v1/schema/commands/read-stock-issue-lines

Payload fields

itemCode
optional
docNo
optional
location
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "itemCode": "ITEM001",
  "limit": 50
}
read-stock-movement read Read Read stock movement.

Full payload schema: /v1/schema/commands/read-stock-movement

Payload fields

itemCode
optional item code
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional

Example JSON

{
  "itemCode": "ITEM001"
}
read-stock-receive-lines read Read Read stock receive detail lines only.

Full payload schema: /v1/schema/commands/read-stock-receive-lines

Payload fields

itemCode
optional
docNo
optional
location
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "itemCode": "ITEM001",
  "limit": 50
}
read-stock-take-lines read Read Read stock take detail lines only.

Full payload schema: /v1/schema/commands/read-stock-take-lines

Payload fields

itemCode
optional
docNo
optional
location
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "itemCode": "ITEM001",
  "limit": 50
}
read-stock-transfer-lines read Read Read stock transfer detail lines only.

Full payload schema: /v1/schema/commands/read-stock-transfer-lines

Payload fields

itemCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "itemCode": "ITEM001",
  "limit": 50
}
read-stock-uom-conversion-lines read Read Read stock UOM conversion detail lines only.

Full payload schema: /v1/schema/commands/read-stock-uom-conversion-lines

Payload fields

itemCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "itemCode": "ITEM001",
  "limit": 50
}
read-stock-update-cost-lines read Read Read stock update cost detail lines only.

Full payload schema: /v1/schema/commands/read-stock-update-cost-lines

Payload fields

itemCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "itemCode": "ITEM001",
  "limit": 50
}
read-stock-write-off-lines read Read Read stock write-off detail lines only.

Full payload schema: /v1/schema/commands/read-stock-write-off-lines

Payload fields

itemCode
optional
docNo
optional
location
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example JSON

{
  "itemCode": "ITEM001",
  "limit": 50
}
recalculate-stock-costing write write Recalculate native stock costing for one exact item.

Full payload schema: /v1/schema/commands/recalculate-stock-costing

Payload fields

itemCode
required exact string item code; preserve leading zeros, no wildcard/list/range
validateOnly
optional boolean; true is no-change preflight and still requires Stock Edit
confirm
boolean; required true for execution unless validateOnly is true

Example JSON

{
  "itemCode": "000013",
  "validateOnly": true
}

Notes: Requires connector local-mvp-2026.09.27.01 or later, Stock Edit and native TOOLS_STKCOST_RECAL_OPEN. Calculation version 1 only; full history; both document-cost update flags false. Item method/settings are preserved. No all-items/range/date selector, cancellation or automatic retry. Preflight first, then send confirm:true with a distinct execution commandId. Identical requests reuse their commandId; partial/uncertain results require reconciliation, never a new-ID retry. Scoped native readback is not an independent valuation audit. Existing UOM rate/history guards are unchanged.

stock-balance read Read Inquire stock balance by item/location using AutoCount stock balance by location logic, with non-serial fallback through AutoCount.Stock.StockBalance.StockBalanceHelper.

Full payload schema: /v1/schema/commands/stock-balance

Payload fields

itemCode
optional stock item code
location
optional stock location code
includeZeroBalance
optional true/false
includeInactiveItem
optional true/false
maxRows
optional row limit, default 500

Example JSON

{
  "itemCode": "ITEM001",
  "location": "HQ",
  "maxRows": 100
}

Notes: Returns authoritative AutoCount stock quantity by location rows from the first non-empty AutoCount result table plus table summaries. Serial items may return ItemSerialNo rows. Non-serial items may return stockBalanceFallback/nonSerialFallback rows from StockBalanceHelper. If AutoCount exposes no location allocation for the item, the result sets locationBalanceUnavailable=true; AI must not guess a location split from item master total.

stock-balance-batch read Read Read live stock balances for many items and locations in one connector execution. This is the recommended command for 100-150 item stock checks.

Full payload schema: /v1/schema/commands/stock-balance-batch

Payload fields

itemCodes
required array of 1-500 stock item codes
locations
optional array of stock location codes
includeZeroBalance
optional true/false; when true, requested item/location pairs with no AutoCount rows return explicit zero-stock rows
asOfDate
optional YYYY-MM-DD; defaults to connector machine today
maxRows
optional per item/location row limit, default 500

Example JSON

{
  "itemCodes": [
    "FI0779",
    "FI0780"
  ],
  "locations": [
    "HQ",
    "GM"
  ],
  "includeZeroBalance": true
}

Notes: Use this for WhatsApp orders with many items. Returns one batch asOf timestamp, per-item location balances, missingItemCodes, failedItemCodes, and diagnostics.fallbackCallCount. The connector uses AutoCount StockLevel array lookup first, then reports per-location timing/source so AI can explain slow account books without creating 50-200 cloud commands.

swap-item-uom-rates write write Swap an item's UOM conversion rates.

Full payload schema: /v1/schema/commands/swap-item-uom-rates

Payload fields

itemCode
required AutoCount item code
rates
required modified UOM rates; each row has uom, positive newRate, and optional isBaseUOM
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example JSON

{
  "itemCode": "ITEM-001",
  "rates": [
    {
      "uom": "BOX",
      "newRate": 12,
      "isBaseUOM": false
    },
    {
      "uom": "PCS",
      "newRate": 1,
      "isBaseUOM": true
    }
  ],
  "confirm": true
}

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities. Native StartSwapUOMRate; isBaseUOM is optional per row. Exactly one resulting base UOM at rate 1 is required. New connectors structurally verify the save before selected-item costing in a separate commit; the native costing right is required. Rate maintenance may repair batch balances book-wide. Historical guards remain; no automatic retry after partial completion.

update-item-batch write Edit Update batch description and dates; not its identity.

Full payload schema: /v1/schema/commands/update-item-batch

Payload fields

itemCode
required AutoCount item code
batchNo
required Exact item batch number
description
optional Batch description
manufacturedDate
optional YYYY-MM-DD or explicit null to clear; omitted values are unchanged; empty strings rejected
expiryDate
optional YYYY-MM-DD or explicit null to clear; omitted values are unchanged; empty strings rejected
lastSaleDate
optional YYYY-MM-DD or explicit null to clear; omitted values are unchanged; empty strings rejected
validateOnly
optional True validates without saving; write permission is still required on create/update/delete

Example JSON

{
  "itemCode": "ITEM001",
  "batchNo": "LOT001"
}

Notes: Connector SDK support and native safety checks are required. Validation never saves. Cloud schema presence is not native persistence proof; existing change-item-batch is separate.

update-item-bom write Edit Update item BOM definition.

Full payload schema: /v1/schema/commands/update-item-bom

Payload fields

reason
optional business reason
itemCode
required finished item code
description
optional expected existing description; differing values are not supported for BOM persistence
assemblyCost
optional assembly cost
finishGoodCost
optional finished-good cost
autoUpdateMethod
unsupported company-wide setting; omit this field
detailMode
existing BOM only: update (default for update command) or replace; replace removes omitted lines
validateOnly
optional boolean; true prevents saving even on create/update and retains their write permission
updateBOMCost
true required for all lines[] including previews: acknowledges native save sets parent UOM Cost = FinishGoodCost * Rate; false unsupported
lines
array of {subItemCode?, qty?, lineKey?, seq?, remove?, overheadCost?, fields?, nativeFields?}; new lines need code and qty, keyed update preserves omitted values
subItemCode
legacy single component code; cannot be mixed with lines
qty
legacy single component positive quantity, default 1; cannot be mixed with lines
overheadCost
optional legacy component overhead cost

Example JSON

{
  "reason": "correct BOM",
  "itemCode": "FINISHED-API",
  "updateBOMCost": true,
  "lines": [
    {
      "subItemCode": "RAW-API-1",
      "qty": 2
    },
    {
      "subItemCode": "RAW-API-2",
      "qty": 3
    }
  ]
}

Notes: Use lines or legacy subItemCode, never both. Update preserves omitted details/values; remove:true requires stable lineKey and permits optional matching subItemCode, never subItemCode alone. Replace supplies the complete desired detail set. Description changes and company-wide autoUpdateMethod changes are unsupported and must be rejected before native mutation. Native costing can change costs during saves; no no-cost-change guarantee is made. Native connector validates references, performs a single Save and reload verification; validate-item-bom never saves. Schema availability alone does not prove native support.

update-item-package write Edit Update item package header/components or deactivate; requires native support and verification.

Full payload schema: /v1/schema/commands/update-item-package

Payload fields

packageCode
required Package identity
description
optional Package description
barCode
optional Package barcode
unitPrice
optional Package selling price, distinct from component unitPrice; finite invariant decimal, native precision/validation applies
isActive
optional Package active flag; false deactivates without deleting
limitedQty
optional Package limited quantity; numeric value, not a boolean flag; finite invariant decimal, native precision/validation applies
allowDuplicateItemCode
optional Per-request duplicate permission, not stored as a Master flag; set true for creates/edits introducing duplicate component item codes
lines
optional Component rows; use lines OR items OR legacy top-level itemCode, never mix forms. Empty arrays are rejected in every mode; omit arrays for header-only update. Create/append/replace need itemCode. update/delete use existing positive lineKey/dtlKey; append/replace reject keys
items
optional Alias for lines; do not send both
itemCode
optional Legacy single-component item code; do not mix with lines/items
qty
optional Component quantity; legacy default 1; finite invariant decimal, native precision/validation applies
uom
optional Existing component UOM
lineDescription
optional Component description
lineDescription2
optional Component second description; conditional SDK/version availability. TSM Detail lacks Desc2 despite the SDK property; unsupported explicit requests fail before save
furtherDescription
optional Component further description
lineUnitPrice
optional Component selling price; finite invariant decimal, native precision/validation applies
purchasePrice
optional Component purchase price; finite invariant decimal, native precision/validation applies
taxCode
optional Component sales tax code; empty string maps to native null; TSM native save/reload verified, edge2 PASS
purchaseTaxCode
optional Component purchase tax code; empty string maps to native null; TSM native save/reload verified, edge2 PASS
validateOnly
optional True validates without saving; create/update still require write permission
Master
optional Known native header columns only; parent validates support, conflicting aliases and persistence
fields
optional Known native header columns only; parent validates support, conflicting aliases and persistence
detailMode
optional update (default for update commands with lines/items), append, delete, or replace; any detailMode selects edit validation; update/delete target stable lineKey or dtlKey
reason
required Business reason for update, including deactivation and validateOnly previews
lineKey
optional Stable native detail key from get-item-package; prefer a string to preserve Int64 precision
dtlKey
optional Stable native detail key from get-item-package; prefer a string to preserve Int64 precision

Example JSON

{
  "packageCode": "PKG-API",
  "reason": "Retire package from use",
  "isActive": false
}

Notes: Static Item Package contract, not native persistence proof. Parent native connector owns strict field validation: Master/fields map known columns with support checks and readback verification; unknown/unsupported fields must be rejected, never silently ignored. Installed SDK support and Save/readback must be verified separately. Omitted lines/items preserve all existing details unless legacy component fields are supplied. Omitted header/detail values are preserved. update/delete require stable positive lineKey or dtlKey from get-item-package, not row position or item code alone. append and replace reject keys. append adds components; replace supplies the complete desired non-empty detail set and removes omitted components. Empty arrays are rejected in every mode, including update and previews; omit arrays for header-only update. Legacy component updates also need a stable key. validateOnly:true never saves.

update-stock-adjustment write Edit Edit stock adjustment header fields and detail lines.

Full payload schema: /v1/schema/commands/update-stock-adjustment

Payload fields

docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
detailMode
optional: update | append | delete | replace
lines
required array of stock item rows; items is also accepted as a compatibility alias
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "docNo": "STK-000001",
  "description": "Stock document created through API",
  "detailMode": "update",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "reason": "API stock operation",
  "docDate": "2026-06-24",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Uses AutoCount SDK EditDetail/AddDetail/DeleteDetail/ClearDetails + Save. Supported line fields include itemCode, qty, uom, location, batchNo, unitCost, oldCost, newCost, fromQty, toQty, fromUom, toUom, itemCost, rate, description, projNo, and deptNo where the document type exposes them. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

update-stock-assembly write Edit Edit stock assembly header fields and detail lines.

Full payload schema: /v1/schema/commands/update-stock-assembly

Payload fields

docNo
optional stock assembly document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional document description
detailMode
optional update mode such as replace or update
lines
required component/detail rows
reason
optional business reason for update requests
itemCode
required finished/main item code
location
required or optional stock location
qty
required finished/main quantity
uom
optional finished/main UOM
unitCost
optional finished/main unit cost

Example JSON

{
  "docNo": "ASM-000001",
  "description": "Stock assembly created through API",
  "detailMode": "replace",
  "lines": [
    {
      "lineNo": 1,
      "itemCode": "RAW-API-1",
      "description": "Raw material 1",
      "qty": 2,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 10,
      "batchNo": "BATCH-001",
      "serialNo": ""
    },
    {
      "lineNo": 2,
      "itemCode": "RAW-API-2",
      "description": "Raw material 2",
      "qty": 3,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 5,
      "batchNo": "",
      "serialNo": ""
    }
  ],
  "reason": "correct assembly detail",
  "docDate": "2026-06-24",
  "itemCode": "FINISHED-API",
  "location": "HQ",
  "qty": 1,
  "uom": "UNIT",
  "unitCost": 100
}

Notes: Uses AutoCount SDK EditDetail/AddDetail/DeleteDetail/ClearDetails + Save. Supported line fields include itemCode, qty, uom, location, batchNo, unitCost, oldCost, newCost, fromQty, toQty, fromUom, toUom, itemCost, rate, description, projNo, and deptNo where the document type exposes them. Full human payload reference for stock assembly/order/disassembly. Batch, serial, and costing behavior depends on item and account-book settings.

update-stock-assembly-order write Edit Edit stock assembly order header fields and detail lines.

Full payload schema: /v1/schema/commands/update-stock-assembly-order

Payload fields

docNo
optional stock assembly document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional document description
detailMode
optional update mode such as replace or update
lines
required component/detail rows
reason
optional business reason for update requests
itemCode
required finished/main item code
location
required or optional stock location
qty
required finished/main quantity
uom
optional finished/main UOM
unitCost
optional finished/main unit cost

Example JSON

{
  "docNo": "ASM-000001",
  "description": "Stock assembly order created through API",
  "detailMode": "replace",
  "lines": [
    {
      "lineNo": 1,
      "itemCode": "RAW-API-1",
      "description": "Raw material 1",
      "qty": 2,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 10,
      "batchNo": "BATCH-001",
      "serialNo": ""
    },
    {
      "lineNo": 2,
      "itemCode": "RAW-API-2",
      "description": "Raw material 2",
      "qty": 3,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 5,
      "batchNo": "",
      "serialNo": ""
    }
  ],
  "reason": "correct assembly detail",
  "docDate": "2026-06-24",
  "itemCode": "FINISHED-API",
  "location": "HQ",
  "qty": 1,
  "uom": "UNIT",
  "unitCost": 100
}

Notes: Uses AutoCount SDK EditDetail/AddDetail/DeleteDetail/ClearDetails + Save. Supported line fields include itemCode, qty, uom, location, batchNo, unitCost, oldCost, newCost, fromQty, toQty, fromUom, toUom, itemCost, rate, description, projNo, and deptNo where the document type exposes them. Full human payload reference for stock assembly/order/disassembly. Batch, serial, and costing behavior depends on item and account-book settings.

update-stock-disassembly write Edit Edit stock disassembly header fields and detail lines.

Full payload schema: /v1/schema/commands/update-stock-disassembly

Payload fields

docNo
optional stock assembly document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional document description
detailMode
optional update mode such as replace or update
lines
required component/detail rows
reason
optional business reason for update requests
itemCode
required finished/main item code
location
required or optional stock location
qty
required finished/main quantity
uom
optional finished/main UOM
unitCost
optional finished/main unit cost

Example JSON

{
  "docNo": "ASM-000001",
  "description": "Stock disassembly created through API",
  "detailMode": "replace",
  "lines": [
    {
      "lineNo": 1,
      "itemCode": "RAW-API-1",
      "description": "Raw material 1",
      "qty": 2,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 10,
      "batchNo": "BATCH-001",
      "serialNo": ""
    },
    {
      "lineNo": 2,
      "itemCode": "RAW-API-2",
      "description": "Raw material 2",
      "qty": 3,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 5,
      "batchNo": "",
      "serialNo": ""
    }
  ],
  "reason": "correct assembly detail",
  "docDate": "2026-06-24",
  "itemCode": "FINISHED-API",
  "location": "HQ",
  "qty": 1,
  "uom": "UNIT",
  "unitCost": 100
}

Notes: Uses AutoCount SDK EditDetail/AddDetail/DeleteDetail/ClearDetails + Save. Supported line fields include itemCode, qty, uom, location, batchNo, unitCost, oldCost, newCost, fromQty, toQty, fromUom, toUom, itemCost, rate, description, projNo, and deptNo where the document type exposes them. Full human payload reference for stock assembly/order/disassembly. Batch, serial, and costing behavior depends on item and account-book settings.

update-stock-issue write Edit Edit stock issue header fields and detail lines.

Full payload schema: /v1/schema/commands/update-stock-issue

Payload fields

docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
detailMode
optional: update | append | delete | replace
lines
required array of stock item rows; items is also accepted as a compatibility alias
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "docNo": "STK-000001",
  "description": "Stock document created through API",
  "detailMode": "update",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "reason": "API stock operation",
  "docDate": "2026-06-24",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Uses AutoCount SDK EditDetail/AddDetail/DeleteDetail/ClearDetails + Save. Supported line fields include itemCode, qty, uom, location, batchNo, unitCost, oldCost, newCost, fromQty, toQty, fromUom, toUom, itemCost, rate, description, projNo, and deptNo where the document type exposes them. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

update-stock-item-brand write Edit Update a Stock Item Brand Maintenance record.

Full payload schema: /v1/schema/commands/update-stock-item-brand

Payload fields

code
required item brand code
description
description to update

Example JSON

{
  "code": "BRAND1",
  "description": "Brand 1"
}

Notes: Uses AutoCount stock item brand maintenance SDK where available.

update-stock-item-category write Edit Update a Stock Item Category Maintenance record.

Full payload schema: /v1/schema/commands/update-stock-item-category

Payload fields

code
required item category code
description
description to update

Example JSON

{
  "code": "CAT1",
  "description": "Category 1"
}

Notes: Uses AutoCount stock item category maintenance SDK where available.

update-stock-item-group write Edit Update a Stock Item Group Maintenance record.

Full payload schema: /v1/schema/commands/update-stock-item-group

Payload fields

code
required item group code
description
description to update

Example JSON

{
  "code": "FG",
  "description": "Finished Goods"
}

Notes: Uses AutoCount stock item group maintenance SDK where available.

update-stock-item-type write Edit Update a Stock Item Type Maintenance record.

Full payload schema: /v1/schema/commands/update-stock-item-type

Payload fields

code
required item type code
description
description to update

Example JSON

{
  "code": "RAW",
  "description": "Raw Material"
}

Notes: Uses AutoCount stock item type maintenance SDK where available.

update-stock-receive write Edit Edit stock receive header fields and detail lines.

Full payload schema: /v1/schema/commands/update-stock-receive

Payload fields

docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
detailMode
optional: update | append | delete | replace
lines
required array of stock item rows; items is also accepted as a compatibility alias
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "docNo": "STK-000001",
  "description": "Stock document created through API",
  "detailMode": "update",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "reason": "API stock operation",
  "docDate": "2026-06-24",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Uses AutoCount SDK EditDetail/AddDetail/DeleteDetail/ClearDetails + Save. Supported line fields include itemCode, qty, uom, location, batchNo, unitCost, oldCost, newCost, fromQty, toQty, fromUom, toUom, itemCost, rate, description, projNo, and deptNo where the document type exposes them. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

update-stock-take write Edit Edit stock take header fields and detail lines.

Full payload schema: /v1/schema/commands/update-stock-take

Payload fields

docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
detailMode
optional: update | append | delete | replace
lines
required array of stock item rows; items is also accepted as a compatibility alias
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "docNo": "STK-000001",
  "description": "Stock document created through API",
  "detailMode": "update",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "reason": "API stock operation",
  "docDate": "2026-06-24",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Uses AutoCount SDK EditDetail/AddDetail/DeleteDetail/ClearDetails + Save. Supported line fields include itemCode, qty, uom, location, batchNo, unitCost, oldCost, newCost, fromQty, toQty, fromUom, toUom, itemCost, rate, description, projNo, and deptNo where the document type exposes them. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

update-stock-transfer write Edit Edit stock transfer header fields and detail lines.

Full payload schema: /v1/schema/commands/update-stock-transfer

Payload fields

docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
detailMode
optional: update | append | delete | replace
lines
required array of stock item rows; items is also accepted as a compatibility alias
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "docNo": "STK-000001",
  "description": "Stock document created through API",
  "detailMode": "update",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "reason": "API stock operation",
  "docDate": "2026-06-24",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Uses AutoCount SDK EditDetail/AddDetail/DeleteDetail/ClearDetails + Save. Supported line fields include itemCode, qty, uom, location, batchNo, unitCost, oldCost, newCost, fromQty, toQty, fromUom, toUom, itemCost, rate, description, projNo, and deptNo where the document type exposes them. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

update-stock-uom-conversion write Edit Edit stock UOM conversion header fields and detail lines.

Full payload schema: /v1/schema/commands/update-stock-uom-conversion

Payload fields

docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
detailMode
optional: update | append | delete | replace
lines
required array of stock item rows; items is also accepted as a compatibility alias
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "docNo": "STK-000001",
  "description": "Stock document created through API",
  "detailMode": "update",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "reason": "API stock operation",
  "docDate": "2026-06-24",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Uses AutoCount SDK EditDetail/AddDetail/DeleteDetail/ClearDetails + Save. Supported line fields include itemCode, qty, uom, location, batchNo, unitCost, oldCost, newCost, fromQty, toQty, fromUom, toUom, itemCost, rate, description, projNo, and deptNo where the document type exposes them. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

update-stock-update-cost write Edit Edit stock update cost header fields and detail lines.

Full payload schema: /v1/schema/commands/update-stock-update-cost

Payload fields

docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
detailMode
optional: update | append | delete | replace
lines
required array of stock item rows; items is also accepted as a compatibility alias
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "docNo": "STK-000001",
  "description": "Stock document created through API",
  "detailMode": "update",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "reason": "API stock operation",
  "docDate": "2026-06-24",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Uses AutoCount SDK EditDetail/AddDetail/DeleteDetail/ClearDetails + Save. Supported line fields include itemCode, qty, uom, location, batchNo, unitCost, oldCost, newCost, fromQty, toQty, fromUom, toUom, itemCost, rate, description, projNo, and deptNo where the document type exposes them. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

update-stock-write-off write Edit Edit stock write-off header fields and detail lines.

Full payload schema: /v1/schema/commands/update-stock-write-off

Payload fields

docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
detailMode
optional: update | append | delete | replace
lines
required array of stock item rows; items is also accepted as a compatibility alias
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "docNo": "STK-000001",
  "description": "Stock document created through API",
  "detailMode": "update",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "reason": "API stock operation",
  "docDate": "2026-06-24",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Uses AutoCount SDK EditDetail/AddDetail/DeleteDetail/ClearDetails + Save. Supported line fields include itemCode, qty, uom, location, batchNo, unitCost, oldCost, newCost, fromQty, toQty, fromUom, toUom, itemCost, rate, description, projNo, and deptNo where the document type exposes them. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

validate-item-batch read Validate Validate batch maintenance without saving.

Full payload schema: /v1/schema/commands/validate-item-batch

Payload fields

itemCode
required AutoCount item code
batchNo
required Exact item batch number
description
optional Batch description
manufacturedDate
optional YYYY-MM-DD or explicit null to clear; omitted values are unchanged; empty strings rejected
expiryDate
optional YYYY-MM-DD or explicit null to clear; omitted values are unchanged; empty strings rejected
lastSaleDate
optional YYYY-MM-DD or explicit null to clear; omitted values are unchanged; empty strings rejected
mode
required Maintenance mode: create or update

Example JSON

{
  "itemCode": "ITEM001",
  "batchNo": "LOT001",
  "mode": "create"
}

Notes: Connector SDK support and native safety checks are required. Validation never saves. Cloud schema presence is not native persistence proof; existing change-item-batch is separate.

validate-item-bom read Validate Validate item BOM without saving.

Full payload schema: /v1/schema/commands/validate-item-bom

Payload fields

itemCode
required finished item code
description
optional expected existing description; differing values are not supported for BOM persistence
assemblyCost
optional assembly cost
finishGoodCost
optional finished-good cost
autoUpdateMethod
unsupported company-wide setting; omit this field
detailMode
existing BOM only: update (default for update command) or replace; replace removes omitted lines
validateOnly
optional boolean; true prevents saving even on create/update and retains their write permission
updateBOMCost
true required for all lines[] including previews: acknowledges native save sets parent UOM Cost = FinishGoodCost * Rate; false unsupported
lines
array of {subItemCode?, qty?, lineKey?, seq?, remove?, overheadCost?, fields?, nativeFields?}; new lines need code and qty, keyed update preserves omitted values
subItemCode
legacy single component code; cannot be mixed with lines
qty
legacy single component positive quantity, default 1; cannot be mixed with lines
overheadCost
optional legacy component overhead cost

Example JSON

{
  "itemCode": "FINISHED-API",
  "updateBOMCost": true,
  "lines": [
    {
      "subItemCode": "RAW-API-1",
      "qty": 2
    },
    {
      "subItemCode": "RAW-API-2",
      "qty": 3
    }
  ]
}

Notes: Use lines or legacy subItemCode, never both. Update preserves omitted details/values; remove:true requires stable lineKey and permits optional matching subItemCode, never subItemCode alone. Replace supplies the complete desired detail set. Description changes and company-wide autoUpdateMethod changes are unsupported and must be rejected before native mutation. Native costing can change costs during saves; no no-cost-change guarantee is made. Native connector validates references, performs a single Save and reload verification; validate-item-bom never saves. Schema availability alone does not prove native support.

validate-item-package read Validate Validate item package without saving.

Full payload schema: /v1/schema/commands/validate-item-package

Payload fields

packageCode
required Package identity
description
optional Package description
barCode
optional Package barcode
unitPrice
optional Package selling price, distinct from component unitPrice; finite invariant decimal, native precision/validation applies
isActive
optional Package active flag; false deactivates without deleting
limitedQty
optional Package limited quantity; numeric value, not a boolean flag; finite invariant decimal, native precision/validation applies
allowDuplicateItemCode
optional Per-request duplicate permission, not stored as a Master flag; set true for creates/edits introducing duplicate component item codes
lines
optional Component rows; use lines OR items OR legacy top-level itemCode, never mix forms. Empty arrays are rejected in every mode; omit arrays for header-only update. Create/append/replace need itemCode. update/delete use existing positive lineKey/dtlKey; append/replace reject keys
items
optional Alias for lines; do not send both
itemCode
optional Legacy single-component item code; do not mix with lines/items
qty
optional Component quantity; legacy default 1; finite invariant decimal, native precision/validation applies
uom
optional Existing component UOM
lineDescription
optional Component description
lineDescription2
optional Component second description; conditional SDK/version availability. TSM Detail lacks Desc2 despite the SDK property; unsupported explicit requests fail before save
furtherDescription
optional Component further description
lineUnitPrice
optional Component selling price; finite invariant decimal, native precision/validation applies
purchasePrice
optional Component purchase price; finite invariant decimal, native precision/validation applies
taxCode
optional Component sales tax code; empty string maps to native null; TSM native save/reload verified, edge2 PASS
purchaseTaxCode
optional Component purchase tax code; empty string maps to native null; TSM native save/reload verified, edge2 PASS
validateOnly
optional True validates without saving; create/update still require write permission
Master
optional Known native header columns only; parent validates support, conflicting aliases and persistence
fields
optional Known native header columns only; parent validates support, conflicting aliases and persistence
detailMode
optional update (default for update commands with lines/items), append, delete, or replace; any detailMode selects edit validation; update/delete target stable lineKey or dtlKey
reason
optional Business reason; not required for validate-item-package edit previews
lineKey
optional Stable native detail key from get-item-package; prefer a string to preserve Int64 precision
dtlKey
optional Stable native detail key from get-item-package; prefer a string to preserve Int64 precision
operation
optional Default create; operation:update selects header-only edit validation. Any detailMode selects edit validation; reason is optional on validate-item-package

Example JSON

{
  "packageCode": "PKG-API",
  "description": "API Package",
  "unitPrice": 120,
  "isActive": true,
  "limitedQty": 10,
  "lines": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT",
      "unitPrice": 100
    },
    {
      "itemCode": "ITEM002",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 10
    }
  ]
}

Notes: Static Item Package contract, not native persistence proof. Parent native connector owns strict field validation: Master/fields map known columns with support checks and readback verification; unknown/unsupported fields must be rejected, never silently ignored. Installed SDK support and Save/readback must be verified separately. Omitted lines/items preserve all existing details unless legacy component fields are supplied. Omitted header/detail values are preserved. update/delete require stable positive lineKey or dtlKey from get-item-package, not row position or item code alone. append and replace reject keys. append adds components; replace supplies the complete desired non-empty detail set and removes omitted components. Empty arrays are rejected in every mode, including update and previews; omit arrays for header-only update. Legacy component updates also need a stable key. validateOnly:true never saves. Create and create validation require description and lines, items, or legacy top-level itemCode. validate-item-package never saves; select edit validation using detailMode or operation:update for header-only preview; reason is optional. update-item-package requires reason even for validateOnly:true previews. validateOnly:true never saves. Header unitPrice is distinct from legacy lineUnitPrice.

validate-stock-adjustment read Validate Validate stock adjustment without saving.

Full payload schema: /v1/schema/commands/validate-stock-adjustment

Payload fields

items
optional alias for lines
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
lines
required array of stock item rows; items is also accepted as a compatibility alias
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1
    }
  ],
  "docDate": "2026-06-24",
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Validation only; does not save. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

validate-stock-assembly read Validate Validate stock assembly without saving.

Full payload schema: /v1/schema/commands/validate-stock-assembly

Payload fields

items
module-specific stock lines
docNo
optional stock assembly document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
itemCode
required finished/main item code
description
optional document description
location
required or optional stock location
qty
required finished/main quantity
uom
optional finished/main UOM
unitCost
optional finished/main unit cost
detailMode
optional update mode such as replace or update
lines
required component/detail rows
reason
optional business reason for update requests

Example JSON

{
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1
    }
  ],
  "docDate": "2026-06-24",
  "itemCode": "FINISHED-API",
  "description": "Stock assembly created through API",
  "location": "HQ",
  "qty": 1,
  "uom": "UNIT",
  "unitCost": 100,
  "detailMode": "replace",
  "lines": [
    {
      "lineNo": 1,
      "itemCode": "RAW-API-1",
      "description": "Raw material 1",
      "qty": 2,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 10,
      "batchNo": "BATCH-001",
      "serialNo": ""
    },
    {
      "lineNo": 2,
      "itemCode": "RAW-API-2",
      "description": "Raw material 2",
      "qty": 3,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 5,
      "batchNo": "",
      "serialNo": ""
    }
  ],
  "reason": "correct assembly detail"
}

Notes: Validation only; does not save. Full human payload reference for stock assembly/order/disassembly. Batch, serial, and costing behavior depends on item and account-book settings.

validate-stock-assembly-order read Validate Validate stock assembly order without saving.

Full payload schema: /v1/schema/commands/validate-stock-assembly-order

Payload fields

items
module-specific stock lines
docNo
optional stock assembly document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
itemCode
required finished/main item code
description
optional document description
location
required or optional stock location
qty
required finished/main quantity
uom
optional finished/main UOM
unitCost
optional finished/main unit cost
detailMode
optional update mode such as replace or update
lines
required component/detail rows
reason
optional business reason for update requests

Example JSON

{
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1
    }
  ],
  "docDate": "2026-06-24",
  "itemCode": "FINISHED-API",
  "description": "Stock assembly order created through API",
  "location": "HQ",
  "qty": 1,
  "uom": "UNIT",
  "unitCost": 100,
  "detailMode": "replace",
  "lines": [
    {
      "lineNo": 1,
      "itemCode": "RAW-API-1",
      "description": "Raw material 1",
      "qty": 2,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 10,
      "batchNo": "BATCH-001",
      "serialNo": ""
    },
    {
      "lineNo": 2,
      "itemCode": "RAW-API-2",
      "description": "Raw material 2",
      "qty": 3,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 5,
      "batchNo": "",
      "serialNo": ""
    }
  ],
  "reason": "correct assembly detail"
}

Notes: Validation only; does not save. Full human payload reference for stock assembly/order/disassembly. Batch, serial, and costing behavior depends on item and account-book settings.

validate-stock-disassembly read Validate Validate stock disassembly without saving.

Full payload schema: /v1/schema/commands/validate-stock-disassembly

Payload fields

items
module-specific stock lines
docNo
optional stock assembly document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
itemCode
required finished/main item code
description
optional document description
location
required or optional stock location
qty
required finished/main quantity
uom
optional finished/main UOM
unitCost
optional finished/main unit cost
detailMode
optional update mode such as replace or update
lines
required component/detail rows
reason
optional business reason for update requests

Example JSON

{
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1
    }
  ],
  "docDate": "2026-06-24",
  "itemCode": "FINISHED-API",
  "description": "Stock disassembly created through API",
  "location": "HQ",
  "qty": 1,
  "uom": "UNIT",
  "unitCost": 100,
  "detailMode": "replace",
  "lines": [
    {
      "lineNo": 1,
      "itemCode": "RAW-API-1",
      "description": "Raw material 1",
      "qty": 2,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 10,
      "batchNo": "BATCH-001",
      "serialNo": ""
    },
    {
      "lineNo": 2,
      "itemCode": "RAW-API-2",
      "description": "Raw material 2",
      "qty": 3,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 5,
      "batchNo": "",
      "serialNo": ""
    }
  ],
  "reason": "correct assembly detail"
}

Notes: Validation only; does not save. Full human payload reference for stock assembly/order/disassembly. Batch, serial, and costing behavior depends on item and account-book settings.

validate-stock-issue read Validate Validate stock issue without saving.

Full payload schema: /v1/schema/commands/validate-stock-issue

Payload fields

items
optional alias for lines
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
lines
required array of stock item rows; items is also accepted as a compatibility alias
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1
    }
  ],
  "docDate": "2026-06-24",
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Validation only; does not save. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

validate-stock-receive read Validate Validate stock receive without saving.

Full payload schema: /v1/schema/commands/validate-stock-receive

Payload fields

items
optional alias for lines
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
lines
required array of stock item rows; items is also accepted as a compatibility alias
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1
    }
  ],
  "docDate": "2026-06-24",
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Validation only; does not save. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

validate-stock-take read Validate Validate stock take without saving.

Full payload schema: /v1/schema/commands/validate-stock-take

Payload fields

items
optional alias for lines
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
lines
required array of stock item rows; items is also accepted as a compatibility alias
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1
    }
  ],
  "docDate": "2026-06-24",
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Validation only; does not save. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

validate-stock-transfer read Validate Validate stock transfer without saving.

Full payload schema: /v1/schema/commands/validate-stock-transfer

Payload fields

items
optional alias for lines
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
lines
required array of stock item rows; items is also accepted as a compatibility alias
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1
    }
  ],
  "docDate": "2026-06-24",
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Validation only; does not save. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

validate-stock-uom-conversion read Validate Validate stock UOM conversion without saving.

Full payload schema: /v1/schema/commands/validate-stock-uom-conversion

Payload fields

items
optional alias for lines
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
lines
required array of stock item rows; items is also accepted as a compatibility alias
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1
    }
  ],
  "docDate": "2026-06-24",
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Validation only; does not save. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

validate-stock-update-cost read Validate Validate stock update cost without saving.

Full payload schema: /v1/schema/commands/validate-stock-update-cost

Payload fields

items
optional alias for lines
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
lines
required array of stock item rows; items is also accepted as a compatibility alias
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1
    }
  ],
  "docDate": "2026-06-24",
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Validation only; does not save. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

validate-stock-write-off read Validate Validate stock write-off without saving.

Full payload schema: /v1/schema/commands/validate-stock-write-off

Payload fields

items
optional alias for lines
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
lines
required array of stock item rows; items is also accepted as a compatibility alias
userDefinedFields
optional object of AutoCount user-defined fields

Example JSON

{
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1
    }
  ],
  "docDate": "2026-06-24",
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Notes: Validation only; does not save. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

void-item-bom write Void Guarded item BOM void request.

Full payload schema: /v1/schema/commands/void-item-bom

Payload fields

itemCode
required finished item
reason
required

Example JSON

{
  "itemCode": "FINISHED-API",
  "reason": "void BOM"
}

Notes: Master definitions do not have a proven safe void path; request is guarded.

void-item-package write Void Guarded item package void request.

Full payload schema: /v1/schema/commands/void-item-package

Payload fields

packageCode
required Package identity
reason
required Business reason

Example JSON

{
  "packageCode": "PKG-API",
  "reason": "Retire unused package"
}

Notes: Static Item Package contract, not native persistence proof. Parent native connector owns strict field validation: Master/fields map known columns with support checks and readback verification; unknown/unsupported fields must be rejected, never silently ignored. Installed SDK support and Save/readback must be verified separately. void-item-package stays guarded: no actual native void. Use update-item-package with isActive:false and a reason instead.

void-stock-adjustment write Void Void/cancel stock adjustment.

Full payload schema: /v1/schema/commands/void-stock-adjustment

Payload fields

docNo
required document number or code
reason
optional

Example JSON

{
  "docNo": "SA-000001",
  "reason": "void/correct stock document"
}

Notes: Uses AutoCount SDK CancelDocument.

void-stock-assembly write Void Void/cancel stock assembly.

Full payload schema: /v1/schema/commands/void-stock-assembly

Payload fields

docNo
required document number or code
reason
optional

Example JSON

{
  "docNo": "ASM-000001",
  "reason": "void/correct stock document"
}

Notes: Uses AutoCount SDK CancelDocument.

void-stock-assembly-order write Void Void/cancel stock assembly order.

Full payload schema: /v1/schema/commands/void-stock-assembly-order

Payload fields

docNo
required document number or code
reason
optional

Example JSON

{
  "docNo": "ASO-000001",
  "reason": "void/correct stock document"
}

Notes: Uses AutoCount SDK CancelDocument.

void-stock-disassembly write Void Void/cancel stock disassembly.

Full payload schema: /v1/schema/commands/void-stock-disassembly

Payload fields

docNo
required document number or code
reason
optional

Example JSON

{
  "docNo": "DSA-000001",
  "reason": "void/correct stock document"
}

Notes: Uses AutoCount SDK CancelDocument.

void-stock-issue write Void Void/cancel stock issue.

Full payload schema: /v1/schema/commands/void-stock-issue

Payload fields

docNo
required document number or code
reason
optional

Example JSON

{
  "docNo": "SI-000001",
  "reason": "void/correct stock document"
}

Notes: Uses AutoCount SDK CancelDocument.

void-stock-receive write Void Void/cancel stock receive.

Full payload schema: /v1/schema/commands/void-stock-receive

Payload fields

docNo
required document number or code
reason
optional

Example JSON

{
  "docNo": "SR-000001",
  "reason": "void/correct stock document"
}

Notes: Uses AutoCount SDK CancelDocument.

void-stock-take write Void Void/cancel stock take.

Full payload schema: /v1/schema/commands/void-stock-take

Payload fields

docNo
required document number or code
reason
optional

Example JSON

{
  "docNo": "STK-000001",
  "reason": "void/correct stock document"
}

Notes: Uses AutoCount SDK CancelDocument.

void-stock-transfer write Void Void/cancel stock transfer.

Full payload schema: /v1/schema/commands/void-stock-transfer

Payload fields

docNo
required document number or code
reason
optional

Example JSON

{
  "docNo": "ST-000001",
  "reason": "void/correct stock document"
}

Notes: Uses AutoCount SDK CancelDocument.

void-stock-uom-conversion write Void Void/cancel stock UOM conversion.

Full payload schema: /v1/schema/commands/void-stock-uom-conversion

Payload fields

docNo
required document number or code
reason
optional

Example JSON

{
  "docNo": "UC-000001",
  "reason": "void/correct stock document"
}

Notes: Uses AutoCount SDK CancelDocument.

void-stock-update-cost write Void Void/cancel stock update cost.

Full payload schema: /v1/schema/commands/void-stock-update-cost

Payload fields

docNo
required document number or code
reason
optional

Example JSON

{
  "docNo": "SUC-000001",
  "reason": "void/correct stock document"
}

Notes: Uses AutoCount SDK CancelDocument.

void-stock-write-off write Void Void/cancel stock write-off.

Full payload schema: /v1/schema/commands/void-stock-write-off

Payload fields

docNo
required document number or code
reason
optional

Example JSON

{
  "docNo": "SWO-000001",
  "reason": "void/correct stock document"
}

Notes: Uses AutoCount SDK CancelDocument.

Tax43 commandsRead 16Validate 1Create 9Edit 9write 7read 1
change-tariff-code write write Change a tariff code.

Full payload schema: /v1/schema/commands/change-tariff-code

Payload fields

oldTariffCode
required old value for oldTariffCode
newTariffCode
required new value for newTariffCode
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example JSON

{
  "oldTariffCode": "OLD-TAR",
  "newTariffCode": "NEW-TAR",
  "confirm": true
}

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

change-tax-branch-id write write Change a tax branch ID for a taxpayer.

Full payload schema: /v1/schema/commands/change-tax-branch-id

Payload fields

tin
required taxpayer TIN
oldTaxBranchID
required old value for oldTaxBranchID
newTaxBranchID
required new value for newTaxBranchID
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example JSON

{
  "tin": "C1234567890",
  "oldTaxBranchID": "001",
  "newTaxBranchID": "002",
  "confirm": true
}

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

change-tax-code write write Change a tax code.

Full payload schema: /v1/schema/commands/change-tax-code

Payload fields

oldTaxCode
required old value for oldTaxCode
newTaxCode
required new value for newTaxCode
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example JSON

{
  "oldTaxCode": "OLD-TAX",
  "newTaxCode": "NEW-TAX",
  "confirm": true
}

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

change-tax-type write write Change a tax type (currently write-disabled).

Full payload schema: /v1/schema/commands/change-tax-type

Payload fields

oldTaxType
required old value for oldTaxType
newTaxType
required new value for newTaxType
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example JSON

{
  "oldTaxType": "OLD-TYPE",
  "newTaxType": "NEW-TYPE",
  "confirm": true
}

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities. Current connector mutation is BLOCKED: complete native reference verification is not proven; TSM also lacks the native procedure. Loving procedure availability is not inferred. Schema/preflight availability does not enable writes; no guard bypass or procedure creation is supported.

change-tin write write Change a taxpayer TIN.

Full payload schema: /v1/schema/commands/change-tin

Payload fields

oldTIN
required old value for oldTIN
newTIN
required new value for newTIN
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example JSON

{
  "oldTIN": "C1234567890",
  "newTIN": "C1098765432",
  "confirm": true
}

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

change-withholding-tax-code write write Change a withholding tax code.

Full payload schema: /v1/schema/commands/change-withholding-tax-code

Payload fields

oldWithholdingTaxCode
required old value for oldWithholdingTaxCode
newWithholdingTaxCode
required new value for newWithholdingTaxCode
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example JSON

{
  "oldWithholdingTaxCode": "OLD-WHT",
  "newWithholdingTaxCode": "NEW-WHT",
  "confirm": true
}

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

create-gst-payment write Create Guarded GST payment request.

Full payload schema: /v1/schema/commands/create-gst-payment

Payload fields

processorKey
required GST processor key
paymentDate
YYYY-MM-DD optional
reason
required business reason

Example JSON

{
  "processorKey": 1,
  "paymentDate": "2026-04-30",
  "reason": "record GST payment"
}

Notes: Returns createBlocked until fresh-account-book proof confirms the AutoCount GSTPaymentCommand workflow.

create-gst-processor write Create Guarded GST processor create request.

Full payload schema: /v1/schema/commands/create-gst-processor

Payload fields

fromDate
YYYY-MM-DD optional
toDate
YYYY-MM-DD optional
reason
required business reason

Example JSON

{
  "fromDate": "2026-01-01",
  "toDate": "2026-03-31",
  "reason": "prepare GST return"
}

Notes: Returns createBlocked until fresh-account-book proof confirms generated journals, audit trail, and recovery behavior.

create-sst-payment write Create Guarded SST payment request.

Full payload schema: /v1/schema/commands/create-sst-payment

Payload fields

processorKey
required SST processor key
paymentDate
YYYY-MM-DD optional
reason
required business reason

Example JSON

{
  "processorKey": 1,
  "paymentDate": "2026-03-31",
  "reason": "record SST payment"
}

Notes: Returns createBlocked until fresh-account-book proof confirms the AutoCount SSTPaymentCommand workflow.

create-sst-processor write Create Guarded SST processor create request.

Full payload schema: /v1/schema/commands/create-sst-processor

Payload fields

fromDate
YYYY-MM-DD optional
toDate
YYYY-MM-DD optional
reason
required business reason

Example JSON

{
  "fromDate": "2026-01-01",
  "toDate": "2026-02-28",
  "reason": "prepare SST return"
}

Notes: Returns createBlocked until fresh-account-book proof confirms generated journals, audit trail, and recovery behavior.

create-tariff-code write Create Create a tariff code.

Full payload schema: /v1/schema/commands/create-tariff-code

Payload fields

code
required tariff code
description
optional
taxType
optional
bankChargeTaxType
optional
withholdingTaxCode
optional
withholdingTaxRate
optional

Example JSON

{
  "code": "API-TAR",
  "description": "API tariff",
  "taxType": "S-0"
}

Notes: Uses AutoCount.GeneralMaint.Tariff.TariffCommand.NewTariff and SaveTariff.

create-tax-code write Create Alias for create-tax-type; creates an AutoCount tax code.

Full payload schema: /v1/schema/commands/create-tax-code

Payload fields

code
required tax code
description
optional
taxRate
optional rate/percentage
supplyPurchase
optional S or P style AutoCount value

Example JSON

{
  "code": "S-API",
  "description": "API sales tax",
  "taxRate": 8,
  "supplyPurchase": "S"
}

Notes: Cloud and local connector normalize this to create-tax-type before execution.

create-tax-entity write Create Create a tax entity.

Full payload schema: /v1/schema/commands/create-tax-entity

Payload fields

name
required company/person name
tin
optional TIN
identityNo
optional identity or registration number
identityType
optional AutoCount/e-Invoice identity type
address
optional address
postCode
optional post code
city
optional city
stateCode
optional state code
countryCode
optional country code
phone
optional phone
emailAddress
optional email
msicCode
optional MSIC code
businessActivityDesc
optional business activity
taxCategory
optional AutoCount tax category
taxClassification
optional AutoCount tax classification
salesTaxRegisterNo
optional
serviceTaxRegisterNo
optional
gstRegisterNo
optional
tourismTaxRegisterNo
optional

Example JSON

{
  "name": "API Tax Entity Sdn Bhd",
  "tin": "C1234567890",
  "identityNo": "202601010001",
  "identityType": "BRN",
  "countryCode": "MYS"
}

Notes: Uses AutoCount.Tax.TaxEntityMaintenance.TaxEntityCommand.New and TaxEntity.Save.

create-tax-type write Create Create a tax code.

Full payload schema: /v1/schema/commands/create-tax-type

Payload fields

code
required tax code
description
optional
taxRate
optional rate/percentage
supplyPurchase
optional S or P style AutoCount value
taxAccNo
optional GL tax account
govtTaxCode
optional government tax code
isActive
optional boolean/AutoCount flag
isDefault
optional boolean/AutoCount flag
isZeroRate
optional boolean/AutoCount flag
useTrxTaxAccNo
optional boolean/AutoCount flag
accountingBasis
optional AutoCount accounting basis
addToCost
optional boolean/AutoCount flag

Example JSON

{
  "code": "S-API",
  "description": "API sales tax",
  "taxRate": 8,
  "supplyPurchase": "S",
  "isActive": true
}

Notes: Uses AutoCount.Tax.TaxCodeMaintenance.TaxCodeCommand.NewTaxCode and SaveTaxCode.

create-withholding-tax-code write Create Create a withholding tax code.

Full payload schema: /v1/schema/commands/create-withholding-tax-code

Payload fields

code
required withholding tax code
withholdingTaxRate
optional rate
withholdingTaxAccNo
optional GL account
description
optional

Example JSON

{
  "code": "WHT-API",
  "withholdingTaxRate": 2,
  "description": "API withholding tax"
}

Notes: Uses AutoCount.Tax.WithholdingTax.WithholdingTaxCommand.NewWithholdingTax and SaveWithholdingTax.

get-gst-processor read Read Get one GST processor by key.

Full payload schema: /v1/schema/commands/get-gst-processor

Payload fields

key
required processor key

Example JSON

{
  "key": 1
}

Notes: Uses AutoCount.Tax.MalaysiaGST.GSTProcessor.GSTProcessorCommand.ViewGSTProcessor.

get-sst-processor read Read Get one SST processor by key.

Full payload schema: /v1/schema/commands/get-sst-processor

Payload fields

key
required processor key

Example JSON

{
  "key": 1
}

Notes: Uses AutoCount.Tax.MalaysiaGST.SSTProcessor.SSTProcessorCommand.ViewSSTProcessor.

get-tariff-code read Read Get one tariff code.

Full payload schema: /v1/schema/commands/get-tariff-code

Payload fields

code
required tariff code

Example JSON

{
  "code": "API-TAR"
}

Notes: Uses AutoCount.GeneralMaint.Tariff.TariffCommand.GetTariff.

get-tax-code read Read Alias for get-tax-type; gets one AutoCount tax code.

Full payload schema: /v1/schema/commands/get-tax-code

Payload fields

code
required tax code
taxCode
optional alias for code

Example JSON

{
  "taxCode": "S-0"
}

Notes: Cloud and local connector normalize this to get-tax-type before execution.

get-tax-entity read Read Get one tax entity by id, code, or name.

Full payload schema: /v1/schema/commands/get-tax-entity

Payload fields

code
required tax entity id/code/name

Example JSON

{
  "code": "MY"
}

Notes: Reads account-book tax entity data without direct SQL writes.

get-tax-type read Read Get one tax code by code.

Full payload schema: /v1/schema/commands/get-tax-type

Payload fields

code
required tax type or tax code
taxCode
optional alias for code

Example JSON

{
  "code": "S-0"
}

Notes: Reads one account-book tax setup row without direct SQL writes. Alias accepted: get-tax-code.

get-withholding-tax-code read Read Get one withholding tax code.

Full payload schema: /v1/schema/commands/get-withholding-tax-code

Payload fields

code
required withholding tax code

Example JSON

{
  "code": "WHT-API"
}

Notes: Uses AutoCount.Tax.WithholdingTax.WithholdingTaxCommand.GetWithholdingTax.

list-gst-processors read Read List GST processors.

Full payload schema: /v1/schema/commands/list-gst-processors

Payload fields

No payload fields required.

Example JSON

{}

Notes: Uses AutoCount.Tax.MalaysiaGST.GSTProcessor.GSTProcessorCommand.LoadGSTProcessorTable.

list-sst-processors read Read List SST processors.

Full payload schema: /v1/schema/commands/list-sst-processors

Payload fields

No payload fields required.

Example JSON

{}

Notes: Uses AutoCount.Tax.MalaysiaGST.SSTProcessor.SSTProcessorCommand.LoadSSTProcessorTable.

list-tariff-codes read Read List tariff codes.

Full payload schema: /v1/schema/commands/list-tariff-codes

Payload fields

No payload fields required.

Example JSON

{}

Notes: Uses AutoCount.GeneralMaint.Tariff.TariffCommand.LoadBrowseTable.

list-tax-codes read Read Alias for list-tax-types; lists all AutoCount tax codes.

Full payload schema: /v1/schema/commands/list-tax-codes

Payload fields

No payload fields required.

Example JSON

{}

Notes: Cloud and local connector normalize this to list-tax-types before execution.

list-tax-entities read Read List tax entities from the account book.

Full payload schema: /v1/schema/commands/list-tax-entities

Payload fields

No payload fields required.

Example JSON

{}

Notes: Uses AutoCount.Tax.TaxEntityMaintenance.TaxEntityCommand.LoadDataTable.

list-tax-types read Read List all tax codes from the account book.

Full payload schema: /v1/schema/commands/list-tax-types

Payload fields

No payload fields required.

Example JSON

{}

Notes: Uses AutoCount.Tax.TaxCodeMaintenance.TaxCodeCommand.LoadBrowseTable. Alias accepted: list-tax-codes.

list-withholding-tax-codes read Read List withholding tax codes.

Full payload schema: /v1/schema/commands/list-withholding-tax-codes

Payload fields

No payload fields required.

Example JSON

{}

Notes: Uses AutoCount.Tax.WithholdingTax.WithholdingTaxCommand.LoadBrowseTable.

merge-tax-entity write write Merge one tax entity into another.

Full payload schema: /v1/schema/commands/merge-tax-entity

Payload fields

oldTaxEntityID
required positive int32 source tax entity ID
taxEntityInfo
required source audit label; not entity data
newTaxEntityID
required positive int32 target tax entity ID, different from oldTaxEntityID
newTaxEntityInfo
required target audit label; not entity data
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Delete permission
confirm
required true for an actual save; not required when validateOnly is true

Example JSON

{
  "oldTaxEntityID": 1,
  "taxEntityInfo": "source audit label",
  "newTaxEntityID": 2,
  "newTaxEntityInfo": "target audit label",
  "confirm": true
}

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities. Merge is classified as Delete and is full-actor-only because no tax access-right module exists in the cloud key model. The info strings are audit labels, not entity objects; the connector must resolve both existing entities from their IDs and verify their identity/TIN before calling native MergeTaxEntity.

read-gst-settings read Read Read GST settings.

Full payload schema: /v1/schema/commands/read-gst-settings

Payload fields

No payload fields required.

Example JSON

{}

Notes: Reads settings from available account-book GST tables.

read-sst-settings read Read Read SST settings.

Full payload schema: /v1/schema/commands/read-sst-settings

Payload fields

No payload fields required.

Example JSON

{}

Notes: Reads settings from available account-book SST tables.

search-taxpayer-tin read read Search a taxpayer TIN through AutoCount AIP/MyInvois using the account book's e-Invoice settings.

Full payload schema: /v1/schema/commands/search-taxpayer-tin

Payload fields

idType
required identity type such as BRN, NRIC, PASSPORT, or ARMY
idValue
required identity or registration number
taxpayerName
required registered taxpayer name

Example JSON

{
  "idType": "BRN",
  "idValue": "202101012345",
  "taxpayerName": "EXAMPLE SDN BHD"
}

Notes: No raw AutoCount AIP key is accepted or returned. AutoCount must have an active AIP ID in e-Invoice Setting.

update-gst-processor write Edit Guarded GST processor edit request.

Full payload schema: /v1/schema/commands/update-gst-processor

Payload fields

key
required processor key
reason
required business reason

Example JSON

{
  "key": 1,
  "reason": "correct period"
}

Notes: Returns editBlocked until fresh-account-book proof confirms generated journals, audit trail, and recovery behavior.

update-gst-settings write Edit Guarded GST settings update request.

Full payload schema: /v1/schema/commands/update-gst-settings

Payload fields

reason
required business reason
settings
object with intended setting changes

Example JSON

{
  "reason": "configure tax period",
  "settings": {}
}

Notes: Returns editBlocked until the exact AutoCount SDK save workflow is proven.

update-sst-processor write Edit Guarded SST processor edit request.

Full payload schema: /v1/schema/commands/update-sst-processor

Payload fields

key
required processor key
reason
required business reason

Example JSON

{
  "key": 1,
  "reason": "correct period"
}

Notes: Returns editBlocked until fresh-account-book proof confirms generated journals, audit trail, and recovery behavior.

update-sst-settings write Edit Guarded SST settings update request.

Full payload schema: /v1/schema/commands/update-sst-settings

Payload fields

reason
required business reason
settings
object with intended setting changes

Example JSON

{
  "reason": "configure SST period",
  "settings": {}
}

Notes: Returns editBlocked until the exact AutoCount SDK save workflow is proven.

update-tariff-code write Edit Update a tariff code.

Full payload schema: /v1/schema/commands/update-tariff-code

Payload fields

code
required tariff code
description
optional
taxType
optional
bankChargeTaxType
optional
withholdingTaxCode
optional
withholdingTaxRate
optional

Example JSON

{
  "code": "API-TAR",
  "description": "Updated API tariff"
}

Notes: Uses AutoCount.GeneralMaint.Tariff.TariffCommand.GetTariff and SaveTariff.

update-tax-code write Edit Alias for update-tax-type; updates an AutoCount tax code.

Full payload schema: /v1/schema/commands/update-tax-code

Payload fields

code
required tax code
description
optional
taxRate
optional rate/percentage
supplyPurchase
optional S or P style AutoCount value

Example JSON

{
  "code": "S-API",
  "description": "Updated API sales tax",
  "taxRate": 8,
  "supplyPurchase": "S"
}

Notes: Cloud and local connector normalize this to update-tax-type before execution.

update-tax-entity write Edit Update a tax entity.

Full payload schema: /v1/schema/commands/update-tax-entity

Payload fields

taxEntityID
required numeric TaxEntityID
name
optional company/person name
tin
optional TIN
identityNo
optional identity or registration number
identityType
optional AutoCount/e-Invoice identity type
address
optional address
postCode
optional post code
city
optional city
stateCode
optional state code
countryCode
optional country code
phone
optional phone
emailAddress
optional email
msicCode
optional MSIC code
businessActivityDesc
optional business activity
taxCategory
optional AutoCount tax category
taxClassification
optional AutoCount tax classification
salesTaxRegisterNo
optional
serviceTaxRegisterNo
optional
gstRegisterNo
optional
tourismTaxRegisterNo
optional

Example JSON

{
  "taxEntityID": 1,
  "name": "Updated API Tax Entity Sdn Bhd",
  "countryCode": "MYS"
}

Notes: Uses AutoCount.Tax.TaxEntityMaintenance.TaxEntityCommand.Edit and TaxEntity.Save.

update-tax-type write Edit Update a tax code.

Full payload schema: /v1/schema/commands/update-tax-type

Payload fields

code
required tax code
description
optional
taxRate
optional rate/percentage
supplyPurchase
optional S or P style AutoCount value
taxAccNo
optional GL tax account
govtTaxCode
optional government tax code
isActive
optional boolean/AutoCount flag
isDefault
optional boolean/AutoCount flag
isZeroRate
optional boolean/AutoCount flag
useTrxTaxAccNo
optional boolean/AutoCount flag
accountingBasis
optional AutoCount accounting basis
addToCost
optional boolean/AutoCount flag

Example JSON

{
  "code": "S-API",
  "description": "Updated API sales tax",
  "taxRate": 8,
  "supplyPurchase": "S",
  "isActive": true
}

Notes: Uses AutoCount.Tax.TaxCodeMaintenance.TaxCodeCommand.GetTaxCode and SaveTaxCode.

update-withholding-tax-code write Edit Update a withholding tax code.

Full payload schema: /v1/schema/commands/update-withholding-tax-code

Payload fields

code
required withholding tax code
withholdingTaxRate
optional rate
withholdingTaxAccNo
optional GL account
description
optional

Example JSON

{
  "code": "WHT-API",
  "withholdingTaxRate": 3
}

Notes: Uses AutoCount.Tax.WithholdingTax.WithholdingTaxCommand.GetWithholdingTax and SaveWithholdingTax.

validate-taxpayer-tin read Validate Validate a taxpayer TIN through AutoCount AIP/MyInvois using the account book's e-Invoice settings.

Full payload schema: /v1/schema/commands/validate-taxpayer-tin

Payload fields

tin
required tax identification number
idType
required identity type such as BRN, NRIC, PASSPORT, or ARMY
idValue
required identity or registration number

Example JSON

{
  "tin": "C1234567890",
  "idType": "BRN",
  "idValue": "202101012345"
}

Notes: No raw AutoCount AIP key is accepted or returned. Returns valid=true or false when AutoCount completes the validation.

UDF4 commandsRead 2Create 1Edit 1
create-udf-field write Create Create an AutoCount UDF field definition.

Full payload schema: /v1/schema/commands/create-udf-field

Payload fields

tableName
required AutoCount UDF table name
fieldName
required UDF field name without UDF_ prefix; AutoCount rejects some characters such as underscore
caption
optional display caption
fieldType
optional AutoCount UDF type; default Text
size
optional text size; default 50

Example JSON

{
  "tableName": "Debtor",
  "fieldName": "APITEST",
  "caption": "API Test",
  "fieldType": "Text",
  "size": 50
}

Notes: Uses AutoCount.UDF.UDFTable(tableName, DBSetting).Add(fieldName, UDFType, caption).Save().

list-udf-definitions read Read List UDF field definitions for one table or all UDF-enabled tables.

Full payload schema: /v1/schema/commands/list-udf-definitions

Payload fields

tableName
optional AutoCount table name, for example Debtor, IV, IVDTL, ItemUOM

Example JSON

{
  "tableName": "Debtor"
}

Notes: Uses AutoCount.UDF.Data.UDFDA.GetUDF(tableName).

list-udf-tables read Read List AutoCount tables that expose UDF definitions in the selected account book.

Full payload schema: /v1/schema/commands/list-udf-tables

Payload fields

No payload fields required.

Example JSON

{}

Notes: Uses AutoCount.UDF.Data.UDFDA.GetTableNames. Only returned tables should be treated as UDF-enabled for that account book.

update-udf-field write Edit Update an existing AutoCount UDF field definition.

Full payload schema: /v1/schema/commands/update-udf-field

Payload fields

tableName
required AutoCount UDF table name
fieldName
required UDF field name without UDF_ prefix
caption
optional display caption
size
optional text size

Example JSON

{
  "tableName": "Debtor",
  "fieldName": "APITEST",
  "caption": "API Test",
  "size": 50
}

Notes: Uses AutoCount.UDF.UDFTable Save. This changes UDF setup, not transaction data.

Tax API / e-Invoice Tax Fields

This section collects the tax commands and the document fields that AI tools and developers normally need for e-Invoice and tax setup. The connector uses AutoCount SDK save paths and does not do blind SQL writes for tax/compliance data.

Tax Setup Commands

  • Tax code: list-tax-codes or list-tax-types returns all tax codes; get-tax-code or get-tax-type gets one code; create/update aliases are also accepted.
  • Tax entity: list-tax-entities, get-tax-entity, create-tax-entity, update-tax-entity.
  • Tariff: list-tariff-codes, get-tariff-code, create-tariff-code, update-tariff-code.
  • Withholding: list-withholding-tax-codes, get-withholding-tax-code, create-withholding-tax-code, update-withholding-tax-code.
  • GST/SST: read-gst-settings, read-sst-settings, guarded update/processor/payment commands where save proof is still required.

Where taxEntityID Can Be Sent

  • Debtor/creditor: create-debtor, update-debtor, create-creditor, update-creditor. Supported and tested.
  • Sales/purchase docs: create-*, update-*, and get-* for sales/purchase documents. Common header supported; tested on sales order and purchase order.
  • AR/AP docs: update-ar-invoice, update-ap-invoice, AR/AP credit/debit note updates, and AP invoice create. Header supported where SDK exposes the field; more create-family proof still pending.
  • GL cash book: create-gl-cash-book-payment, create-gl-cash-book-receipt, update-gl-cash-book-entry, get-gl-cash-book-entry. Supported and tested.

Copy-ready Tax Examples

{
  "type": "create-tax-entity",
  "payload": {
    "name": "API Tax Entity Sdn Bhd",
    "tin": "C1234567890",
    "identityType": "BRN",
    "identityNo": "202401010001",
    "countryCode": "MYS",
    "emailAddress": "admin@example.com"
  }
}
{
  "type": "create-sales-order",
  "payload": {
    "debtorCode": "300-A001",
    "taxEntityID": 1,
    "lines": [
      { "itemCode": "ITEM001", "qty": 1, "unitPrice": 100 }
    ]
  }
}
{
  "type": "create-gl-cash-book-payment",
  "payload": {
    "payTo": "API Supplier",
    "taxEntityID": 1,
    "lines": [
      { "accNo": "610-0000", "amount": 100 }
    ],
    "payments": [
      { "paymentMethod": "CASH", "paymentAmount": 100 }
    ]
  }
}

Fresh Account Book Proof

ProofResult
Tax entity maintenanceCreated/read/updated Tax Entity TaxEntityID = 1.
Debtor / creditor linkCreated/read/updated debtor TD212936 and creditor TC212936 with taxEntityID = 1.
GL cash bookCreated/read/updated payment voucher PV-000009 and read official receipt OR-000011 with TaxEntityID = 1.
Sales / purchase documentsCreated/read/updated sales order SO-000034 and purchase order PO-000036 with TaxEntityID = 1.

Still guarded until separate proof: transfer propagation across every sales/purchase chain, GL journal detail TaxEntityID, cash book detail TaxEntityID, e-Invoice settings/profile writes, withholding payment detail, and GST/SST payment/processor writes.

PDF and Knock-Off Commands

Use these when a human wants an AutoCount-looking document PDF, or when an accounting command needs to allocate payment/credit against invoices or refund against credit notes.

For PDF commands, poll GET /v1/commands/{commandId} until the command is done. If result.artifactAvailable is true, download the official PDF from result.artifactUrl or GET /v1/commands/{commandId}/artifact using the same API key. This lets Mac Soft AI attach the PDF from a Linux workspace without accessing the Windows connector path.

NeedCommandWhat to sendStatus
Choose AutoCount report layoutlist-autocount-report-templates{ "document": "statement" }Lists real ReportName values from AutoCount DefaultReport and Report. Send the chosen name as reportName.
Debtor statement datadebtor-statement-report{ "debtorCode": "300-A001", "fromDate": "2026-01-01", "toDate": "2026-12-31" }Reads the real AutoCount debtor statement through DebtorStatement.Inquire and returns statement tables for human/AI processing.
Creditor statement datacreditor-statement-report{ "creditorCode": "400-S001", "fromDate": "2026-01-01", "toDate": "2026-12-31" }Reads the real AutoCount creditor statement through CreditorStatement.Inquire and returns statement tables for human/AI processing.
Statement HTML reportstatement-report-html{ "document": "debtor-statement", "debtorCode": "300-A001", "fromDate": "2026-01-01", "toDate": "2026-12-31" }Exports a readable HTML statement from real AutoCount SDK statement data.
AR/AP statement PDFarap-statement-autocount-pdf{ "document": "debtor-statement", "debtorCode": "300-A001", "reportName": "Debtor Statement - 12 Months" }Supported for debtor and creditor statements. Returns a downloadable PDF artifact.
Sales document PDFsales-document-autocount-pdf{ "document": "invoice", "docNo": "IV-000001", "reportName": "Invoice" }Supported for invoice, sales order, delivery order, cash sale, quotation, advanced quotation, sales credit note, and sales debit note.
Purchase document PDFpurchase-document-autocount-pdf{ "document": "purchase-invoice", "docNo": "PI-000001", "reportName": "Purchase Invoice" }Supported for purchase-order, goods-received-note, purchase-invoice, purchase-return, and cash-purchase.
Stock document PDFstock-document-autocount-pdf{ "document": "stock-adjustment", "docNo": "SA-000001", "reportName": "Stock Adjustment" }Supported for stock adjustment, receive, issue, transfer, UOM conversion, take, write-off, update cost, assembly, assembly order, and disassembly.
AR/AP document PDFarap-document-autocount-pdf{ "document": "ar-payment", "docNo": "OR-000001", "reportName": "AR Payment Listing" }Supported for AR/AP invoice, payment, deposit, refund, credit note, debit note, and contra.
GL cash book PDFgl-document-autocount-pdf{ "document": "payment-voucher", "docNo": "PV-000001", "reportName": "PV - Half Page" }Supported for payment-voucher and official-receipt.
GL journal PDFgl-document-autocount-pdf{ "document": "journal-entry", "docNo": "JV-000001", "reportName": "Journal Voucher" }Supported with AutoCount journal voucher report templates.
AR outstanding invoice keysread-ar-outstanding-documents{ "debtorCode": "300-A001" }Returns docKey, docNo, SDK-safe docType (RI), displayDocType (IV), and outstanding amount.
AP outstanding invoice keysread-ap-outstanding-documents{ "creditorCode": "400-S001" }Returns docKey, docNo, SDK-safe docType (PB), displayDocType (PI), and outstanding amount.
Validate AR payment knock-offvalidate-ar-payment{ "debtorCode": "300-A001", "amount": 100, "knockOffs": [{ "docType": "RI", "docKey": "424496", "docNo": "IV-000001", "amount": 100 }] }Validation-only; does not save. Old IV aliases are accepted.
Validate AP payment knock-offvalidate-ap-payment{ "creditorCode": "400-S001", "amount": 100, "knockOffs": [{ "docType": "PB", "docKey": "424508", "docNo": "PI-000001", "amount": 100 }] }Validation-only; does not save. Old PI aliases are accepted.
Create AR payment knock-offcreate-ar-payment{ "debtorCode": "300-A001", "amount": 100, "knockOffs": [{ "docType": "RI", "docKey": "424496", "docNo": "IV-000001", "amount": 100 }] }Saves AR receipt and allocates the invoice. Real write proof verified paid-document and knock-off rows.
Create AP payment knock-offcreate-ap-payment{ "creditorCode": "400-S001", "amount": 100, "knockOffs": [{ "docType": "PB", "docKey": "424508", "docNo": "PI-000001", "amount": 100 }] }Saves AP payment and allocates the supplier invoice. Real write proof verified paid-document and knock-off rows.
AR refund against credit notecreate-ar-refund{ "debtorCode": "300-A001", "amount": 100, "knockOffs": [{ "docType": "CN", "docKey": "429787", "docNo": "CN-000001", "amount": 100 }] }Refund knocks off AR credit notes. CN is accepted and normalized to AutoCount RC.
AP refund against credit notecreate-ap-refund{ "creditorCode": "400-S001", "amount": 100, "knockOffs": [{ "docType": "CN", "docKey": "429795", "docNo": "PR-000001", "amount": 100 }] }Refund knocks off AP credit notes. CN is accepted and normalized to AutoCount PC.
AR deposit transactioncreate-ar-deposit{ "debtorCode": "300-A001", "amount": 100, "paymentMethod": "CASH" }Saves AR deposit and returns GLTrxID after posting.
AP deposit transactioncreate-ap-deposit{ "creditorCode": "400-S001", "amount": 100, "paymentMethod": "CASH" }Saves AP deposit and returns GLTrxID after posting.

For payment and credit note allocation, use invoice document keys from the outstanding invoice commands. For refund allocation, use AR/AP credit-note document keys from the credit-note list/get commands. Use validate-* first, then create when the account book remains write-enabled.

Advanced Field Dictionary

Current published known fields for developers, support, and AI debugging. Use this after the grouped document guide when you need raw AutoCount-style sections and field names.

This is the current connector/website field dictionary, not a promise that every AutoCount DLL, UDF, or customer-specific child-table field exists in every account book. For runtime/customer-specific discovery, call read-field-catalog, then validate, save, and read back before claiming a field is written.

{
  "Master": {},
  "Details": [],
  "KnockOffDetails": [],
  "TransferDetails": [],
  "PaymentDetails": [],
  "Options": {}
}

Machine-readable schemas are available at /v1/schema/modules, /v1/schema/documents, and /v1/schema/commands/{commandType}. Example: /v1/schema/commands/create-ap-payment.

AutoCount Native Payloads

Send the native envelope when the integration already knows the AutoCount sections to fill.

Field Dictionary

Browse module cards below for Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, and Options fields.

Schema Endpoints

/v1/schema/documents shows document view/write maps. /v1/schema/modules lists modules. /v1/schema/commands/{commandType} shows the full payload schema for one command.

Startup / Account Book Connector setup, account book discovery, health, policy, and bootstrap reads. 8 commands

Command Native Sections

run-company-discoveryread

Build a read-only Mac Soft AI demo profile from the AutoCount account book.

Full payload schema: /v1/schema/commands/run-company-discovery

Simple Payload Fields

No payload fields required.

Example Payload

{
  "includeHints": true
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns activeModules, masterDataCounts, documentCounts, features, workflows, and aiHints. Use this first for CEO, executive, admin, and clerk demos before preparing writes.

read-company-profileread

Read the real AutoCount Company Profile for the selected account book.

Full payload schema: /v1/schema/commands/read-company-profile

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Use this first when database names are similar. Reads AutoCount Profile/CompanyProfile and returns companyId, database, companyName, registrationNo, address, phone/email/website, plus redacted/truncated source fields.

read-company-ai-contextread

Read the AI Startup Flow context for an AutoCount account book.

Full payload schema: /v1/schema/commands/read-company-ai-context

Simple Payload Fields

includeHints
optional boolean

Example Payload

{
  "includeHints": true
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Intelligent Connector Flow step 1. Returns starterCommands, activeModules, workflowHints, safetyRules, companyProfile, companyName, and discovery counts. Schema: /v1/schema/commands/read-company-ai-context

read-field-catalogread

Read field catalog so humans and AI know read/write/native/guarded fields.

Full payload schema: /v1/schema/commands/read-field-catalog

Simple Payload Fields

module
optional module filter
document
optional document filter
refresh
optional boolean to refresh cached catalog

Example Payload

{
  "module": "Purchase",
  "document": "purchase-invoice"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Intelligent Connector Flow step 2. Returns catalogVersion, cache, modules, documents, fields, mode, and source. Schema: /v1/schema/commands/read-field-catalog

validate-commandread

Preflight a proposed command before saving.

Full payload schema: /v1/schema/commands/validate-command

Simple Payload Fields

targetType
required command type to validate
payload
required proposed command payload
safetyMode
optional fast | safe | strict

Example Payload

{
  "targetType": "create-ap-invoice",
  "payload": {
    "creditorCode": "400-A001",
    "docDate": "2026-07-21",
    "lines": [
      {
        "accountNo": "620000-2000",
        "amount": 100
      }
    ]
  },
  "safetyMode": "safe"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Intelligent Connector Flow step 3. Returns readyToSave, risk, checks, warnings, and suggestions. Use validateOnly on actual write commands to force preflight. Schema: /v1/schema/commands/validate-command

suggest-command-fixesread

Suggest safe fixes when validation fails or a master value is missing.

Full payload schema: /v1/schema/commands/suggest-command-fixes

Simple Payload Fields

targetType
required command type
payload
required proposed command payload

Example Payload

{
  "targetType": "create-ap-payment",
  "payload": {
    "creditorCode": "400-A001",
    "amount": 100
  }
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Intelligent Connector Flow step 4. Suggestions point to read-payment-methods, read-chart-accounts, read-items, read-debtors, read-creditors, outstanding documents, and previous transaction patterns.

explain-command-errorread

Explain technical connector or AutoCount errors in human and AI-friendly field guidance.

Full payload schema: /v1/schema/commands/explain-command-error

Simple Payload Fields

targetType
optional command type
message
required error message or result

Example Payload

{
  "targetType": "create-ap-invoice",
  "message": "MissingMethodException: EditDetail not found"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Use after failed commands to decide whether the error is missing master data, unsupported field write, SDK method gap, or setup/config issue.

create-account-bookwrite

Create a new AutoCount account book from an existing connector company.

Full payload schema: /v1/schema/commands/create-account-book

Simple Payload Fields

databaseName
required SQL database name, letters/numbers/underscore only
companyName
required AutoCount company name
fiscalYearStartDate
YYYY-MM-DD optional
actualDataStartDate
YYYY-MM-DD optional
newCompanyId
optional connector companyId to add after create
autoCountUser
optional, default ADMIN
autoCountPassword
optional, default ADMIN
confirm
required true

Example Payload

{
  "databaseName": "AED_NEW_COMPANY",
  "companyName": "New Company Sdn Bhd",
  "fiscalYearStartDate": "2026-01-01",
  "actualDataStartDate": "2026-01-01",
  "newCompanyId": "newcompany",
  "confirm": true
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount.ManageAccountBook.AccountBookHelper.CreateBaseAccountBook, then AutoCount.Tools.AutoAccessRightUpdate.Create(DBSetting).Update(), then registers the account book in A2006.dmf. Requires current connector company to have SQL credentials.

Master Data Debtor, creditor, item, and related master record operations. 16 commands

Command Native Sections

read-default-accountsread

Read default posting accounts used by validate/create commands.

Full payload schema: /v1/schema/commands/read-default-accounts

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

void-debtorwrite

Guarded void request for a debtor/customer.

Full payload schema: /v1/schema/commands/void-debtor

Simple Payload Fields

accNo
required
reason
required business reason

Example Payload

{
  "accNo": "300-A001",
  "reason": "void inactive duplicate"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked. Prefer inactive/discontinued flags because master records may already be linked to transactions.

delete-debtorwrite

Guarded delete request for a debtor/customer.

Full payload schema: /v1/schema/commands/delete-debtor

Simple Payload Fields

accNo
required
reason
required business reason

Example Payload

{
  "accNo": "300-A001",
  "reason": "remove inactive duplicate"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked until AutoCount SDK delete safety and linked-transaction checks are proven. Prefer inactive/discontinued flags.

void-creditorwrite

Guarded void request for a creditor/supplier.

Full payload schema: /v1/schema/commands/void-creditor

Simple Payload Fields

accNo
required
reason
required business reason

Example Payload

{
  "accNo": "400-S001",
  "reason": "void inactive duplicate"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked. Prefer inactive/discontinued flags because master records may already be linked to transactions.

delete-creditorwrite

Guarded delete request for a creditor/supplier.

Full payload schema: /v1/schema/commands/delete-creditor

Simple Payload Fields

accNo
required
reason
required business reason

Example Payload

{
  "accNo": "400-S001",
  "reason": "remove inactive duplicate"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked until AutoCount SDK delete safety and linked-transaction checks are proven. Prefer inactive/discontinued flags.

void-itemwrite

Guarded void request for a stock item.

Full payload schema: /v1/schema/commands/void-item

Simple Payload Fields

itemCode
required
reason
required business reason

Example Payload

{
  "itemCode": "ITEM001",
  "reason": "void inactive duplicate"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked. Prefer inactive/discontinued flags because master records may already be linked to transactions.

delete-itemwrite

Guarded delete request for a stock item.

Full payload schema: /v1/schema/commands/delete-item

Simple Payload Fields

itemCode
required
reason
required business reason

Example Payload

{
  "itemCode": "ITEM001",
  "reason": "remove inactive duplicate"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked until AutoCount SDK delete safety and linked-transaction checks are proven. Prefer inactive/discontinued flags.

create-debtorwrite

Create a debtor/customer.

Full payload schema: /v1/schema/commands/create-debtor

Simple Payload Fields

accNo
required debtor/customer account code
companyName
required customer company/name
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
postCode
optional billing postcode; connector tries AutoCount postcode/postal code SDK aliases and verifies read-back
contactPerson
optional contact person; also creates/updates an AutoCount ContactTable row when contacts array is not supplied
deliveryAddress1
optional delivery address line 1
deliveryAddress2
optional delivery address line 2
deliveryAddress3
optional delivery address line 3
deliveryAddress4
optional delivery address line 4
deliveryPostCode
optional delivery postcode for the default delivery branch row
deliveryContact
optional delivery contact for the default delivery branch row
contacts
optional array of contact persons written through AutoCount DLL ContactTable; supports name/contactName, department, title/designation, mobilePhone/mobile/phone, directPhone, directFax, emailAddress/email, imAddress, note, openingBonusPoint, includeInContactInfo
branches
optional array of debtor branch records written through AutoCount DLL BranchTable; supports branchCode/code, branchName/name, address1-4, postCode, contact/attention, phone1/2, fax1/2, areaCode, salesAgent, purchaseAgent, emailAddress/email, mobile, taxEntityID, isActive
phone1
optional primary phone
phone2
optional secondary phone
emailAddress
optional email address
currencyCode
optional currency code such as MYR
taxCode
optional tax code/type
taxEntityID
optional Tax Entity Maintenance numeric ID to link this debtor to e-Invoice/tax entity details
controlAccount
optional book-specific debtor control account; connector local-mvp-2026.10.06.02+ preserves existing value on update, uses SDK default or unique SDC account on create, and rejects ambiguity; older builds must send the correct explicit controlAccount; never assume a universal account number
isActive
optional boolean active flag
desc2
optional second name/description
debtorType
optional Debtor Type Maintenance code
area
optional Area Maintenance code
salesAgent
optional Sales Agent Maintenance code
branchCode
optional branch code for multi-branch/customer branch usage
displayTerm
optional Credit Term Maintenance value such as C.O.D. or 30 DAYS
priceCategory
optional Price Category Maintenance code
creditLimit
optional credit limit amount
overdueLimit
optional overdue limit amount or days depending on AutoCount setup
statementType
optional statement type if the account book uses it
allowExceedCreditLimit
optional boolean if AutoCount/account-book policy exposes it
attention
optional contact attention person
fax1
optional fax
website
optional website
registrationNo
optional company registration number
taxRegisterNo
optional SST/tax registration number
businessNature
optional business nature
remark1
optional remark field 1
remark2
optional remark field 2

Example Payload

{
  "accNo": "300-API",
  "companyName": "API Customer Sdn Bhd",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "postCode": "50000",
  "contactPerson": "Lim Accounts",
  "deliveryAddress1": "Warehouse 1",
  "deliveryAddress2": "Industrial Park",
  "deliveryPostCode": "40100",
  "deliveryContact": "Store Receiver",
  "phone1": "03-11111111",
  "phone2": "012-3456789",
  "emailAddress": "customer@example.com",
  "currencyCode": "MYR",
  "taxCode": "SST",
  "taxEntityID": 1,
  "isActive": true,
  "desc2": "API Customer Trading Name",
  "debtorType": "CUS",
  "area": "KL",
  "salesAgent": "SA01",
  "branchCode": "HQ",
  "displayTerm": "30 DAYS",
  "priceCategory": "API",
  "creditLimit": 50000,
  "overdueLimit": 30,
  "statementType": "Open Item",
  "allowExceedCreditLimit": false,
  "attention": "Accounts Department",
  "fax1": "03-11111112",
  "website": "https://customer.example.com",
  "registrationNo": "202601000001",
  "taxRegisterNo": "SST-300-API",
  "businessNature": "Trading",
  "remark1": "Created by API",
  "remark2": "Credit control example",
  "deliveryAddress3": "Shah Alam",
  "deliveryAddress4": "Malaysia",
  "contacts": [
    {
      "name": "Lim Accounts",
      "department": "Finance",
      "designation": "Accounts",
      "mobilePhone": "012-1111111",
      "directPhone": "03-11111113",
      "emailAddress": "accounts@example.com",
      "includeInContactInfo": true
    }
  ],
  "branches": [
    {
      "branchCode": "HQ",
      "branchName": "Head Office",
      "address1": "No. 1 Jalan API",
      "address2": "Taman Integration",
      "postCode": "50000",
      "contact": "Lim Accounts",
      "phone1": "03-11111111",
      "emailAddress": "hq@example.com",
      "taxEntityID": 1,
      "isActive": true
    }
  ]
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master17 fields
  • AccNo string - Debtor account code.
  • CompanyName string - Debtor company/customer name.
  • Address1 string - Address line 1.
  • Address2 string - Address line 2.
  • Address3 string - Address line 3.
  • Address4 string - Address line 4.
  • Attention string - Attention/contact person.
  • Phone1 string - Phone number.
  • Phone2 string - Second phone number.
  • Fax1 string - Fax number.
  • EmailAddress string - Email address.
  • Website string - Website URL. Connector tries common SDK aliases and verifies read-back.
  • RegistrationNo string - Company registration number. Connector tries common SDK aliases and verifies read-back.
  • TaxRegisterNo string - SST/tax registration number. Connector tries common SDK aliases and verifies read-back.
  • CurrencyCode string - Currency code.
  • TaxCode string - Default tax code.
  • TaxEntityID number - Tax Entity Maintenance id.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Creates customer master data through AutoCount SDK. Normal fields map to debtor properties; top-level delivery fields are normalized into BranchTable and top-level contact fields are normalized into ContactTable when explicit arrays are not supplied. This is the full human payload reference for Debtor Maintenance. The connector writes normal fields through AutoCount DLL properties and writes branches/contacts through AutoCount DLL child DataTables, then reloads the debtor and returns writeVerification.notMapped, writeVerification.notPersisted, and writeVerification.childRows when AutoCount does not expose or persist a requested value. If top-level deliveryAddress fields are supplied without branches, the connector creates/updates an AutoCount BranchTable row using branchCode or HQ. If top-level contactPerson/contactName/contact fields are supplied without contacts, the connector creates/updates an AutoCount ContactTable row.

update-debtorwrite

Update a debtor/customer.

Full payload schema: /v1/schema/commands/update-debtor

Simple Payload Fields

accNo
required debtor/customer account code
companyName
required customer company/name
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
postCode
optional billing postcode; connector tries AutoCount postcode/postal code SDK aliases and verifies read-back
contactPerson
optional contact person; also creates/updates an AutoCount ContactTable row when contacts array is not supplied
deliveryAddress1
optional delivery address line 1
deliveryAddress2
optional delivery address line 2
deliveryAddress3
optional delivery address line 3
deliveryAddress4
optional delivery address line 4
deliveryPostCode
optional delivery postcode for the default delivery branch row
deliveryContact
optional delivery contact for the default delivery branch row
contacts
optional array of contact persons written through AutoCount DLL ContactTable; supports name/contactName, department, title/designation, mobilePhone/mobile/phone, directPhone, directFax, emailAddress/email, imAddress, note, openingBonusPoint, includeInContactInfo
branches
optional array of debtor branch records written through AutoCount DLL BranchTable; supports branchCode/code, branchName/name, address1-4, postCode, contact/attention, phone1/2, fax1/2, areaCode, salesAgent, purchaseAgent, emailAddress/email, mobile, taxEntityID, isActive
phone1
optional primary phone
phone2
optional secondary phone
emailAddress
optional email address
currencyCode
optional currency code such as MYR
taxCode
optional tax code/type
taxEntityID
optional Tax Entity Maintenance numeric ID to link this debtor to e-Invoice/tax entity details
controlAccount
optional book-specific debtor control account; connector local-mvp-2026.10.06.02+ preserves existing value on update, uses SDK default or unique SDC account on create, and rejects ambiguity; older builds must send the correct explicit controlAccount; never assume a universal account number
isActive
optional boolean active flag
desc2
optional second name/description
debtorType
optional Debtor Type Maintenance code
area
optional Area Maintenance code
salesAgent
optional Sales Agent Maintenance code
branchCode
optional branch code for multi-branch/customer branch usage
displayTerm
optional Credit Term Maintenance value such as C.O.D. or 30 DAYS
priceCategory
optional Price Category Maintenance code
creditLimit
optional credit limit amount
overdueLimit
optional overdue limit amount or days depending on AutoCount setup
statementType
optional statement type if the account book uses it
allowExceedCreditLimit
optional boolean if AutoCount/account-book policy exposes it
attention
optional contact attention person
fax1
optional fax
website
optional website
registrationNo
optional company registration number
taxRegisterNo
optional SST/tax registration number
businessNature
optional business nature
remark1
optional remark field 1
remark2
optional remark field 2

Example Payload

{
  "accNo": "300-API",
  "companyName": "API Customer Sdn Bhd Updated",
  "contactPerson": "Lim Accounts",
  "deliveryAddress1": "Warehouse 1",
  "phone1": "03-11111111",
  "emailAddress": "customer@example.com",
  "taxEntityID": 1,
  "isActive": true,
  "desc2": "API Customer Trading Name",
  "debtorType": "CUS",
  "area": "KL",
  "salesAgent": "SA01",
  "branchCode": "HQ",
  "displayTerm": "30 DAYS",
  "currencyCode": "MYR",
  "taxCode": "SST",
  "priceCategory": "API",
  "creditLimit": 50000,
  "overdueLimit": 30,
  "statementType": "Open Item",
  "allowExceedCreditLimit": false,
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "postCode": "50000",
  "attention": "Accounts Department",
  "phone2": "012-3456789",
  "fax1": "03-11111112",
  "website": "https://customer.example.com",
  "registrationNo": "202601000001",
  "taxRegisterNo": "SST-300-API",
  "businessNature": "Trading",
  "remark1": "Created by API",
  "remark2": "Credit control example",
  "deliveryAddress2": "Industrial Park",
  "deliveryAddress3": "Shah Alam",
  "deliveryAddress4": "Malaysia",
  "deliveryPostCode": "40100",
  "deliveryContact": "Store Receiver",
  "contacts": [
    {
      "name": "Lim Accounts",
      "department": "Finance",
      "designation": "Accounts",
      "mobilePhone": "012-1111111",
      "directPhone": "03-11111113",
      "emailAddress": "accounts@example.com",
      "includeInContactInfo": true
    }
  ],
  "branches": [
    {
      "branchCode": "HQ",
      "branchName": "Head Office",
      "address1": "No. 1 Jalan API",
      "address2": "Taman Integration",
      "postCode": "50000",
      "contact": "Lim Accounts",
      "phone1": "03-11111111",
      "emailAddress": "hq@example.com",
      "taxEntityID": 1,
      "isActive": true
    }
  ]
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master17 fields
  • AccNo string - Debtor account code.
  • CompanyName string - Debtor company/customer name.
  • Address1 string - Address line 1.
  • Address2 string - Address line 2.
  • Address3 string - Address line 3.
  • Address4 string - Address line 4.
  • Attention string - Attention/contact person.
  • Phone1 string - Phone number.
  • Phone2 string - Second phone number.
  • Fax1 string - Fax number.
  • EmailAddress string - Email address.
  • Website string - Website URL. Connector tries common SDK aliases and verifies read-back.
  • RegistrationNo string - Company registration number. Connector tries common SDK aliases and verifies read-back.
  • TaxRegisterNo string - SST/tax registration number. Connector tries common SDK aliases and verifies read-back.
  • CurrencyCode string - Currency code.
  • TaxCode string - Default tax code.
  • TaxEntityID number - Tax Entity Maintenance id.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Updates debtor/customer master data through AutoCount SDK using the same supported fields as create-debtor. This is the full human payload reference for Debtor Maintenance. The connector writes normal fields through AutoCount DLL properties and writes branches/contacts through AutoCount DLL child DataTables, then reloads the debtor and returns writeVerification.notMapped, writeVerification.notPersisted, and writeVerification.childRows when AutoCount does not expose or persist a requested value. If top-level deliveryAddress fields are supplied without branches, the connector creates/updates an AutoCount BranchTable row using branchCode or HQ. If top-level contactPerson/contactName/contact fields are supplied without contacts, the connector creates/updates an AutoCount ContactTable row.

create-creditorwrite

Create a creditor/supplier.

Full payload schema: /v1/schema/commands/create-creditor

Simple Payload Fields

accNo
required creditor/supplier account code
companyName
required supplier company/name
address1
optional supplier address line 1
address2
optional supplier address line 2
address3
optional supplier address line 3
address4
optional supplier address line 4
postCode
optional billing/postal postcode; connector tries AutoCount postcode/postal code SDK aliases and verifies read-back
contactPerson
optional contact person; also creates/updates an AutoCount ContactTable row when contacts array is not supplied
deliveryAddress1
optional branch/delivery address line 1
deliveryAddress2
optional branch/delivery address line 2
deliveryPostCode
optional branch/delivery postcode for the default branch row
deliveryContact
optional branch/delivery contact for the default branch row
contacts
optional array of contact persons written through AutoCount DLL ContactTable; supports name/contactName, department, title/designation, mobilePhone/mobile/phone, directPhone, directFax, emailAddress/email, imAddress, note, openingBonusPoint, includeInContactInfo
branches
optional array of creditor branch records written through AutoCount DLL BranchTable; supports branchCode/code, branchName/name, address1-4, postCode, contact/attention, phone1/2, fax1/2, areaCode, salesAgent, purchaseAgent, emailAddress/email, mobile, taxEntityID, isActive
phone1
optional primary phone
phone2
optional secondary phone
emailAddress
optional email address
currencyCode
optional currency code such as MYR
taxCode
optional tax code/type
taxEntityID
optional Tax Entity Maintenance numeric ID to link this creditor to e-Invoice/tax entity details
controlAccount
optional book-specific creditor control account; connector local-mvp-2026.10.06.02+ preserves existing value on update, uses SDK default or unique SCC account on create, and rejects ambiguity; older builds must send the correct explicit controlAccount; never assume a universal account number
isActive
optional boolean active flag
desc2
optional second name/description
creditorType
optional Creditor Type Maintenance code
area
optional Area Maintenance code
purchaseAgent
optional Purchase Agent Maintenance code
branchCode
optional branch code for multi-branch/supplier branch usage
displayTerm
optional Credit Term Maintenance value such as C.O.D. or 30 DAYS
creditLimit
optional supplier credit limit amount if used
overdueLimit
optional overdue limit amount or days depending on AutoCount setup
attention
optional contact attention person
fax1
optional fax
website
optional website
registrationNo
optional company registration number
taxRegisterNo
optional SST/tax registration number
businessNature
optional business nature
remark1
optional remark field 1
remark2
optional remark field 2
deliveryAddress3
optional branch/delivery address line 3
deliveryAddress4
optional branch/delivery address line 4

Example Payload

{
  "accNo": "400-API",
  "companyName": "API Supplier Sdn Bhd",
  "address1": "No. 2 Jalan API",
  "address2": "Supplier Park",
  "address3": "Petaling Jaya",
  "address4": "Malaysia",
  "postCode": "46000",
  "contactPerson": "Tan Supplier",
  "deliveryAddress1": "Supplier Warehouse",
  "deliveryPostCode": "46000",
  "phone1": "03-33333333",
  "phone2": "019-8888888",
  "emailAddress": "supplier@example.com",
  "currencyCode": "MYR",
  "taxCode": "SST",
  "taxEntityID": 1,
  "isActive": true,
  "desc2": "API Supplier Trading Name",
  "creditorType": "SUP",
  "area": "PJ",
  "purchaseAgent": "PA01",
  "branchCode": "HQ",
  "displayTerm": "30 DAYS",
  "creditLimit": 30000,
  "overdueLimit": 30,
  "attention": "Supplier Accounts",
  "fax1": "03-33333334",
  "website": "https://supplier.example.com",
  "registrationNo": "202602000002",
  "taxRegisterNo": "SST-400-API",
  "businessNature": "Supplier",
  "remark1": "Created by API",
  "remark2": "Supplier credit control example",
  "deliveryAddress2": "Logistics Park",
  "deliveryContact": "Supplier Store",
  "contacts": [
    {
      "name": "Tan Supplier",
      "department": "Finance",
      "designation": "Accounts",
      "mobilePhone": "019-1111111",
      "directPhone": "03-33333335",
      "emailAddress": "supplier-accounts@example.com",
      "includeInContactInfo": true
    }
  ],
  "branches": [
    {
      "branchCode": "HQ",
      "branchName": "Head Office",
      "address1": "No. 2 Jalan API",
      "address2": "Supplier Park",
      "postCode": "46000",
      "contact": "Tan Supplier",
      "phone1": "03-33333333",
      "emailAddress": "supplier-hq@example.com",
      "taxEntityID": 1,
      "isActive": true
    }
  ]
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master17 fields
  • AccNo string - Creditor account code.
  • CompanyName string - Creditor/supplier name.
  • Address1 string - Address line 1.
  • Address2 string - Address line 2.
  • Address3 string - Address line 3.
  • Address4 string - Address line 4.
  • Attention string - Attention/contact person.
  • Phone1 string - Phone number.
  • Phone2 string - Second phone number.
  • Fax1 string - Fax number.
  • EmailAddress string - Email address.
  • Website string - Website URL. Connector tries common SDK aliases and verifies read-back.
  • RegistrationNo string - Company registration number. Connector tries common SDK aliases and verifies read-back.
  • TaxRegisterNo string - SST/tax registration number. Connector tries common SDK aliases and verifies read-back.
  • CurrencyCode string - Currency code.
  • TaxCode string - Default tax code.
  • TaxEntityID number - Tax Entity Maintenance id.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Creates supplier master data through AutoCount SDK. Normal fields map to creditor properties; top-level delivery fields are normalized into BranchTable and top-level contact fields are normalized into ContactTable when explicit arrays are not supplied. This is the full human payload reference for Creditor Maintenance. The connector writes normal fields through AutoCount DLL properties and writes branches/contacts through AutoCount DLL child DataTables, then reloads the creditor and returns writeVerification.notMapped, writeVerification.notPersisted, and writeVerification.childRows when AutoCount does not expose or persist a requested value. If top-level deliveryAddress fields are supplied without branches, the connector creates/updates an AutoCount BranchTable row using branchCode or HQ. If top-level contactPerson/contactName/contact fields are supplied without contacts, the connector creates/updates an AutoCount ContactTable row.

update-creditorwrite

Update a creditor/supplier.

Full payload schema: /v1/schema/commands/update-creditor

Simple Payload Fields

accNo
required creditor/supplier account code
companyName
required supplier company/name
address1
optional supplier address line 1
address2
optional supplier address line 2
address3
optional supplier address line 3
address4
optional supplier address line 4
postCode
optional billing/postal postcode; connector tries AutoCount postcode/postal code SDK aliases and verifies read-back
contactPerson
optional contact person; also creates/updates an AutoCount ContactTable row when contacts array is not supplied
deliveryAddress1
optional branch/delivery address line 1
contacts
optional array of contact persons written through AutoCount DLL ContactTable; supports name/contactName, department, title/designation, mobilePhone/mobile/phone, directPhone, directFax, emailAddress/email, imAddress, note, openingBonusPoint, includeInContactInfo
branches
optional array of creditor branch records written through AutoCount DLL BranchTable; supports branchCode/code, branchName/name, address1-4, postCode, contact/attention, phone1/2, fax1/2, areaCode, salesAgent, purchaseAgent, emailAddress/email, mobile, taxEntityID, isActive
phone1
optional primary phone
phone2
optional secondary phone
emailAddress
optional email address
currencyCode
optional currency code such as MYR
taxCode
optional tax code/type
taxEntityID
optional Tax Entity Maintenance numeric ID to link this creditor to e-Invoice/tax entity details
controlAccount
optional book-specific creditor control account; connector local-mvp-2026.10.06.02+ preserves existing value on update, uses SDK default or unique SCC account on create, and rejects ambiguity; older builds must send the correct explicit controlAccount; never assume a universal account number
isActive
optional boolean active flag
desc2
optional second name/description
creditorType
optional Creditor Type Maintenance code
area
optional Area Maintenance code
purchaseAgent
optional Purchase Agent Maintenance code
branchCode
optional branch code for multi-branch/supplier branch usage
displayTerm
optional Credit Term Maintenance value such as C.O.D. or 30 DAYS
creditLimit
optional supplier credit limit amount if used
overdueLimit
optional overdue limit amount or days depending on AutoCount setup
attention
optional contact attention person
fax1
optional fax
website
optional website
registrationNo
optional company registration number
taxRegisterNo
optional SST/tax registration number
businessNature
optional business nature
remark1
optional remark field 1
remark2
optional remark field 2
deliveryAddress2
optional branch/delivery address line 2
deliveryAddress3
optional branch/delivery address line 3
deliveryAddress4
optional branch/delivery address line 4
deliveryPostCode
optional branch/delivery postcode for the default branch row
deliveryContact
optional branch/delivery contact for the default branch row

Example Payload

{
  "accNo": "400-API",
  "companyName": "API Supplier Sdn Bhd Updated",
  "contactPerson": "Tan Supplier",
  "deliveryAddress1": "Supplier Warehouse",
  "phone1": "03-33333333",
  "emailAddress": "supplier@example.com",
  "taxEntityID": 1,
  "isActive": true,
  "desc2": "API Supplier Trading Name",
  "creditorType": "SUP",
  "area": "PJ",
  "purchaseAgent": "PA01",
  "branchCode": "HQ",
  "displayTerm": "30 DAYS",
  "currencyCode": "MYR",
  "taxCode": "SST",
  "creditLimit": 30000,
  "overdueLimit": 30,
  "address1": "No. 2 Jalan API",
  "address2": "Supplier Park",
  "address3": "Petaling Jaya",
  "address4": "Malaysia",
  "postCode": "46000",
  "attention": "Supplier Accounts",
  "phone2": "019-8888888",
  "fax1": "03-33333334",
  "website": "https://supplier.example.com",
  "registrationNo": "202602000002",
  "taxRegisterNo": "SST-400-API",
  "businessNature": "Supplier",
  "remark1": "Created by API",
  "remark2": "Supplier credit control example",
  "deliveryAddress2": "Logistics Park",
  "deliveryPostCode": "46000",
  "deliveryContact": "Supplier Store",
  "contacts": [
    {
      "name": "Tan Supplier",
      "department": "Finance",
      "designation": "Accounts",
      "mobilePhone": "019-1111111",
      "directPhone": "03-33333335",
      "emailAddress": "supplier-accounts@example.com",
      "includeInContactInfo": true
    }
  ],
  "branches": [
    {
      "branchCode": "HQ",
      "branchName": "Head Office",
      "address1": "No. 2 Jalan API",
      "address2": "Supplier Park",
      "postCode": "46000",
      "contact": "Tan Supplier",
      "phone1": "03-33333333",
      "emailAddress": "supplier-hq@example.com",
      "taxEntityID": 1,
      "isActive": true
    }
  ]
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master17 fields
  • AccNo string - Creditor account code.
  • CompanyName string - Creditor/supplier name.
  • Address1 string - Address line 1.
  • Address2 string - Address line 2.
  • Address3 string - Address line 3.
  • Address4 string - Address line 4.
  • Attention string - Attention/contact person.
  • Phone1 string - Phone number.
  • Phone2 string - Second phone number.
  • Fax1 string - Fax number.
  • EmailAddress string - Email address.
  • Website string - Website URL. Connector tries common SDK aliases and verifies read-back.
  • RegistrationNo string - Company registration number. Connector tries common SDK aliases and verifies read-back.
  • TaxRegisterNo string - SST/tax registration number. Connector tries common SDK aliases and verifies read-back.
  • CurrencyCode string - Currency code.
  • TaxCode string - Default tax code.
  • TaxEntityID number - Tax Entity Maintenance id.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Updates supplier/creditor master data through AutoCount SDK using the same supported fields as create-creditor. This is the full human payload reference for Creditor Maintenance. The connector writes normal fields through AutoCount DLL properties and writes branches/contacts through AutoCount DLL child DataTables, then reloads the creditor and returns writeVerification.notMapped, writeVerification.notPersisted, and writeVerification.childRows when AutoCount does not expose or persist a requested value. If top-level deliveryAddress fields are supplied without branches, the connector creates/updates an AutoCount BranchTable row using branchCode or HQ. If top-level contactPerson/contactName/contact fields are supplied without contacts, the connector creates/updates an AutoCount ContactTable row.

create-itemwrite

Create a stock item. Supports proven UOM, sub-code, price, opening balance, BOM, and replacement child rows.

Full payload schema: /v1/schema/commands/create-item

Simple Payload Fields

itemCode
required stock item code
description
required item description
desc2
optional second description
furtherDescription
optional long/further description
templateItemCode
optional template item to copy defaults from
baseUom
optional base UOM
salesUom
optional sales UOM
purchaseUom
optional purchase UOM
reportUom
optional report UOM
itemGroup
optional Item Group code
itemType
optional AutoCount item type such as Stock, Service, Non-Stock
taxCode
optional sales tax code
purchaseTaxCode
optional purchase tax code
isSalesItem
optional boolean
isPurchaseItem
optional boolean
stockControl
optional boolean
hasBatchNo
optional boolean
hasSerialNo
optional boolean
snFormatName
optional serial number format name
isActive
optional boolean
uoms
optional array of distinct UOM rows written through AutoCount DLL ItemUomTable; each row requires uom and may contain rate, shelf, price/sellingPrice, cost/purchasePrice, minSalePrice, maxSalePrice, minPurchasePrice, maxPurchasePrice, minQty (ItemUomTable.MinQty), maxQty (ItemUomTable.MaxQty), normalLevel (ItemUomTable.NormalLevel), reorderLevel (ItemUomTable.ReOLevel), reorderQty (ItemUomTable.ReOQty), barCode (string, per UOM), price2-price6, weight, weightUom, measurement, userDefinedFields, and nativeFields for Any writable ItemUomTable column except system-managed fields. Additional exposed writable columns may be supplied by their native name. Unknown/read-only/system fields, duplicate UOMs and conflicting aliases fail before save. Every supplied UOM field is compared after reload, including empty/null values and exact barcode text. Omitted fields remain unchanged. Top-level barCode is rejected; use uoms[].barCode.
subCodes
optional array of item sub-code rows written through AutoCount DLL ItemSubCodeTable; supports subCode/code and uom
priceBooks
optional array of item price book rows written through AutoCount DLL ItemPriceBook; supports ref, uom, priceCategory, fixedPrice/price, fixedDetailDiscount, qty1-price4/detailDiscount4, focLevel, focQty, bonusPointQty, bonusPoint
customerPrices
optional array of customer-specific price rows written through AutoCount DLL ItemCustomerPrice; supports ref, uom, debtorCode/accNo, currencyCode, suppCustItemCode/customerItemCode, fixedPrice/price, fixedDetailDiscount, qty1-price4/detailDiscount4, focLevel, focQty, bonusPointQty, bonusPoint
supplierPrices
optional array of supplier-specific price rows written through AutoCount DLL ItemSupplierPrice; supports ref, uom, creditorCode/accNo, currencyCode, suppCustItemCode/supplierItemCode, fixedPrice/price, fixedDetailDiscount, qty1-price4/detailDiscount4, focLevel, focQty, bonusPointQty, bonusPoint
openingBalances
optional array of opening balance rows written through AutoCount DLL ItemOpeningBalance; supports location, uom, batchNo, qty, cost/unitCost, project/projNo, department/deptNo, docDate
bomRows
optional array of BOM component rows written through AutoCount DLL ItemBOMTable; supports subItemCode/componentItemCode, qty, overheadCost, seq, costFraction, description
replacements
optional array of replacement item rows written through AutoCount DLL ItemReplacementTable; supports replacementItemCode, replacementDegree/degree, note
batchNo
optional first batch number to create
batchDescription
optional first batch description
itemBrand
optional brand
itemCategory
optional category
itemClass
optional class
tariffCode
optional tariff/customs code
defaultLocation
optional default stock location
costingMethod
optional costing method where AutoCount allows it
standardCost
optional standard cost
minimumSellingPrice
optional minimum selling price
sellingPrice
optional default selling price
purchasePrice
optional default purchase price
reorderLevel
optional reorder quantity/level
normalLevel
optional normal stock level
minimumLevel
optional minimum stock level
maximumLevel
optional maximum stock level
remark1
optional remark field 1
remark2
optional remark field 2

Example Payload

{
  "itemCode": "API-ITEM",
  "description": "API Test Item",
  "desc2": "API Item Second Description",
  "furtherDescription": "Long item note visible in AutoCount item detail.",
  "templateItemCode": "00004",
  "baseUom": "UNIT",
  "salesUom": "UNIT",
  "purchaseUom": "UNIT",
  "reportUom": "UNIT",
  "itemGroup": "FG",
  "itemType": "Stock",
  "taxCode": "S-0",
  "purchaseTaxCode": "P-0",
  "isSalesItem": true,
  "isPurchaseItem": true,
  "stockControl": true,
  "hasBatchNo": false,
  "hasSerialNo": false,
  "isActive": true,
  "uoms": [
    {
      "uom": "UNIT",
      "rate": 1,
      "price": 100,
      "cost": 80,
      "barCode": "9550000000011",
      "minSalePrice": 90,
      "maxSalePrice": 9999,
      "minQty": 15,
      "maxQty": 200
    },
    {
      "uom": "BOX",
      "rate": 12,
      "price": 1200,
      "cost": 960,
      "barCode": "9550000000012"
    }
  ],
  "subCodes": [
    {
      "subCode": "ALT-API-ITEM",
      "uom": "UNIT"
    }
  ],
  "priceBooks": [
    {
      "ref": "PB-API-ITEM",
      "priceCategory": "RETAIL",
      "uom": "UNIT",
      "fixedPrice": 100,
      "qty1": 1,
      "price1": 100
    }
  ],
  "customerPrices": [
    {
      "ref": "CP-API-ITEM",
      "debtorCode": "300-A001",
      "currencyCode": "MYR",
      "uom": "UNIT",
      "customerItemCode": "CUST-API-ITEM",
      "fixedPrice": 95,
      "qty1": 1,
      "price1": 95
    }
  ],
  "supplierPrices": [
    {
      "ref": "SP-API-ITEM",
      "creditorCode": "400-S001",
      "currencyCode": "MYR",
      "uom": "UNIT",
      "supplierItemCode": "SUP-API-ITEM",
      "fixedPrice": 80,
      "qty1": 1,
      "price1": 80
    }
  ],
  "openingBalances": [
    {
      "location": "HQ",
      "qty": 10,
      "uom": "UNIT",
      "unitCost": 80,
      "batchNo": "BATCH-001",
      "docDate": "2026-07-26"
    }
  ],
  "bomRows": [
    {
      "subItemCode": "API-COMPONENT",
      "qty": 2,
      "overheadCost": 0,
      "seq": 1,
      "costFraction": 1
    }
  ],
  "replacements": [
    {
      "replacementItemCode": "API-REPLACEMENT",
      "replacementDegree": 1,
      "note": "Alternative item"
    }
  ],
  "itemBrand": "MACSOFT",
  "itemCategory": "API",
  "itemClass": "A",
  "tariffCode": "8471.30",
  "defaultLocation": "HQ",
  "costingMethod": "Weighted Average",
  "standardCost": 80,
  "minimumSellingPrice": 90,
  "sellingPrice": 100,
  "purchasePrice": 80,
  "reorderLevel": 10,
  "normalLevel": 50,
  "minimumLevel": 5,
  "maximumLevel": 200,
  "snFormatName": "",
  "batchNo": "BATCH-001",
  "batchDescription": "Opening API batch",
  "remark1": "Created by API",
  "remark2": "Stock item full payload example"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master7 fields
  • ItemCode string - Stock item code.
  • Description string - Item description.
  • BaseUOM string - Base unit of measure.
  • SalesUOM string - Sales unit of measure.
  • PurchaseUOM string - Purchase unit of measure.
  • ItemGroup string - Item group/category.
  • TaxType string - Default tax type/code.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Creates item master data through AutoCount SDK. Proven child table rows are written through AutoCount DLL DataTables and verified after save in writeVerification.childRows. Connector checks the child DataTable column exists, writes nativeFields, reloads the item and verifies every requested native field. This is the full human payload reference for Stock Item Maintenance. The connector writes proven UOM rows, item sub-codes, price book rows, customer prices, supplier prices, opening balances, BOM rows, and replacement rows through AutoCount DLL child DataTables, then reloads the item and returns writeVerification.childRows. Batch rows use AutoCount NewItemBatch where enabled.

update-itemwrite

Update a stock item.

Full payload schema: /v1/schema/commands/update-item

Simple Payload Fields

itemCode
required stock item code
description
required item description
desc2
optional second description
furtherDescription
optional long/further description
baseUom
optional base UOM
salesUom
optional sales UOM
purchaseUom
optional purchase UOM
reportUom
optional report UOM
itemGroup
optional Item Group code
itemType
optional AutoCount item type such as Stock, Service, Non-Stock
taxCode
optional sales tax code
purchaseTaxCode
optional purchase tax code
isSalesItem
optional boolean
isPurchaseItem
optional boolean
stockControl
optional boolean
hasBatchNo
optional boolean
hasSerialNo
optional boolean
snFormatName
optional serial number format name
isActive
optional boolean
uoms
optional array of distinct UOM rows written through AutoCount DLL ItemUomTable; each row requires uom and may contain rate, shelf, price/sellingPrice, cost/purchasePrice, minSalePrice, maxSalePrice, minPurchasePrice, maxPurchasePrice, minQty (ItemUomTable.MinQty), maxQty (ItemUomTable.MaxQty), normalLevel (ItemUomTable.NormalLevel), reorderLevel (ItemUomTable.ReOLevel), reorderQty (ItemUomTable.ReOQty), barCode (string, per UOM), price2-price6, weight, weightUom, measurement, userDefinedFields, and nativeFields for Any writable ItemUomTable column except system-managed fields. Additional exposed writable columns may be supplied by their native name. Unknown/read-only/system fields, duplicate UOMs and conflicting aliases fail before save. Every supplied UOM field is compared after reload, including empty/null values and exact barcode text. Omitted fields remain unchanged. Top-level barCode is rejected; use uoms[].barCode.
subCodes
optional array of item sub-code rows written through AutoCount DLL ItemSubCodeTable; supports subCode/code and uom
priceBooks
optional array of item price book rows written through AutoCount DLL ItemPriceBook; supports ref, uom, priceCategory, fixedPrice/price, fixedDetailDiscount, qty1-price4/detailDiscount4, focLevel, focQty, bonusPointQty, bonusPoint
customerPrices
optional array of customer-specific price rows written through AutoCount DLL ItemCustomerPrice; supports ref, uom, debtorCode/accNo, currencyCode, suppCustItemCode/customerItemCode, fixedPrice/price, fixedDetailDiscount, qty1-price4/detailDiscount4, focLevel, focQty, bonusPointQty, bonusPoint
supplierPrices
optional array of supplier-specific price rows written through AutoCount DLL ItemSupplierPrice; supports ref, uom, creditorCode/accNo, currencyCode, suppCustItemCode/supplierItemCode, fixedPrice/price, fixedDetailDiscount, qty1-price4/detailDiscount4, focLevel, focQty, bonusPointQty, bonusPoint
openingBalances
optional array of opening balance rows written through AutoCount DLL ItemOpeningBalance; supports location, uom, batchNo, qty, cost/unitCost, project/projNo, department/deptNo, docDate
bomRows
optional array of BOM component rows written through AutoCount DLL ItemBOMTable; supports subItemCode/componentItemCode, qty, overheadCost, seq, costFraction, description
replacements
optional array of replacement item rows written through AutoCount DLL ItemReplacementTable; supports replacementItemCode, replacementDegree/degree, note
batchNo
optional first batch number to create
batchDescription
optional first batch description
templateItemCode
optional template item to copy defaults from
itemBrand
optional brand
itemCategory
optional category
itemClass
optional class
tariffCode
optional tariff/customs code
defaultLocation
optional default stock location
costingMethod
optional costing method where AutoCount allows it
standardCost
optional standard cost
minimumSellingPrice
optional minimum selling price
sellingPrice
optional default selling price
purchasePrice
optional default purchase price
reorderLevel
optional reorder quantity/level
normalLevel
optional normal stock level
minimumLevel
optional minimum stock level
maximumLevel
optional maximum stock level
remark1
optional remark field 1
remark2
optional remark field 2

Example Payload

{
  "itemCode": "API-ITEM",
  "description": "Updated API Test Item",
  "desc2": "API Item Second Description",
  "isSalesItem": true,
  "isPurchaseItem": true,
  "stockControl": true,
  "isActive": true,
  "uoms": [
    {
      "uom": "UNIT",
      "rate": 1,
      "price": 100,
      "cost": 80,
      "barCode": "9550000000011",
      "minSalePrice": 90,
      "maxSalePrice": 9999,
      "minQty": 15,
      "maxQty": 200
    },
    {
      "uom": "BOX",
      "rate": 12,
      "price": 1200,
      "cost": 960,
      "barCode": "9550000000012"
    }
  ],
  "subCodes": [
    {
      "subCode": "ALT-API-ITEM",
      "uom": "UNIT"
    }
  ],
  "priceBooks": [
    {
      "ref": "PB-API-ITEM",
      "priceCategory": "RETAIL",
      "uom": "UNIT",
      "fixedPrice": 100,
      "qty1": 1,
      "price1": 100
    }
  ],
  "furtherDescription": "Long item note visible in AutoCount item detail.",
  "templateItemCode": "00004",
  "itemGroup": "FG",
  "itemType": "Stock",
  "itemBrand": "MACSOFT",
  "itemCategory": "API",
  "itemClass": "A",
  "tariffCode": "8471.30",
  "baseUom": "UNIT",
  "salesUom": "UNIT",
  "purchaseUom": "UNIT",
  "reportUom": "UNIT",
  "taxCode": "S-0",
  "purchaseTaxCode": "P-0",
  "defaultLocation": "HQ",
  "costingMethod": "Weighted Average",
  "standardCost": 80,
  "minimumSellingPrice": 90,
  "sellingPrice": 100,
  "purchasePrice": 80,
  "reorderLevel": 10,
  "normalLevel": 50,
  "minimumLevel": 5,
  "maximumLevel": 200,
  "hasBatchNo": false,
  "hasSerialNo": false,
  "snFormatName": "",
  "customerPrices": [
    {
      "ref": "CP-API-ITEM",
      "debtorCode": "300-A001",
      "currencyCode": "MYR",
      "uom": "UNIT",
      "customerItemCode": "CUST-API-ITEM",
      "fixedPrice": 95,
      "qty1": 1,
      "price1": 95
    }
  ],
  "supplierPrices": [
    {
      "ref": "SP-API-ITEM",
      "creditorCode": "400-S001",
      "currencyCode": "MYR",
      "uom": "UNIT",
      "supplierItemCode": "SUP-API-ITEM",
      "fixedPrice": 80,
      "qty1": 1,
      "price1": 80
    }
  ],
  "openingBalances": [
    {
      "location": "HQ",
      "qty": 10,
      "uom": "UNIT",
      "unitCost": 80,
      "batchNo": "BATCH-001",
      "docDate": "2026-07-26"
    }
  ],
  "bomRows": [
    {
      "subItemCode": "API-COMPONENT",
      "qty": 2,
      "overheadCost": 0,
      "seq": 1,
      "costFraction": 1
    }
  ],
  "replacements": [
    {
      "replacementItemCode": "API-REPLACEMENT",
      "replacementDegree": 1,
      "note": "Alternative item"
    }
  ],
  "batchNo": "BATCH-001",
  "batchDescription": "Opening API batch",
  "remark1": "Created by API",
  "remark2": "Stock item full payload example"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master7 fields
  • ItemCode string - Stock item code.
  • Description string - Item description.
  • BaseUOM string - Base unit of measure.
  • SalesUOM string - Sales unit of measure.
  • PurchaseUOM string - Purchase unit of measure.
  • ItemGroup string - Item group/category.
  • TaxType string - Default tax type/code.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Updates item master data through AutoCount SDK. Proven child table rows are written through AutoCount DLL DataTables and verified after save in writeVerification.childRows; requested UOM minQty/maxQty and nativeFields must match the reloaded child table row or the command returns ok=false. Connector checks the child DataTable column exists, writes nativeFields, reloads the item and verifies every requested native field. This is the full human payload reference for Stock Item Maintenance. The connector writes proven UOM rows, item sub-codes, price book rows, customer prices, supplier prices, opening balances, BOM rows, and replacement rows through AutoCount DLL child DataTables, then reloads the item and returns writeVerification.childRows. Batch rows use AutoCount NewItemBatch where enabled.

list-item-price-booksread

List Item Price Book rows safely.

Full payload schema: /v1/schema/commands/list-item-price-books

Simple Payload Fields

itemCodes
optional array of up to 500 item codes; omit to list item codes that have Item Price Book rows
priceCategories
optional price-category filter array
uoms
optional UOM filter array
includeDebtorRows
optional boolean; false excludes rows whose AccNo is populated
offset
optional zero-based result offset
limit
optional returned-row limit, maximum 5000

Example Payload

{
  "itemCodes": [
    "ITEM001",
    "ITEM002"
  ],
  "priceCategories": [
    "RETAIL"
  ],
  "limit": 1000
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns stable rowKey and the natural key itemCode + UOM + priceCategory + AccNo. modifiedSince is rejected because the SDK table has no modification timestamp. Read-only AutoCount DLL listing. Returns stable rowKey (ItemPriceKey), itemCode, uom, priceCategory, accNo, fixed and tier prices. modifiedSince is rejected because this AutoCount table has no modification timestamp.

upsert-item-price-bookswrite

Insert or update Item Price Book rows without duplicates.

Full payload schema: /v1/schema/commands/upsert-item-price-books

Simple Payload Fields

rows
required array, maximum 500. Natural key: itemCode + uom + priceCategory + accNo. Supported values include ref, useFixedPrice, fixedPrice, fixedDetailDiscount, qty1-price4, detailDiscount1-detailDiscount4, focLevel, focQty, bonusPointQty and bonusPoint.

Example Payload

{
  "rows": [
    {
      "itemCode": "ITEM001",
      "uom": "UNIT",
      "priceCategory": "RETAIL",
      "accNo": "",
      "useFixedPrice": true,
      "fixedPrice": 12.5
    }
  ]
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Groups by item, saves once through AutoCount ItemDataAccess, preserves omitted fields, and reloads all rows for verification. Writes through AutoCount ItemDataAccess, loads and saves each item once, preserves omitted fields, rejects duplicate request keys, and reloads every row for verification. currencyCode is not supported by ItemPriceBook; use ItemCustomerPrice for debtor/currency pricing.

delete-item-price-bookswrite

Delete Item Price Book rows safely.

Full payload schema: /v1/schema/commands/delete-item-price-books

Simple Payload Fields

rows
required array, maximum 500. Prefer {rowKey}. For duplicate cleanup only, send itemCode + uom + priceCategory + accNo + keepOne:true.

Example Payload

{
  "rows": [
    {
      "rowKey": "12345"
    }
  ]
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Deletes through AutoCount ItemDataAccess and verifies removal after reload. Natural-key cleanup preserves one row. Deletes through AutoCount ItemDataAccess and reloads for verification. Natural-key deletion never removes the final row; keepOne:true removes only duplicates after the first row.

General Maintenance AutoCount maintenance tables such as terms, agents, projects, payment methods, and shipping methods. 97 commands

Command Native Sections

change-acc-nowrite

Change an account number across linked account records.

Full payload schema: /v1/schema/commands/change-acc-no

Simple Payload Fields

oldAccNo
required old value for oldAccNo
newAccNo
required new value for newAccNo
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example Payload

{
  "oldAccNo": "OLD-ACC",
  "newAccNo": "NEW-ACC",
  "confirm": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

change-area-codewrite

Change an area code.

Full payload schema: /v1/schema/commands/change-area-code

Simple Payload Fields

oldAreaCode
required old value for oldAreaCode
newAreaCode
required new value for newAreaCode
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example Payload

{
  "oldAreaCode": "OLD-AREA",
  "newAreaCode": "NEW-AREA",
  "confirm": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

change-branchwrite

Change a debtor or creditor branch code using the supplied account number.

Full payload schema: /v1/schema/commands/change-branch

Simple Payload Fields

accNo
required debtor or creditor account number used to scope the branch lookup
oldBranchCode
required old value for oldBranchCode
newBranchCode
required new value for newBranchCode
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example Payload

{
  "accNo": "DEBTOR-001",
  "oldBranchCode": "OLD-BR",
  "newBranchCode": "NEW-BR",
  "confirm": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities. Full-actor-only: branch changes can affect AR or AP. The connector must scope native QueryBranchExist with accNo and must not treat this as a GL-only operation.

change-currencywrite

Change a currency code across linked records.

Full payload schema: /v1/schema/commands/change-currency

Simple Payload Fields

oldCurrency
required old value for oldCurrency
newCurrency
required new value for newCurrency
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example Payload

{
  "oldCurrency": "OLD-CUR",
  "newCurrency": "NEW-CUR",
  "confirm": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

change-dept-nowrite

Change a department number across linked records.

Full payload schema: /v1/schema/commands/change-dept-no

Simple Payload Fields

oldDeptNo
required old value for oldDeptNo
newDeptNo
required new value for newDeptNo
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example Payload

{
  "oldDeptNo": "OLD-DEPT",
  "newDeptNo": "NEW-DEPT",
  "confirm": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

change-payment-methodwrite

Change a payment method across linked records.

Full payload schema: /v1/schema/commands/change-payment-method

Simple Payload Fields

oldPaymentMethod
required old value for oldPaymentMethod
newPaymentMethod
required new value for newPaymentMethod
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example Payload

{
  "oldPaymentMethod": "OLD-PAY",
  "newPaymentMethod": "NEW-PAY",
  "confirm": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

change-proj-nowrite

Change a project number across linked records.

Full payload schema: /v1/schema/commands/change-proj-no

Simple Payload Fields

oldProjNo
required old value for oldProjNo
newProjNo
required new value for newProjNo
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example Payload

{
  "oldProjNo": "OLD-PROJ",
  "newProjNo": "NEW-PROJ",
  "confirm": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

get-general-account-typeread

Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-account-type

Simple Payload Fields

code
required setup code

Example Payload

{
  "code": "API"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

create-general-account-typewrite

Guarded create request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/create-general-account-type

Simple Payload Fields

code
required Account Type code; accType is accepted as an alias where shown
accType
optional alias for code
description
optional Account Type description
desc2
optional second description
isActive
optional boolean active flag
remark1
optional remark field 1
remark2
optional remark field 2

Example Payload

{
  "code": "EP",
  "accType": "EP",
  "description": "API Account Type",
  "desc2": "Account Type second description",
  "isActive": true,
  "remark1": "Created by API",
  "remark2": "Account Type setup example"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns createBlocked until AutoCount exposes a proven safe SDK write path for this setup table. Full human payload reference for Account Type. Exact fields saved depend on the AutoCount setup SDK exposed for this table.

update-general-account-typewrite

Guarded edit request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/update-general-account-type

Simple Payload Fields

code
required Account Type code; accType is accepted as an alias where shown
reason
required business reason
accType
optional alias for code
description
optional Account Type description
desc2
optional second description
isActive
optional boolean active flag
remark1
optional remark field 1
remark2
optional remark field 2

Example Payload

{
  "code": "EP",
  "reason": "correct setup value",
  "accType": "EP",
  "description": "API Account Type",
  "desc2": "Account Type second description",
  "isActive": true,
  "remark1": "Created by API",
  "remark2": "Account Type setup example"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns editBlocked until AutoCount exposes a proven safe SDK write path for this setup table. Full human payload reference for Account Type. Exact fields saved depend on the AutoCount setup SDK exposed for this table.

void-general-account-typewrite

Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-account-type

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "void unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

delete-general-account-typewrite

Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-account-type

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "remove unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

get-general-addressread

Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-address

Simple Payload Fields

code
required setup code

Example Payload

{
  "code": "API"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

void-general-addresswrite

Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-address

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "void unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

delete-general-addresswrite

Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-address

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "remove unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

get-general-arearead

Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-area

Simple Payload Fields

code
required setup code

Example Payload

{
  "code": "API"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

void-general-areawrite

Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-area

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "void unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

delete-general-areawrite

Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-area

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "remove unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

get-general-cn-typeread

Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-cn-type

Simple Payload Fields

code
required setup code

Example Payload

{
  "code": "API"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

void-general-cn-typewrite

Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-cn-type

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "void unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

delete-general-cn-typewrite

Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-cn-type

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "remove unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

get-general-credit-termread

Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-credit-term

Simple Payload Fields

code
required setup code

Example Payload

{
  "code": "API"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

void-general-credit-termwrite

Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-credit-term

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "void unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

delete-general-credit-termwrite

Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-credit-term

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "remove unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

get-general-creditor-typeread

Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-creditor-type

Simple Payload Fields

code
required setup code

Example Payload

{
  "code": "API"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

void-general-creditor-typewrite

Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-creditor-type

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "void unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

delete-general-creditor-typewrite

Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-creditor-type

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "remove unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

get-general-currencyread

Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-currency

Simple Payload Fields

code
required setup code

Example Payload

{
  "code": "API"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

void-general-currencywrite

Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-currency

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "void unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

delete-general-currencywrite

Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-currency

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "remove unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

get-general-dn-typeread

Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-dn-type

Simple Payload Fields

code
required setup code

Example Payload

{
  "code": "API"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

void-general-dn-typewrite

Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-dn-type

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "void unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

delete-general-dn-typewrite

Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-dn-type

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "remove unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

get-general-debtor-typeread

Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-debtor-type

Simple Payload Fields

code
required setup code

Example Payload

{
  "code": "API"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

void-general-debtor-typewrite

Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-debtor-type

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "void unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

delete-general-debtor-typewrite

Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-debtor-type

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "remove unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

get-general-payment-methodread

Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-payment-method

Simple Payload Fields

code
required setup code

Example Payload

{
  "code": "API"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

void-general-payment-methodwrite

Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-payment-method

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "void unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

delete-general-payment-methodwrite

Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-payment-method

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "remove unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

get-general-price-categoryread

Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-price-category

Simple Payload Fields

code
required setup code

Example Payload

{
  "code": "API"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

void-general-price-categorywrite

Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-price-category

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "void unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

delete-general-price-categorywrite

Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-price-category

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "remove unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

get-general-projectread

Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-project

Simple Payload Fields

code
required setup code

Example Payload

{
  "code": "API"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

void-general-projectwrite

Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-project

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "void unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

delete-general-projectwrite

Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-project

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "remove unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

get-general-purchase-agentread

Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-purchase-agent

Simple Payload Fields

code
required setup code

Example Payload

{
  "code": "API"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

void-general-purchase-agentwrite

Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-purchase-agent

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "void unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

delete-general-purchase-agentwrite

Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-purchase-agent

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "remove unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

get-general-sales-agentread

Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-sales-agent

Simple Payload Fields

code
required setup code

Example Payload

{
  "code": "API"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

void-general-sales-agentwrite

Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-sales-agent

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "void unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

delete-general-sales-agentwrite

Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-sales-agent

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "remove unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

get-general-shipping-methodread

Get one General Maintenance setup record by code.

Full payload schema: /v1/schema/commands/get-general-shipping-method

Simple Payload Fields

code
required setup code

Example Payload

{
  "code": "API"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses the same AutoCount SDK/listing source as the matching list command and returns the matching row.

void-general-shipping-methodwrite

Guarded void request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/void-general-shipping-method

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "void unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked. Most setup tables should be edited to inactive where AutoCount supports it.

delete-general-shipping-methodwrite

Guarded delete request for General Maintenance setup data.

Full payload schema: /v1/schema/commands/delete-general-shipping-method

Simple Payload Fields

code
required setup code
reason
required business reason

Example Payload

{
  "code": "API",
  "reason": "remove unused setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked until AutoCount SDK delete safety is proven for this setup table.

list-general-account-typesread

List account types. Read-only because AutoCount 2.2 does not expose a safe SDK write command for Account Type.

Full payload schema: /v1/schema/commands/list-general-account-types

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

list-general-credit-termsread

List credit terms.

Full payload schema: /v1/schema/commands/list-general-credit-terms

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-general-credit-termwrite

Create a Credit Term Maintenance record.

Full payload schema: /v1/schema/commands/create-general-credit-term

Simple Payload Fields

code
required credit term display code, for example 30 DAYS
terms
read/list field exposed by the connector for the underlying terms value
termType
read/list field exposed by the connector for term type
termDays
read/list field exposed by the connector for number of term days
discountDays
optional early payment discount days
discountPercent
optional early payment discount percent
displayTerm
optional alias for code

Example Payload

{
  "code": "30 DAYS",
  "terms": "30 DAYS",
  "termDays": 30,
  "displayTerm": "30 DAYS",
  "termType": "Day",
  "discountDays": 7,
  "discountPercent": 2
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master6 fields
  • DisplayTerm string - Credit term display code.
  • Terms string - Underlying terms value.
  • TermType string - Credit term type such as day or month.
  • TermDays number - Number of credit days.
  • DiscountDays number - Early payment discount days.
  • DiscountPercent number - Early payment discount percent.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Uses AutoCount Terms SDK/DataTable save path where available. Requires write access permission. Credit Term writes are guarded unless the exact AutoCount SDK write path is proven for the account book. These fields reflect the connector's current list/read surface, not an advertised writable native schema.

update-general-credit-termwrite

Update a Credit Term Maintenance record.

Full payload schema: /v1/schema/commands/update-general-credit-term

Simple Payload Fields

code
required credit term display code, for example 30 DAYS
terms
read/list field exposed by the connector for the underlying terms value
termType
read/list field exposed by the connector for term type
termDays
read/list field exposed by the connector for number of term days
discountDays
optional early payment discount days
discountPercent
optional early payment discount percent
displayTerm
optional alias for code

Example Payload

{
  "code": "30 DAYS",
  "terms": "30 DAYS",
  "termDays": 30,
  "displayTerm": "30 DAYS",
  "termType": "Day",
  "discountDays": 7,
  "discountPercent": 2,
  "reason": "correct setup value"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master6 fields
  • DisplayTerm string - Credit term display code.
  • Terms string - Underlying terms value.
  • TermType string - Credit term type such as day or month.
  • TermDays number - Number of credit days.
  • DiscountDays number - Early payment discount days.
  • DiscountPercent number - Early payment discount percent.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Uses AutoCount Terms SDK/DataTable save path where available. Requires write access permission. Credit Term writes are guarded unless the exact AutoCount SDK write path is proven for the account book. These fields reflect the connector's current list/read surface, not an advertised writable native schema.

list-general-addressesread

List address maintenance records.

Full payload schema: /v1/schema/commands/list-general-addresses

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-general-addresswrite

Create an address maintenance record.

Full payload schema: /v1/schema/commands/create-general-address

Simple Payload Fields

code
required address code or addressName
address1
optional address line 1
address2
optional address line 2
postCode
optional postcode
contact
optional contact person
phone
optional phone
fax
optional fax
addressName
optional address name alias
address3
optional address line 3
address4
optional address line 4
city
optional city
state
optional state
country
optional country
emailAddress
optional email address
isActive
optional boolean active flag
remark1
optional remark field 1
remark2
optional remark field 2

Example Payload

{
  "code": "HQ",
  "address1": "No. 1 Jalan API",
  "phone": "03-00000000",
  "addressName": "Head Office",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "postCode": "50000",
  "city": "Kuala Lumpur",
  "state": "Wilayah Persekutuan",
  "country": "Malaysia",
  "contact": "Admin",
  "fax": "03-00000001",
  "emailAddress": "admin@example.com",
  "isActive": true,
  "remark1": "Created by API",
  "remark2": "Address setup example"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Requires write access permission. Full human payload reference for Address Maintenance. Exact fields saved depend on the AutoCount setup SDK exposed for this table.

update-general-addresswrite

Update an address maintenance record.

Full payload schema: /v1/schema/commands/update-general-address

Simple Payload Fields

code
required address code or addressName
address1
optional address line 1
phone
optional phone
addressName
optional address name alias
address2
optional address line 2
address3
optional address line 3
address4
optional address line 4
postCode
optional postcode
city
optional city
state
optional state
country
optional country
contact
optional contact person
fax
optional fax
emailAddress
optional email address
isActive
optional boolean active flag
remark1
optional remark field 1
remark2
optional remark field 2

Example Payload

{
  "code": "HQ",
  "phone": "03-00000000",
  "addressName": "Head Office",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "postCode": "50000",
  "city": "Kuala Lumpur",
  "state": "Wilayah Persekutuan",
  "country": "Malaysia",
  "contact": "Admin",
  "fax": "03-00000001",
  "emailAddress": "admin@example.com",
  "isActive": true,
  "remark1": "Created by API",
  "remark2": "Address setup example",
  "reason": "correct setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Requires write access permission. Full human payload reference for Address Maintenance. Exact fields saved depend on the AutoCount setup SDK exposed for this table.

list-general-areasread

List area maintenance records.

Full payload schema: /v1/schema/commands/list-general-areas

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-general-areawrite

Create an area.

Full payload schema: /v1/schema/commands/create-general-area

Simple Payload Fields

code
required Area code
description
optional Area description
desc2
optional second description
areaCode
optional alias for code

Example Payload

{
  "code": "KL",
  "description": "Kuala Lumpur",
  "areaCode": "KL",
  "desc2": "Central region"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master3 fields
  • AreaCode string - Area code.
  • Description string - Area description.
  • Desc2 string - Optional second description.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Requires write access permission. Full human payload reference for Area Maintenance.

update-general-areawrite

Update an area.

Full payload schema: /v1/schema/commands/update-general-area

Simple Payload Fields

code
required Area code
description
optional Area description
desc2
optional second description
areaCode
optional alias for code

Example Payload

{
  "code": "KL",
  "description": "Kuala Lumpur",
  "areaCode": "KL",
  "desc2": "Central region",
  "reason": "correct setup value"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master3 fields
  • AreaCode string - Area code.
  • Description string - Area description.
  • Desc2 string - Optional second description.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Requires write access permission. Full human payload reference for Area Maintenance.

list-general-cn-typesread

List C/N type maintenance records.

Full payload schema: /v1/schema/commands/list-general-cn-types

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-general-cn-typewrite

Create a C/N type.

Full payload schema: /v1/schema/commands/create-general-cn-type

Simple Payload Fields

code
required C/N Type code; cnType is accepted as an alias where shown
description
optional C/N Type description
desc2
optional second description
isActive
optional boolean active flag
cnType
optional alias for code
remark1
optional remark field 1
remark2
optional remark field 2

Example Payload

{
  "code": "CNAPI",
  "description": "API C/N Type",
  "cnType": "CNAPI",
  "desc2": "C/N Type second description",
  "isActive": true,
  "remark1": "Created by API",
  "remark2": "C/N Type setup example"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Requires write access permission. Full human payload reference for C/N Type. Exact fields saved depend on the AutoCount setup SDK exposed for this table.

update-general-cn-typewrite

Update a C/N type.

Full payload schema: /v1/schema/commands/update-general-cn-type

Simple Payload Fields

code
required C/N Type code; cnType is accepted as an alias where shown
description
optional C/N Type description
isActive
optional boolean active flag
cnType
optional alias for code
desc2
optional second description
remark1
optional remark field 1
remark2
optional remark field 2

Example Payload

{
  "code": "CNAPI",
  "isActive": true,
  "cnType": "CNAPI",
  "description": "API C/N Type",
  "desc2": "C/N Type second description",
  "remark1": "Created by API",
  "remark2": "C/N Type setup example",
  "reason": "correct setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Requires write access permission. Full human payload reference for C/N Type. Exact fields saved depend on the AutoCount setup SDK exposed for this table.

list-general-creditor-typesread

List creditor type maintenance records.

Full payload schema: /v1/schema/commands/list-general-creditor-types

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-general-creditor-typewrite

Create a creditor type.

Full payload schema: /v1/schema/commands/create-general-creditor-type

Simple Payload Fields

code
required Creditor Type code; creditorType is accepted as an alias where shown
description
optional Creditor Type description
desc2
optional second description
isActive
optional boolean active flag
creditorType
optional alias for code
remark1
optional remark field 1
remark2
optional remark field 2

Example Payload

{
  "code": "SUP",
  "description": "API Creditor Type",
  "creditorType": "SUP",
  "desc2": "Creditor Type second description",
  "isActive": true,
  "remark1": "Created by API",
  "remark2": "Creditor Type setup example"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Requires write access permission. Full human payload reference for Creditor Type. Exact fields saved depend on the AutoCount setup SDK exposed for this table.

update-general-creditor-typewrite

Update a creditor type.

Full payload schema: /v1/schema/commands/update-general-creditor-type

Simple Payload Fields

code
required Creditor Type code; creditorType is accepted as an alias where shown
description
optional Creditor Type description
isActive
optional boolean active flag
creditorType
optional alias for code
desc2
optional second description
remark1
optional remark field 1
remark2
optional remark field 2

Example Payload

{
  "code": "SUP",
  "isActive": true,
  "creditorType": "SUP",
  "description": "API Creditor Type",
  "desc2": "Creditor Type second description",
  "remark1": "Created by API",
  "remark2": "Creditor Type setup example",
  "reason": "correct setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Requires write access permission. Full human payload reference for Creditor Type. Exact fields saved depend on the AutoCount setup SDK exposed for this table.

list-general-currenciesread

List currency maintenance records.

Full payload schema: /v1/schema/commands/list-general-currencies

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-general-currencywrite

Create a currency.

Full payload schema: /v1/schema/commands/create-general-currency

Simple Payload Fields

code
required currency code
currencySymbol
optional currency symbol
currencyWord
optional currency word/name
currencyWord2
optional secondary currency word/name
bankBuyRate
optional bank buying rate
bankSellRate
optional bank selling rate
fcGainAccount
optional foreign exchange gain account
fcLossAccount
optional foreign exchange loss account
gainLossJournalType
optional gain/loss journal type
currencyCode
optional alias for code

Example Payload

{
  "code": "USD",
  "currencySymbol": "$",
  "currencyWord": "US Dollar",
  "currencyWord2": "US Dollars",
  "currencyCode": "USD",
  "bankBuyRate": 4.7,
  "bankSellRate": 4.75,
  "fcGainAccount": "720-0000",
  "fcLossAccount": "820-0000",
  "gainLossJournalType": "GL"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master9 fields
  • CurrencyCode string - Currency code.
  • CurrencySymbol string - Currency symbol.
  • CurrencyWord string - Currency word/name.
  • CurrencyWord2 string - Secondary currency word/name.
  • BankBuyRate number - Bank buying rate.
  • BankSellRate number - Bank selling rate.
  • FCGainAccount string - Foreign exchange gain account.
  • FCLossAccount string - Foreign exchange loss account.
  • GainLossJournalType string - Gain/loss journal type.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Requires write access permission. Full human payload reference for Currency Maintenance. Exchange rate behavior follows AutoCount account-book currency settings.

update-general-currencywrite

Update a currency.

Full payload schema: /v1/schema/commands/update-general-currency

Simple Payload Fields

code
required currency code
currencySymbol
optional currency symbol
currencyWord2
optional secondary currency word/name
bankBuyRate
optional bank buying rate
bankSellRate
optional bank selling rate
fcGainAccount
optional foreign exchange gain account
fcLossAccount
optional foreign exchange loss account
gainLossJournalType
optional gain/loss journal type
currencyCode
optional alias for code
currencyWord
optional currency word/name

Example Payload

{
  "code": "USD",
  "bankBuyRate": 4.7,
  "bankSellRate": 4.75,
  "currencyCode": "USD",
  "currencySymbol": "$",
  "currencyWord": "US Dollar",
  "currencyWord2": "US Dollars",
  "fcGainAccount": "720-0000",
  "fcLossAccount": "820-0000",
  "gainLossJournalType": "GL",
  "reason": "correct setup value"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master9 fields
  • CurrencyCode string - Currency code.
  • CurrencySymbol string - Currency symbol.
  • CurrencyWord string - Currency word/name.
  • CurrencyWord2 string - Secondary currency word/name.
  • BankBuyRate number - Bank buying rate.
  • BankSellRate number - Bank selling rate.
  • FCGainAccount string - Foreign exchange gain account.
  • FCLossAccount string - Foreign exchange loss account.
  • GainLossJournalType string - Gain/loss journal type.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Requires write access permission. Full human payload reference for Currency Maintenance. Exchange rate behavior follows AutoCount account-book currency settings.

list-general-dn-typesread

List D/N type maintenance records.

Full payload schema: /v1/schema/commands/list-general-dn-types

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-general-dn-typewrite

Create a D/N type.

Full payload schema: /v1/schema/commands/create-general-dn-type

Simple Payload Fields

code
required D/N Type code; dnType is accepted as an alias where shown
description
optional D/N Type description
desc2
optional second description
isActive
optional boolean active flag
dnType
optional alias for code
remark1
optional remark field 1
remark2
optional remark field 2

Example Payload

{
  "code": "DNAPI",
  "description": "API D/N Type",
  "dnType": "DNAPI",
  "desc2": "D/N Type second description",
  "isActive": true,
  "remark1": "Created by API",
  "remark2": "D/N Type setup example"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Requires write access permission. Full human payload reference for D/N Type. Exact fields saved depend on the AutoCount setup SDK exposed for this table.

update-general-dn-typewrite

Update a D/N type.

Full payload schema: /v1/schema/commands/update-general-dn-type

Simple Payload Fields

code
required D/N Type code; dnType is accepted as an alias where shown
description
optional D/N Type description
isActive
optional boolean active flag
dnType
optional alias for code
desc2
optional second description
remark1
optional remark field 1
remark2
optional remark field 2

Example Payload

{
  "code": "DNAPI",
  "isActive": true,
  "dnType": "DNAPI",
  "description": "API D/N Type",
  "desc2": "D/N Type second description",
  "remark1": "Created by API",
  "remark2": "D/N Type setup example",
  "reason": "correct setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Requires write access permission. Full human payload reference for D/N Type. Exact fields saved depend on the AutoCount setup SDK exposed for this table.

list-general-debtor-typesread

List debtor type maintenance records.

Full payload schema: /v1/schema/commands/list-general-debtor-types

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-general-debtor-typewrite

Create a debtor type.

Full payload schema: /v1/schema/commands/create-general-debtor-type

Simple Payload Fields

code
required Debtor Type code; debtorType is accepted as an alias where shown
description
optional Debtor Type description
desc2
optional second description
isActive
optional boolean active flag
debtorType
optional alias for code
remark1
optional remark field 1
remark2
optional remark field 2

Example Payload

{
  "code": "CUS",
  "description": "API Debtor Type",
  "debtorType": "CUS",
  "desc2": "Debtor Type second description",
  "isActive": true,
  "remark1": "Created by API",
  "remark2": "Debtor Type setup example"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Requires write access permission. Full human payload reference for Debtor Type. Exact fields saved depend on the AutoCount setup SDK exposed for this table.

update-general-debtor-typewrite

Update a debtor type.

Full payload schema: /v1/schema/commands/update-general-debtor-type

Simple Payload Fields

code
required Debtor Type code; debtorType is accepted as an alias where shown
description
optional Debtor Type description
isActive
optional boolean active flag
debtorType
optional alias for code
desc2
optional second description
remark1
optional remark field 1
remark2
optional remark field 2

Example Payload

{
  "code": "CUS",
  "isActive": true,
  "debtorType": "CUS",
  "description": "API Debtor Type",
  "desc2": "Debtor Type second description",
  "remark1": "Created by API",
  "remark2": "Debtor Type setup example",
  "reason": "correct setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Requires write access permission. Full human payload reference for Debtor Type. Exact fields saved depend on the AutoCount setup SDK exposed for this table.

list-general-payment-methodsread

List General Maintenance payment methods.

Full payload schema: /v1/schema/commands/list-general-payment-methods

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-general-payment-methodwrite

Create a payment method.

Full payload schema: /v1/schema/commands/create-general-payment-method

Simple Payload Fields

code
required payment method code
paymentType
optional type such as Cash, Bank, Cheque, Credit Card, E-Wallet
paymentBy
optional pay-by method such as Cash, Cheque, Bank Transfer
journalType
optional GL journal type used by this method
bankAccount
optional GL bank/cash account number
bankChargeAccount
optional bank charge GL account
bankChargePercent
optional bank charge percent
minBankCharge
optional minimum bank charge
odLimit
optional overdraft limit
nextChequeNo
optional next cheque/reference number
acceptChequeNo
optional boolean allowing cheque/reference number entry
mergeBankChargeTrans
optional boolean to merge bank charge transaction
isActive
optional boolean active flag
paymentMethod
optional alias for code

Example Payload

{
  "code": "BANKAPI",
  "paymentType": "Bank",
  "paymentBy": "Bank Transfer",
  "bankChargeAccount": "810-0000",
  "paymentMethod": "BANKAPI",
  "journalType": "BANK",
  "bankAccount": "110-0010",
  "bankChargePercent": 2.5,
  "minBankCharge": 0,
  "odLimit": 0,
  "nextChequeNo": "CHQ-000101",
  "acceptChequeNo": true,
  "mergeBankChargeTrans": false,
  "isActive": true
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master13 fields
  • PaymentMethod string - Payment method code.
  • PaymentType string - Payment type such as Cash, Bank, or Cheque.
  • PaymentBy string - Default payment-by label.
  • JournalType string - AutoCount journal type.
  • BankAccount string - Linked GL bank/cash account.
  • BankChargeAccount string - Optional bank charge GL account.
  • BankChargePercent number - Optional bank charge percent.
  • MinBankCharge number - Optional minimum bank charge.
  • ODLimit number - Optional overdraft limit.
  • NextChequeNo string - Optional next cheque/reference number.
  • AcceptChequeNo boolean - Whether cheque/reference number is accepted.
  • MergeBankChargeTrans boolean - Whether bank charge is merged into one transaction.
  • IsActive boolean - Whether payment method is active.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Requires write access permission and valid AutoCount GL settings. Full human payload reference for Payment Method Maintenance. GL accounts must exist and match the customer's AutoCount posting setup.

update-general-payment-methodwrite

Update a payment method.

Full payload schema: /v1/schema/commands/update-general-payment-method

Simple Payload Fields

code
required payment method code
journalType
optional GL journal type used by this method
bankAccount
optional GL bank/cash account number
bankChargeAccount
optional bank charge GL account
bankChargePercent
optional bank charge percent
minBankCharge
optional minimum bank charge
odLimit
optional overdraft limit
nextChequeNo
optional next cheque/reference number
acceptChequeNo
optional boolean allowing cheque/reference number entry
mergeBankChargeTrans
optional boolean to merge bank charge transaction
isActive
optional boolean active flag
paymentMethod
optional alias for code
paymentType
optional type such as Cash, Bank, Cheque, Credit Card, E-Wallet
paymentBy
optional pay-by method such as Cash, Cheque, Bank Transfer

Example Payload

{
  "code": "BANKAPI",
  "isActive": true,
  "paymentMethod": "BANKAPI",
  "paymentType": "Bank",
  "paymentBy": "Bank Transfer",
  "journalType": "BANK",
  "bankAccount": "110-0010",
  "bankChargeAccount": "810-0000",
  "bankChargePercent": 2.5,
  "minBankCharge": 0,
  "odLimit": 0,
  "nextChequeNo": "CHQ-000101",
  "acceptChequeNo": true,
  "mergeBankChargeTrans": false,
  "reason": "correct setup value"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master13 fields
  • PaymentMethod string - Payment method code.
  • PaymentType string - Payment type such as Cash, Bank, or Cheque.
  • PaymentBy string - Default payment-by label.
  • JournalType string - AutoCount journal type.
  • BankAccount string - Linked GL bank/cash account.
  • BankChargeAccount string - Optional bank charge GL account.
  • BankChargePercent number - Optional bank charge percent.
  • MinBankCharge number - Optional minimum bank charge.
  • ODLimit number - Optional overdraft limit.
  • NextChequeNo string - Optional next cheque/reference number.
  • AcceptChequeNo boolean - Whether cheque/reference number is accepted.
  • MergeBankChargeTrans boolean - Whether bank charge is merged into one transaction.
  • IsActive boolean - Whether payment method is active.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Requires write access permission. Full human payload reference for Payment Method Maintenance. GL accounts must exist and match the customer's AutoCount posting setup.

list-general-price-categoriesread

List price categories.

Full payload schema: /v1/schema/commands/list-general-price-categories

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-general-price-categorywrite

Create a price category.

Full payload schema: /v1/schema/commands/create-general-price-category

Simple Payload Fields

code
required price category code
description
optional price category description
discountPercent
optional default discount percent
detailDiscount
optional AutoCount detail discount string
markupRatio
optional markup ratio
priceCategory
optional alias for code
roundingMethod
optional rounding method where supported
isActive
optional boolean active flag
remark1
optional remark field 1
remark2
optional remark field 2

Example Payload

{
  "code": "API",
  "description": "API Price Category",
  "priceCategory": "API",
  "discountPercent": 5,
  "detailDiscount": "5%",
  "markupRatio": 1.2,
  "roundingMethod": "Normal",
  "isActive": true,
  "remark1": "Created by API",
  "remark2": "Price category setup example"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Requires write access permission. Full human payload reference for Price Category Maintenance. Item selling price rows can also refer to this price category.

update-general-price-categorywrite

Update a price category.

Full payload schema: /v1/schema/commands/update-general-price-category

Simple Payload Fields

code
required price category code
description
optional price category description
discountPercent
optional default discount percent
priceCategory
optional alias for code
detailDiscount
optional AutoCount detail discount string
markupRatio
optional markup ratio
roundingMethod
optional rounding method where supported
isActive
optional boolean active flag
remark1
optional remark field 1
remark2
optional remark field 2

Example Payload

{
  "code": "API",
  "discountPercent": 5,
  "priceCategory": "API",
  "description": "API Price Category",
  "detailDiscount": "5%",
  "markupRatio": 1.2,
  "roundingMethod": "Normal",
  "isActive": true,
  "remark1": "Created by API",
  "remark2": "Price category setup example",
  "reason": "correct setup value"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Requires write access permission. Full human payload reference for Price Category Maintenance. Item selling price rows can also refer to this price category.

list-general-projectsread

List projects.

Full payload schema: /v1/schema/commands/list-general-projects

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-general-projectwrite

Create a project.

Full payload schema: /v1/schema/commands/create-general-project

Simple Payload Fields

code
required project code
parentProjNo
optional parent project code
description
optional project description
desc2
optional second description
isActive
optional boolean active flag
projectNo
optional alias for code
projNo
optional alias for code

Example Payload

{
  "code": "PRJAPI",
  "description": "API Project",
  "projectNo": "PRJAPI",
  "projNo": "PRJAPI",
  "parentProjNo": "",
  "desc2": "Project second description",
  "isActive": true
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master5 fields
  • ProjNo string - Project code.
  • ParentProjNo string - Optional parent project code.
  • Description string - Project description.
  • Desc2 string - Optional second description.
  • IsActive boolean - Whether project is active.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Requires write access permission. Full human payload reference for Project Maintenance. Parent project and active flags depend on AutoCount project settings.

update-general-projectwrite

Update a project.

Full payload schema: /v1/schema/commands/update-general-project

Simple Payload Fields

code
required project code
description
optional project description
isActive
optional boolean active flag
projectNo
optional alias for code
projNo
optional alias for code
parentProjNo
optional parent project code
desc2
optional second description

Example Payload

{
  "code": "PRJAPI",
  "isActive": true,
  "projectNo": "PRJAPI",
  "projNo": "PRJAPI",
  "parentProjNo": "",
  "description": "API Project",
  "desc2": "Project second description",
  "reason": "correct setup value"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master5 fields
  • ProjNo string - Project code.
  • ParentProjNo string - Optional parent project code.
  • Description string - Project description.
  • Desc2 string - Optional second description.
  • IsActive boolean - Whether project is active.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Requires write access permission. Full human payload reference for Project Maintenance. Parent project and active flags depend on AutoCount project settings.

list-general-purchase-agentsread

List purchase agents.

Full payload schema: /v1/schema/commands/list-general-purchase-agents

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-general-purchase-agentwrite

Create a purchase agent.

Full payload schema: /v1/schema/commands/create-general-purchase-agent

Simple Payload Fields

code
required Purchase Agent code
description
optional Purchase Agent name/description
desc2
optional second description
isActive
optional boolean active flag
signature
optional signature text/blob exposed by the AutoCount entity
purchaseAgent
optional alias for code

Example Payload

{
  "code": "PAAPI",
  "description": "API Purchase Agent",
  "signature": "Approved by Purchasing",
  "purchaseAgent": "PAAPI",
  "desc2": "Purchase Agent second description",
  "isActive": true
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master5 fields
  • PurchaseAgent string - Purchase agent code.
  • Description string - Purchase agent name/description.
  • Desc2 string - Optional second description.
  • IsActive boolean - Whether purchase agent is active.
  • Signature string - Optional signature text/blob exposed by the AutoCount setup entity.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Requires write access permission. Full human payload reference for Purchase Agent Maintenance.

update-general-purchase-agentwrite

Update a purchase agent.

Full payload schema: /v1/schema/commands/update-general-purchase-agent

Simple Payload Fields

code
required Purchase Agent code
description
optional Purchase Agent name/description
isActive
optional boolean active flag
signature
optional signature text/blob exposed by the AutoCount entity
purchaseAgent
optional alias for code
desc2
optional second description

Example Payload

{
  "code": "PAAPI",
  "isActive": true,
  "purchaseAgent": "PAAPI",
  "description": "API Purchase Agent",
  "desc2": "Purchase Agent second description",
  "signature": "Approved by Purchasing",
  "reason": "correct setup value"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master5 fields
  • PurchaseAgent string - Purchase agent code.
  • Description string - Purchase agent name/description.
  • Desc2 string - Optional second description.
  • IsActive boolean - Whether purchase agent is active.
  • Signature string - Optional signature text/blob exposed by the AutoCount setup entity.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Requires write access permission. Full human payload reference for Purchase Agent Maintenance.

list-general-sales-agentsread

List sales agents.

Full payload schema: /v1/schema/commands/list-general-sales-agents

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-general-sales-agentwrite

Create a sales agent.

Full payload schema: /v1/schema/commands/create-general-sales-agent

Simple Payload Fields

code
required Sales Agent code
description
optional Sales Agent name/description
desc2
optional second description
emailAddress
optional email address
approverEmailAddress
optional approver email address
salesAgent
optional alias for code

Example Payload

{
  "code": "SAAPI",
  "description": "API Sales Agent",
  "approverEmailAddress": "approver@example.com",
  "salesAgent": "SAAPI",
  "desc2": "Sales Agent second description",
  "emailAddress": "sales@example.com"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master5 fields
  • SalesAgent string - Sales agent code.
  • Description string - Sales agent name/description.
  • Desc2 string - Optional second description.
  • EmailAddress string - Optional email address.
  • ApproverEmailAddress string - Optional approver email address.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Requires write access permission. Full human payload reference for Sales Agent Maintenance.

update-general-sales-agentwrite

Update a sales agent.

Full payload schema: /v1/schema/commands/update-general-sales-agent

Simple Payload Fields

code
required Sales Agent code
description
optional Sales Agent name/description
emailAddress
optional email address
approverEmailAddress
optional approver email address
salesAgent
optional alias for code
desc2
optional second description

Example Payload

{
  "code": "SAAPI",
  "emailAddress": "sales@example.com",
  "salesAgent": "SAAPI",
  "description": "API Sales Agent",
  "desc2": "Sales Agent second description",
  "approverEmailAddress": "approver@example.com",
  "reason": "correct setup value"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master5 fields
  • SalesAgent string - Sales agent code.
  • Description string - Sales agent name/description.
  • Desc2 string - Optional second description.
  • EmailAddress string - Optional email address.
  • ApproverEmailAddress string - Optional approver email address.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Requires write access permission. Full human payload reference for Sales Agent Maintenance.

list-general-shipping-methodsread

List shipping methods.

Full payload schema: /v1/schema/commands/list-general-shipping-methods

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-general-shipping-methodwrite

Create a shipping method.

Full payload schema: /v1/schema/commands/create-general-shipping-method

Simple Payload Fields

code
required Shipping Method code; shippingMethod is accepted as an alias where shown
description
optional Shipping Method description
isActive
optional boolean active flag
shippingMethod
optional alias for code
desc2
optional second description
remark1
optional remark field 1
remark2
optional remark field 2

Example Payload

{
  "code": "LALAMOVE",
  "description": "API Shipping Method",
  "shippingMethod": "LALAMOVE",
  "desc2": "Shipping Method second description",
  "isActive": true,
  "remark1": "Created by API",
  "remark2": "Shipping Method setup example"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master3 fields
  • ShippingMethod string - Shipping method code.
  • Description string - Shipping method description.
  • IsActive boolean - Whether shipping method is active.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Requires write access permission. Full human payload reference for Shipping Method. Exact fields saved depend on the AutoCount setup SDK exposed for this table.

update-general-shipping-methodwrite

Update a shipping method.

Full payload schema: /v1/schema/commands/update-general-shipping-method

Simple Payload Fields

code
required Shipping Method code; shippingMethod is accepted as an alias where shown
description
optional Shipping Method description
isActive
optional boolean active flag
shippingMethod
optional alias for code
desc2
optional second description
remark1
optional remark field 1
remark2
optional remark field 2

Example Payload

{
  "code": "LALAMOVE",
  "isActive": true,
  "shippingMethod": "LALAMOVE",
  "description": "API Shipping Method",
  "desc2": "Shipping Method second description",
  "remark1": "Created by API",
  "remark2": "Shipping Method setup example",
  "reason": "correct setup value"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master3 fields
  • ShippingMethod string - Shipping method code.
  • Description string - Shipping method description.
  • IsActive boolean - Whether shipping method is active.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Requires write access permission. Full human payload reference for Shipping Method. Exact fields saved depend on the AutoCount setup SDK exposed for this table.

Tax Tax codes, tax entities, tariff, withholding tax, and GST/SST setup reads/writes where safe. 43 commands

Command Native Sections

change-tariff-codewrite

Change a tariff code.

Full payload schema: /v1/schema/commands/change-tariff-code

Simple Payload Fields

oldTariffCode
required old value for oldTariffCode
newTariffCode
required new value for newTariffCode
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example Payload

{
  "oldTariffCode": "OLD-TAR",
  "newTariffCode": "NEW-TAR",
  "confirm": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

change-tax-branch-idwrite

Change a tax branch ID for a taxpayer.

Full payload schema: /v1/schema/commands/change-tax-branch-id

Simple Payload Fields

tin
required taxpayer TIN
oldTaxBranchID
required old value for oldTaxBranchID
newTaxBranchID
required new value for newTaxBranchID
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example Payload

{
  "tin": "C1234567890",
  "oldTaxBranchID": "001",
  "newTaxBranchID": "002",
  "confirm": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

change-tax-codewrite

Change a tax code.

Full payload schema: /v1/schema/commands/change-tax-code

Simple Payload Fields

oldTaxCode
required old value for oldTaxCode
newTaxCode
required new value for newTaxCode
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example Payload

{
  "oldTaxCode": "OLD-TAX",
  "newTaxCode": "NEW-TAX",
  "confirm": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

change-tax-typewrite

Change a tax type (currently write-disabled).

Full payload schema: /v1/schema/commands/change-tax-type

Simple Payload Fields

oldTaxType
required old value for oldTaxType
newTaxType
required new value for newTaxType
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example Payload

{
  "oldTaxType": "OLD-TYPE",
  "newTaxType": "NEW-TYPE",
  "confirm": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities. Current connector mutation is BLOCKED: complete native reference verification is not proven; TSM also lacks the native procedure. Loving procedure availability is not inferred. Schema/preflight availability does not enable writes; no guard bypass or procedure creation is supported.

change-tinwrite

Change a taxpayer TIN.

Full payload schema: /v1/schema/commands/change-tin

Simple Payload Fields

oldTIN
required old value for oldTIN
newTIN
required new value for newTIN
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example Payload

{
  "oldTIN": "C1234567890",
  "newTIN": "C1098765432",
  "confirm": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

change-withholding-tax-codewrite

Change a withholding tax code.

Full payload schema: /v1/schema/commands/change-withholding-tax-code

Simple Payload Fields

oldWithholdingTaxCode
required old value for oldWithholdingTaxCode
newWithholdingTaxCode
required new value for newWithholdingTaxCode
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example Payload

{
  "oldWithholdingTaxCode": "OLD-WHT",
  "newWithholdingTaxCode": "NEW-WHT",
  "confirm": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

merge-tax-entitywrite

Merge one tax entity into another.

Full payload schema: /v1/schema/commands/merge-tax-entity

Simple Payload Fields

oldTaxEntityID
required positive int32 source tax entity ID
taxEntityInfo
required source audit label; not entity data
newTaxEntityID
required positive int32 target tax entity ID, different from oldTaxEntityID
newTaxEntityInfo
required target audit label; not entity data
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Delete permission
confirm
required true for an actual save; not required when validateOnly is true

Example Payload

{
  "oldTaxEntityID": 1,
  "taxEntityInfo": "source audit label",
  "newTaxEntityID": 2,
  "newTaxEntityInfo": "target audit label",
  "confirm": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities. Merge is classified as Delete and is full-actor-only because no tax access-right module exists in the cloud key model. The info strings are audit labels, not entity objects; the connector must resolve both existing entities from their IDs and verify their identity/TIN before calling native MergeTaxEntity.

list-tax-typesread

List all tax codes from the account book.

Full payload schema: /v1/schema/commands/list-tax-types

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount.Tax.TaxCodeMaintenance.TaxCodeCommand.LoadBrowseTable. Alias accepted: list-tax-codes.

get-tax-typeread

Get one tax code by code.

Full payload schema: /v1/schema/commands/get-tax-type

Simple Payload Fields

code
required tax type or tax code
taxCode
optional alias for code

Example Payload

{
  "code": "S-0"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Reads one account-book tax setup row without direct SQL writes. Alias accepted: get-tax-code.

list-tax-codesread

Alias for list-tax-types; lists all AutoCount tax codes.

Full payload schema: /v1/schema/commands/list-tax-codes

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cloud and local connector normalize this to list-tax-types before execution.

get-tax-coderead

Alias for get-tax-type; gets one AutoCount tax code.

Full payload schema: /v1/schema/commands/get-tax-code

Simple Payload Fields

code
required tax code
taxCode
optional alias for code

Example Payload

{
  "taxCode": "S-0"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cloud and local connector normalize this to get-tax-type before execution.

create-tax-typewrite

Create a tax code.

Full payload schema: /v1/schema/commands/create-tax-type

Simple Payload Fields

code
required tax code
description
optional
taxRate
optional rate/percentage
supplyPurchase
optional S or P style AutoCount value
taxAccNo
optional GL tax account
govtTaxCode
optional government tax code
isActive
optional boolean/AutoCount flag
isDefault
optional boolean/AutoCount flag
isZeroRate
optional boolean/AutoCount flag
useTrxTaxAccNo
optional boolean/AutoCount flag
accountingBasis
optional AutoCount accounting basis
addToCost
optional boolean/AutoCount flag

Example Payload

{
  "code": "S-API",
  "description": "API sales tax",
  "taxRate": 8,
  "supplyPurchase": "S",
  "isActive": true
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master4 fields
  • TaxType string - Tax type/code.
  • Description string - Tax description.
  • TaxRate number - Tax rate percentage.
  • SupplyPurchase string - Supply/Purchase side where AutoCount exposes it.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Uses AutoCount.Tax.TaxCodeMaintenance.TaxCodeCommand.NewTaxCode and SaveTaxCode.

update-tax-typewrite

Update a tax code.

Full payload schema: /v1/schema/commands/update-tax-type

Simple Payload Fields

code
required tax code
description
optional
taxRate
optional rate/percentage
supplyPurchase
optional S or P style AutoCount value
taxAccNo
optional GL tax account
govtTaxCode
optional government tax code
isActive
optional boolean/AutoCount flag
isDefault
optional boolean/AutoCount flag
isZeroRate
optional boolean/AutoCount flag
useTrxTaxAccNo
optional boolean/AutoCount flag
accountingBasis
optional AutoCount accounting basis
addToCost
optional boolean/AutoCount flag

Example Payload

{
  "code": "S-API",
  "description": "Updated API sales tax",
  "taxRate": 8,
  "supplyPurchase": "S",
  "isActive": true
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master4 fields
  • TaxType string - Tax type/code.
  • Description string - Tax description.
  • TaxRate number - Tax rate percentage.
  • SupplyPurchase string - Supply/Purchase side where AutoCount exposes it.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Uses AutoCount.Tax.TaxCodeMaintenance.TaxCodeCommand.GetTaxCode and SaveTaxCode.

create-tax-codewrite

Alias for create-tax-type; creates an AutoCount tax code.

Full payload schema: /v1/schema/commands/create-tax-code

Simple Payload Fields

code
required tax code
description
optional
taxRate
optional rate/percentage
supplyPurchase
optional S or P style AutoCount value

Example Payload

{
  "code": "S-API",
  "description": "API sales tax",
  "taxRate": 8,
  "supplyPurchase": "S"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cloud and local connector normalize this to create-tax-type before execution.

update-tax-codewrite

Alias for update-tax-type; updates an AutoCount tax code.

Full payload schema: /v1/schema/commands/update-tax-code

Simple Payload Fields

code
required tax code
description
optional
taxRate
optional rate/percentage
supplyPurchase
optional S or P style AutoCount value

Example Payload

{
  "code": "S-API",
  "description": "Updated API sales tax",
  "taxRate": 8,
  "supplyPurchase": "S"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cloud and local connector normalize this to update-tax-type before execution.

list-tax-entitiesread

List tax entities from the account book.

Full payload schema: /v1/schema/commands/list-tax-entities

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount.Tax.TaxEntityMaintenance.TaxEntityCommand.LoadDataTable.

get-tax-entityread

Get one tax entity by id, code, or name.

Full payload schema: /v1/schema/commands/get-tax-entity

Simple Payload Fields

code
required tax entity id/code/name

Example Payload

{
  "code": "MY"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Reads account-book tax entity data without direct SQL writes.

search-taxpayer-tinread

Search a taxpayer TIN through AutoCount AIP/MyInvois using the account book's e-Invoice settings.

Full payload schema: /v1/schema/commands/search-taxpayer-tin

Simple Payload Fields

idType
required identity type such as BRN, NRIC, PASSPORT, or ARMY
idValue
required identity or registration number
taxpayerName
required registered taxpayer name

Example Payload

{
  "idType": "BRN",
  "idValue": "202101012345",
  "taxpayerName": "EXAMPLE SDN BHD"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master3 fields
  • IdentityType string - Identity type such as BRN, NRIC, PASSPORT, or ARMY.
  • IdentityNo string - Identity or registration number.
  • Name string - Registered taxpayer name.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: No raw AutoCount AIP key is accepted or returned. AutoCount must have an active AIP ID in e-Invoice Setting.

validate-taxpayer-tinread

Validate a taxpayer TIN through AutoCount AIP/MyInvois using the account book's e-Invoice settings.

Full payload schema: /v1/schema/commands/validate-taxpayer-tin

Simple Payload Fields

tin
required tax identification number
idType
required identity type such as BRN, NRIC, PASSPORT, or ARMY
idValue
required identity or registration number

Example Payload

{
  "tin": "C1234567890",
  "idType": "BRN",
  "idValue": "202101012345"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master3 fields
  • TIN string - Tax identification number to validate.
  • IdentityType string - Identity type such as BRN, NRIC, PASSPORT, or ARMY.
  • IdentityNo string - Identity or registration number.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: No raw AutoCount AIP key is accepted or returned. Returns valid=true or false when AutoCount completes the validation.

create-tax-entitywrite

Create a tax entity.

Full payload schema: /v1/schema/commands/create-tax-entity

Simple Payload Fields

name
required company/person name
tin
optional TIN
identityNo
optional identity or registration number
identityType
optional AutoCount/e-Invoice identity type
address
optional address
postCode
optional post code
city
optional city
stateCode
optional state code
countryCode
optional country code
phone
optional phone
emailAddress
optional email
msicCode
optional MSIC code
businessActivityDesc
optional business activity
taxCategory
optional AutoCount tax category
taxClassification
optional AutoCount tax classification
salesTaxRegisterNo
optional
serviceTaxRegisterNo
optional
gstRegisterNo
optional
tourismTaxRegisterNo
optional

Example Payload

{
  "name": "API Tax Entity Sdn Bhd",
  "tin": "C1234567890",
  "identityNo": "202601010001",
  "identityType": "BRN",
  "countryCode": "MYS"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master9 fields
  • TaxEntityID number - AutoCount Tax Entity id.
  • TIN string - Tax identification number.
  • IdentityType string - Identity type such as BRN/MyKAD.
  • IdentityNo string - Identity number.
  • Name string - Tax entity name.
  • MSICCode string - MSIC code.
  • BusinessActivityDesc string - Business activity description.
  • EmailAddress string - Email address.
  • Phone string - Phone number.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Uses AutoCount.Tax.TaxEntityMaintenance.TaxEntityCommand.New and TaxEntity.Save.

update-tax-entitywrite

Update a tax entity.

Full payload schema: /v1/schema/commands/update-tax-entity

Simple Payload Fields

taxEntityID
required numeric TaxEntityID
name
optional company/person name
tin
optional TIN
identityNo
optional identity or registration number
identityType
optional AutoCount/e-Invoice identity type
address
optional address
postCode
optional post code
city
optional city
stateCode
optional state code
countryCode
optional country code
phone
optional phone
emailAddress
optional email
msicCode
optional MSIC code
businessActivityDesc
optional business activity
taxCategory
optional AutoCount tax category
taxClassification
optional AutoCount tax classification
salesTaxRegisterNo
optional
serviceTaxRegisterNo
optional
gstRegisterNo
optional
tourismTaxRegisterNo
optional

Example Payload

{
  "taxEntityID": 1,
  "name": "Updated API Tax Entity Sdn Bhd",
  "countryCode": "MYS"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master9 fields
  • TaxEntityID number - AutoCount Tax Entity id.
  • TIN string - Tax identification number.
  • IdentityType string - Identity type such as BRN/MyKAD.
  • IdentityNo string - Identity number.
  • Name string - Tax entity name.
  • MSICCode string - MSIC code.
  • BusinessActivityDesc string - Business activity description.
  • EmailAddress string - Email address.
  • Phone string - Phone number.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Uses AutoCount.Tax.TaxEntityMaintenance.TaxEntityCommand.Edit and TaxEntity.Save.

list-tariff-codesread

List tariff codes.

Full payload schema: /v1/schema/commands/list-tariff-codes

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount.GeneralMaint.Tariff.TariffCommand.LoadBrowseTable.

get-tariff-coderead

Get one tariff code.

Full payload schema: /v1/schema/commands/get-tariff-code

Simple Payload Fields

code
required tariff code

Example Payload

{
  "code": "API-TAR"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount.GeneralMaint.Tariff.TariffCommand.GetTariff.

create-tariff-codewrite

Create a tariff code.

Full payload schema: /v1/schema/commands/create-tariff-code

Simple Payload Fields

code
required tariff code
description
optional
taxType
optional
bankChargeTaxType
optional
withholdingTaxCode
optional
withholdingTaxRate
optional

Example Payload

{
  "code": "API-TAR",
  "description": "API tariff",
  "taxType": "S-0"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount.GeneralMaint.Tariff.TariffCommand.NewTariff and SaveTariff.

update-tariff-codewrite

Update a tariff code.

Full payload schema: /v1/schema/commands/update-tariff-code

Simple Payload Fields

code
required tariff code
description
optional
taxType
optional
bankChargeTaxType
optional
withholdingTaxCode
optional
withholdingTaxRate
optional

Example Payload

{
  "code": "API-TAR",
  "description": "Updated API tariff"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount.GeneralMaint.Tariff.TariffCommand.GetTariff and SaveTariff.

list-withholding-tax-codesread

List withholding tax codes.

Full payload schema: /v1/schema/commands/list-withholding-tax-codes

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount.Tax.WithholdingTax.WithholdingTaxCommand.LoadBrowseTable.

get-withholding-tax-coderead

Get one withholding tax code.

Full payload schema: /v1/schema/commands/get-withholding-tax-code

Simple Payload Fields

code
required withholding tax code

Example Payload

{
  "code": "WHT-API"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount.Tax.WithholdingTax.WithholdingTaxCommand.GetWithholdingTax.

create-withholding-tax-codewrite

Create a withholding tax code.

Full payload schema: /v1/schema/commands/create-withholding-tax-code

Simple Payload Fields

code
required withholding tax code
withholdingTaxRate
optional rate
withholdingTaxAccNo
optional GL account
description
optional

Example Payload

{
  "code": "WHT-API",
  "withholdingTaxRate": 2,
  "description": "API withholding tax"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount.Tax.WithholdingTax.WithholdingTaxCommand.NewWithholdingTax and SaveWithholdingTax.

update-withholding-tax-codewrite

Update a withholding tax code.

Full payload schema: /v1/schema/commands/update-withholding-tax-code

Simple Payload Fields

code
required withholding tax code
withholdingTaxRate
optional rate
withholdingTaxAccNo
optional GL account
description
optional

Example Payload

{
  "code": "WHT-API",
  "withholdingTaxRate": 3
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount.Tax.WithholdingTax.WithholdingTaxCommand.GetWithholdingTax and SaveWithholdingTax.

read-gst-settingsread

Read GST settings.

Full payload schema: /v1/schema/commands/read-gst-settings

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Reads settings from available account-book GST tables.

update-gst-settingswrite

Guarded GST settings update request.

Full payload schema: /v1/schema/commands/update-gst-settings

Simple Payload Fields

reason
required business reason
settings
object with intended setting changes

Example Payload

{
  "reason": "configure tax period",
  "settings": {}
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns editBlocked until the exact AutoCount SDK save workflow is proven.

read-sst-settingsread

Read SST settings.

Full payload schema: /v1/schema/commands/read-sst-settings

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Reads settings from available account-book SST tables.

update-sst-settingswrite

Guarded SST settings update request.

Full payload schema: /v1/schema/commands/update-sst-settings

Simple Payload Fields

reason
required business reason
settings
object with intended setting changes

Example Payload

{
  "reason": "configure SST period",
  "settings": {}
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns editBlocked until the exact AutoCount SDK save workflow is proven.

list-gst-processorsread

List GST processors.

Full payload schema: /v1/schema/commands/list-gst-processors

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount.Tax.MalaysiaGST.GSTProcessor.GSTProcessorCommand.LoadGSTProcessorTable.

get-gst-processorread

Get one GST processor by key.

Full payload schema: /v1/schema/commands/get-gst-processor

Simple Payload Fields

key
required processor key

Example Payload

{
  "key": 1
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount.Tax.MalaysiaGST.GSTProcessor.GSTProcessorCommand.ViewGSTProcessor.

create-gst-processorwrite

Guarded GST processor create request.

Full payload schema: /v1/schema/commands/create-gst-processor

Simple Payload Fields

fromDate
YYYY-MM-DD optional
toDate
YYYY-MM-DD optional
reason
required business reason

Example Payload

{
  "fromDate": "2026-01-01",
  "toDate": "2026-03-31",
  "reason": "prepare GST return"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns createBlocked until fresh-account-book proof confirms generated journals, audit trail, and recovery behavior.

update-gst-processorwrite

Guarded GST processor edit request.

Full payload schema: /v1/schema/commands/update-gst-processor

Simple Payload Fields

key
required processor key
reason
required business reason

Example Payload

{
  "key": 1,
  "reason": "correct period"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns editBlocked until fresh-account-book proof confirms generated journals, audit trail, and recovery behavior.

list-sst-processorsread

List SST processors.

Full payload schema: /v1/schema/commands/list-sst-processors

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount.Tax.MalaysiaGST.SSTProcessor.SSTProcessorCommand.LoadSSTProcessorTable.

get-sst-processorread

Get one SST processor by key.

Full payload schema: /v1/schema/commands/get-sst-processor

Simple Payload Fields

key
required processor key

Example Payload

{
  "key": 1
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount.Tax.MalaysiaGST.SSTProcessor.SSTProcessorCommand.ViewSSTProcessor.

create-sst-processorwrite

Guarded SST processor create request.

Full payload schema: /v1/schema/commands/create-sst-processor

Simple Payload Fields

fromDate
YYYY-MM-DD optional
toDate
YYYY-MM-DD optional
reason
required business reason

Example Payload

{
  "fromDate": "2026-01-01",
  "toDate": "2026-02-28",
  "reason": "prepare SST return"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns createBlocked until fresh-account-book proof confirms generated journals, audit trail, and recovery behavior.

update-sst-processorwrite

Guarded SST processor edit request.

Full payload schema: /v1/schema/commands/update-sst-processor

Simple Payload Fields

key
required processor key
reason
required business reason

Example Payload

{
  "key": 1,
  "reason": "correct period"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns editBlocked until fresh-account-book proof confirms generated journals, audit trail, and recovery behavior.

create-gst-paymentwrite

Guarded GST payment request.

Full payload schema: /v1/schema/commands/create-gst-payment

Simple Payload Fields

processorKey
required GST processor key
paymentDate
YYYY-MM-DD optional
reason
required business reason

Example Payload

{
  "processorKey": 1,
  "paymentDate": "2026-04-30",
  "reason": "record GST payment"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns createBlocked until fresh-account-book proof confirms the AutoCount GSTPaymentCommand workflow.

create-sst-paymentwrite

Guarded SST payment request.

Full payload schema: /v1/schema/commands/create-sst-payment

Simple Payload Fields

processorKey
required SST processor key
paymentDate
YYYY-MM-DD optional
reason
required business reason

Example Payload

{
  "processorKey": 1,
  "paymentDate": "2026-03-31",
  "reason": "record SST payment"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns createBlocked until fresh-account-book proof confirms the AutoCount SSTPaymentCommand workflow.

Sales Sales invoice, sales order, delivery order, cash sale, quotation, credit note, and debit note. 90 commands

Command Native Sections

change-sales-agentwrite

Change a sales agent code.

Full payload schema: /v1/schema/commands/change-sales-agent

Simple Payload Fields

oldAgent
required old value for oldAgent
newAgent
required new value for newAgent
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example Payload

{
  "oldAgent": "OLD-AGENT",
  "newAgent": "NEW-AGENT",
  "confirm": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

validate-sales-invoiceread

Validate a sales invoice without saving.

Full payload schema: /v1/schema/commands/validate-sales-invoice

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
items
optional alias for lines
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example Payload

{
  "debtorCode": "300-A001",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "docDate": "2026-06-24",
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master23 fields
  • DocNo string - Sales document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
Details22 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails2 fields
  • DocType string - Source document type such as SO or DO.
  • DocNo string - Source document number.
PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • SaveAsDraft boolean - Save document as draft if supported.
  • DocNoFormatName string - Document numbering format name.

Notes: Validation only; does not save. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

cancel-sales-invoicewrite

Cancel a sales invoice when AutoCount allows it.

Full payload schema: /v1/schema/commands/cancel-sales-invoice

Simple Payload Fields

docNo
required document number
reason
optional cancellation reason

Example Payload

{
  "docNo": "IV-000001",
  "reason": "cancelled by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cancellation depends on AutoCount posting/link status and account-book permissions.

void-sales-invoicewrite

Void a sales invoice while keeping audit trail.

Full payload schema: /v1/schema/commands/void-sales-invoice

Simple Payload Fields

docNo
required document number
reason
optional void reason

Example Payload

{
  "docNo": "IV-000001",
  "reason": "voided by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount CancelDocument and returns operationUsed: CancelDocument. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

delete-sales-invoicewrite

Delete/void request for a sales invoice.

Full payload schema: /v1/schema/commands/delete-sales-invoice

Simple Payload Fields

docNo
required document number
reason
optional delete reason

Example Payload

{
  "docNo": "IV-000001",
  "reason": "deleted by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Safely maps to AutoCount cancellation/void behavior. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

update-sales-invoicewrite

Update sales invoice header/contact fields and supported detail rows.

Full payload schema: /v1/schema/commands/update-sales-invoice

Simple Payload Fields

docNo
required existing document number (selector)
reason
required business reason
docDate
optional Document date. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorCode
optional Customer/debtor code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorName
optional Customer display name. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
agent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgentCode
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deliverAddress1
optional Delivery address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
ref
optional Reference. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
description
optional Header description. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
displayTerm
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
term
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone1
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
attention
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
contact
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
branchCode
optional Branch code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyCode
optional Currency code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyRate
optional Currency rate. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
withholdingTaxVersion
optional Optional native enum only when this document exposes the field. Omission preserves the existing value. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
note
optional Note. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark1
optional Remark 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark2
optional Remark 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark3
optional Remark 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark4
optional Remark 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
refDocNo
optional Reference document number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipVia
optional Shipping method. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipInfo
optional Shipping info. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesLocation
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
location
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
userDefinedFields
optional Existing SDK-materialized UDF fields; exact reload verification required. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
Master
optional header object of public SDK scalar fields
nativeFields
optional native header container: { Master: { SDKField: value } }
validateOnly
optional boolean; true runs native preflight without Save, returning saved:false; no persistence proof
detailMode
explicit update | append | replace | delete when editing lines; omit lines and detailMode for header-only updates
lines
optional detail array; update/delete select existing rows by dtlKey; append adds rows; replace replaces the detail set

Example Payload

{
  "docNo": "IV-000001",
  "reason": "Correct customer reference",
  "ref": "Updated reference"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master25 fields
  • DocNo string - Existing document/detail selector, not a writable key.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Optional native enum only when this document exposes the field. Omission preserves the existing value.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • SalesLocation string - Sales location where supported.
  • UserDefinedFields object - Existing SDK-materialized UDF fields; exact reload verification required.
Details23 fields
  • DtlKey number - Existing document/detail selector, not a writable key.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Optional native enum only when this document exposes the field. Omission preserves the existing value.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
  • UserDefinedFields object - Existing SDK-materialized UDF fields; exact reload verification required.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Strict Sales update: editable SDK scalar fields via friendly fields, Master or nativeFields.Master; details via lines with explicit detailMode and existing dtlKey for update/delete. Omitted fields stay unchanged; explicit null/empty clears only optional fields. Unknown, unavailable, calculated, system and lifecycle fields are rejected before Save. Existing UDFs must be present in the SDK schema; no invented columns. validateOnly:true runs native preflight without Save and is not persistence certification. Save success requires a fresh SDK reload with writeVerification.matched=true, identity and linkage verification. saved:true with ok:false means a persisted mismatch or failed verification, not rollback; inspect the existing document and never recreate it automatically. Existing payment, transfer, package and eInvoice protections remain. Runtime get-document fields/fieldCapabilities expose SDK field discovery and fields.readErrors; availability varies by document and account book. Native acceptance covers reference/detail descriptions across eight Sales types and one final-build Sales Order price change, not all fields or SDK versions. Generic native UDF saves remain unproven. Cash Sale creation did not persist its fixture payment; this is a separate unresolved create-path issue. Update acceptance covers that existing unpaid Cash Sale only, not paid-CS support. See docs/document-update-fields.md.

validate-sales-orderread

Validate a sales order without saving.

Full payload schema: /v1/schema/commands/validate-sales-order

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
items
optional alias for lines
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example Payload

{
  "debtorCode": "300-A001",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "docDate": "2026-06-24",
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master23 fields
  • DocNo string - Sales document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
Details22 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails2 fields
  • DocType string - Source document type such as SO or DO.
  • DocNo string - Source document number.
PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • SaveAsDraft boolean - Save document as draft if supported.
  • DocNoFormatName string - Document numbering format name.

Notes: Validation only; does not save. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

cancel-sales-orderwrite

Cancel a sales order when AutoCount allows it.

Full payload schema: /v1/schema/commands/cancel-sales-order

Simple Payload Fields

docNo
required document number
reason
optional cancellation reason

Example Payload

{
  "docNo": "SO-000001",
  "reason": "cancelled by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cancellation depends on AutoCount posting/link status and account-book permissions.

void-sales-orderwrite

Void a sales order while keeping audit trail.

Full payload schema: /v1/schema/commands/void-sales-order

Simple Payload Fields

docNo
required document number
reason
optional void reason

Example Payload

{
  "docNo": "SO-000001",
  "reason": "voided by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount CancelDocument and returns operationUsed: CancelDocument. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

delete-sales-orderwrite

Delete/void request for a sales order.

Full payload schema: /v1/schema/commands/delete-sales-order

Simple Payload Fields

docNo
required document number
reason
optional delete reason

Example Payload

{
  "docNo": "SO-000001",
  "reason": "deleted by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Safely maps to AutoCount cancellation/void behavior. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

update-sales-orderwrite

Update sales order header/contact fields and supported detail rows.

Full payload schema: /v1/schema/commands/update-sales-order

Simple Payload Fields

docNo
required existing document number (selector)
reason
required business reason
docDate
optional Document date. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorCode
optional Customer/debtor code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorName
optional Customer display name. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
agent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgentCode
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deliverAddress1
optional Delivery address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
ref
optional Reference. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
description
optional Header description. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
displayTerm
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
term
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone1
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
attention
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
contact
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
branchCode
optional Branch code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyCode
optional Currency code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyRate
optional Currency rate. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
withholdingTaxVersion
optional Optional native enum only when this document exposes the field. Omission preserves the existing value. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
note
optional Note. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark1
optional Remark 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark2
optional Remark 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark3
optional Remark 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark4
optional Remark 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
refDocNo
optional Reference document number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipVia
optional Shipping method. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipInfo
optional Shipping info. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesLocation
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
location
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
userDefinedFields
optional Existing SDK-materialized UDF fields; exact reload verification required. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
Master
optional header object of public SDK scalar fields
nativeFields
optional native header container: { Master: { SDKField: value } }
validateOnly
optional boolean; true runs native preflight without Save, returning saved:false; no persistence proof
detailMode
explicit update | append | replace | delete when editing lines; omit lines and detailMode for header-only updates
lines
optional detail array; update/delete select existing rows by dtlKey; append adds rows; replace replaces the detail set

Example Payload

{
  "docNo": "SO-000001",
  "reason": "Correct customer reference",
  "ref": "Updated reference"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master25 fields
  • DocNo string - Existing document/detail selector, not a writable key.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Optional native enum only when this document exposes the field. Omission preserves the existing value.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • SalesLocation string - Sales location where supported.
  • UserDefinedFields object - Existing SDK-materialized UDF fields; exact reload verification required.
Details23 fields
  • DtlKey number - Existing document/detail selector, not a writable key.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Optional native enum only when this document exposes the field. Omission preserves the existing value.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
  • UserDefinedFields object - Existing SDK-materialized UDF fields; exact reload verification required.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Strict Sales update: editable SDK scalar fields via friendly fields, Master or nativeFields.Master; details via lines with explicit detailMode and existing dtlKey for update/delete. Omitted fields stay unchanged; explicit null/empty clears only optional fields. Unknown, unavailable, calculated, system and lifecycle fields are rejected before Save. Existing UDFs must be present in the SDK schema; no invented columns. validateOnly:true runs native preflight without Save and is not persistence certification. Save success requires a fresh SDK reload with writeVerification.matched=true, identity and linkage verification. saved:true with ok:false means a persisted mismatch or failed verification, not rollback; inspect the existing document and never recreate it automatically. Existing payment, transfer, package and eInvoice protections remain. Runtime get-document fields/fieldCapabilities expose SDK field discovery and fields.readErrors; availability varies by document and account book. Native acceptance covers reference/detail descriptions across eight Sales types and one final-build Sales Order price change, not all fields or SDK versions. Generic native UDF saves remain unproven. Cash Sale creation did not persist its fixture payment; this is a separate unresolved create-path issue. Update acceptance covers that existing unpaid Cash Sale only, not paid-CS support. See docs/document-update-fields.md.

validate-delivery-orderread

Validate a delivery order without saving.

Full payload schema: /v1/schema/commands/validate-delivery-order

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
items
optional alias for lines
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example Payload

{
  "debtorCode": "300-A001",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "docDate": "2026-06-24",
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master23 fields
  • DocNo string - Sales document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
Details22 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails2 fields
  • DocType string - Source document type such as SO or DO.
  • DocNo string - Source document number.
PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • SaveAsDraft boolean - Save document as draft if supported.
  • DocNoFormatName string - Document numbering format name.

Notes: Validation only; does not save. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

cancel-delivery-orderwrite

Cancel a delivery order when AutoCount allows it.

Full payload schema: /v1/schema/commands/cancel-delivery-order

Simple Payload Fields

docNo
required document number
reason
optional cancellation reason

Example Payload

{
  "docNo": "DO-000001",
  "reason": "cancelled by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cancellation depends on AutoCount posting/link status and account-book permissions.

void-delivery-orderwrite

Void a delivery order while keeping audit trail.

Full payload schema: /v1/schema/commands/void-delivery-order

Simple Payload Fields

docNo
required document number
reason
optional void reason

Example Payload

{
  "docNo": "DO-000001",
  "reason": "voided by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount CancelDocument and returns operationUsed: CancelDocument. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

delete-delivery-orderwrite

Delete/void request for a delivery order.

Full payload schema: /v1/schema/commands/delete-delivery-order

Simple Payload Fields

docNo
required document number
reason
optional delete reason

Example Payload

{
  "docNo": "DO-000001",
  "reason": "deleted by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Safely maps to AutoCount cancellation/void behavior. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

update-delivery-orderwrite

Update delivery order header/contact fields and supported detail rows.

Full payload schema: /v1/schema/commands/update-delivery-order

Simple Payload Fields

docNo
required existing document number (selector)
reason
required business reason
docDate
optional Document date. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorCode
optional Customer/debtor code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorName
optional Customer display name. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
agent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgentCode
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deliverAddress1
optional Delivery address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
ref
optional Reference. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
description
optional Header description. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
displayTerm
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
term
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone1
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
attention
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
contact
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
branchCode
optional Branch code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyCode
optional Currency code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyRate
optional Currency rate. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
withholdingTaxVersion
optional Optional native enum only when this document exposes the field. Omission preserves the existing value. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
note
optional Note. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark1
optional Remark 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark2
optional Remark 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark3
optional Remark 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark4
optional Remark 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
refDocNo
optional Reference document number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipVia
optional Shipping method. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipInfo
optional Shipping info. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesLocation
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
location
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
userDefinedFields
optional Existing SDK-materialized UDF fields; exact reload verification required. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
Master
optional header object of public SDK scalar fields
nativeFields
optional native header container: { Master: { SDKField: value } }
validateOnly
optional boolean; true runs native preflight without Save, returning saved:false; no persistence proof
detailMode
explicit update | append | replace | delete when editing lines; omit lines and detailMode for header-only updates
lines
optional detail array; update/delete select existing rows by dtlKey; append adds rows; replace replaces the detail set

Example Payload

{
  "docNo": "DO-000001",
  "reason": "Correct customer reference",
  "ref": "Updated reference"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master25 fields
  • DocNo string - Existing document/detail selector, not a writable key.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Optional native enum only when this document exposes the field. Omission preserves the existing value.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • SalesLocation string - Sales location where supported.
  • UserDefinedFields object - Existing SDK-materialized UDF fields; exact reload verification required.
Details23 fields
  • DtlKey number - Existing document/detail selector, not a writable key.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Optional native enum only when this document exposes the field. Omission preserves the existing value.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
  • UserDefinedFields object - Existing SDK-materialized UDF fields; exact reload verification required.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Strict Sales update: editable SDK scalar fields via friendly fields, Master or nativeFields.Master; details via lines with explicit detailMode and existing dtlKey for update/delete. Omitted fields stay unchanged; explicit null/empty clears only optional fields. Unknown, unavailable, calculated, system and lifecycle fields are rejected before Save. Existing UDFs must be present in the SDK schema; no invented columns. validateOnly:true runs native preflight without Save and is not persistence certification. Save success requires a fresh SDK reload with writeVerification.matched=true, identity and linkage verification. saved:true with ok:false means a persisted mismatch or failed verification, not rollback; inspect the existing document and never recreate it automatically. Existing payment, transfer, package and eInvoice protections remain. Runtime get-document fields/fieldCapabilities expose SDK field discovery and fields.readErrors; availability varies by document and account book. Native acceptance covers reference/detail descriptions across eight Sales types and one final-build Sales Order price change, not all fields or SDK versions. Generic native UDF saves remain unproven. Cash Sale creation did not persist its fixture payment; this is a separate unresolved create-path issue. Update acceptance covers that existing unpaid Cash Sale only, not paid-CS support. See docs/document-update-fields.md.

validate-cash-saleread

Validate a cash sale without saving.

Full payload schema: /v1/schema/commands/validate-cash-sale

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
items
optional alias for lines
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example Payload

{
  "debtorCode": "300-A001",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "docDate": "2026-06-24",
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master23 fields
  • DocNo string - Sales document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
Details22 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails2 fields
  • DocType string - Source document type such as SO or DO.
  • DocNo string - Source document number.
PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • SaveAsDraft boolean - Save document as draft if supported.
  • DocNoFormatName string - Document numbering format name.

Notes: Validation only; does not save. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

cancel-cash-salewrite

Cancel a cash sale when AutoCount allows it.

Full payload schema: /v1/schema/commands/cancel-cash-sale

Simple Payload Fields

docNo
required document number
reason
optional cancellation reason

Example Payload

{
  "docNo": "CS-000001",
  "reason": "cancelled by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cancellation depends on AutoCount posting/link status and account-book permissions.

void-cash-salewrite

Void a cash sale while keeping audit trail.

Full payload schema: /v1/schema/commands/void-cash-sale

Simple Payload Fields

docNo
required document number
reason
optional void reason

Example Payload

{
  "docNo": "CS-000001",
  "reason": "voided by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount CancelDocument and returns operationUsed: CancelDocument. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

delete-cash-salewrite

Delete/void request for a cash sale.

Full payload schema: /v1/schema/commands/delete-cash-sale

Simple Payload Fields

docNo
required document number
reason
optional delete reason

Example Payload

{
  "docNo": "CS-000001",
  "reason": "deleted by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Safely maps to AutoCount cancellation/void behavior. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

update-cash-salewrite

Update cash sale header/contact fields and supported detail rows.

Full payload schema: /v1/schema/commands/update-cash-sale

Simple Payload Fields

docNo
required existing document number (selector)
reason
required business reason
docDate
optional Document date. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorCode
optional Customer/debtor code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorName
optional Customer display name. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
agent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgentCode
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deliverAddress1
optional Delivery address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
ref
optional Reference. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
description
optional Header description. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
displayTerm
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
term
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone1
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
attention
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
contact
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
branchCode
optional Branch code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyCode
optional Currency code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyRate
optional Currency rate. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
withholdingTaxVersion
optional Optional native enum only when this document exposes the field. Omission preserves the existing value. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
note
optional Note. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark1
optional Remark 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark2
optional Remark 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark3
optional Remark 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark4
optional Remark 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
refDocNo
optional Reference document number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipVia
optional Shipping method. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipInfo
optional Shipping info. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesLocation
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
location
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
userDefinedFields
optional Existing SDK-materialized UDF fields; exact reload verification required. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
Master
optional header object of public SDK scalar fields
nativeFields
optional native header container: { Master: { SDKField: value } }
validateOnly
optional boolean; true runs native preflight without Save, returning saved:false; no persistence proof
detailMode
explicit update | append | replace | delete when editing lines; omit lines and detailMode for header-only updates
lines
optional detail array; update/delete select existing rows by dtlKey; append adds rows; replace replaces the detail set

Example Payload

{
  "docNo": "CS-000001",
  "reason": "Correct customer reference",
  "ref": "Updated reference"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master25 fields
  • DocNo string - Existing document/detail selector, not a writable key.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Optional native enum only when this document exposes the field. Omission preserves the existing value.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • SalesLocation string - Sales location where supported.
  • UserDefinedFields object - Existing SDK-materialized UDF fields; exact reload verification required.
Details23 fields
  • DtlKey number - Existing document/detail selector, not a writable key.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Optional native enum only when this document exposes the field. Omission preserves the existing value.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
  • UserDefinedFields object - Existing SDK-materialized UDF fields; exact reload verification required.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Strict Sales update: editable SDK scalar fields via friendly fields, Master or nativeFields.Master; details via lines with explicit detailMode and existing dtlKey for update/delete. Omitted fields stay unchanged; explicit null/empty clears only optional fields. Unknown, unavailable, calculated, system and lifecycle fields are rejected before Save. Existing UDFs must be present in the SDK schema; no invented columns. validateOnly:true runs native preflight without Save and is not persistence certification. Save success requires a fresh SDK reload with writeVerification.matched=true, identity and linkage verification. saved:true with ok:false means a persisted mismatch or failed verification, not rollback; inspect the existing document and never recreate it automatically. Existing payment, transfer, package and eInvoice protections remain. Runtime get-document fields/fieldCapabilities expose SDK field discovery and fields.readErrors; availability varies by document and account book. Native acceptance covers reference/detail descriptions across eight Sales types and one final-build Sales Order price change, not all fields or SDK versions. Generic native UDF saves remain unproven. Cash Sale creation did not persist its fixture payment; this is a separate unresolved create-path issue. Update acceptance covers that existing unpaid Cash Sale only, not paid-CS support. See docs/document-update-fields.md.

validate-quotationread

Validate a quotation without saving.

Full payload schema: /v1/schema/commands/validate-quotation

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
items
optional alias for lines
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example Payload

{
  "debtorCode": "300-A001",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "docDate": "2026-06-24",
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master23 fields
  • DocNo string - Sales document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
Details22 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails2 fields
  • DocType string - Source document type such as SO or DO.
  • DocNo string - Source document number.
PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • SaveAsDraft boolean - Save document as draft if supported.
  • DocNoFormatName string - Document numbering format name.

Notes: Validation only; does not save. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

cancel-quotationwrite

Cancel a quotation when AutoCount allows it.

Full payload schema: /v1/schema/commands/cancel-quotation

Simple Payload Fields

docNo
required document number
reason
optional cancellation reason

Example Payload

{
  "docNo": "QT-000001",
  "reason": "cancelled by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cancellation depends on AutoCount posting/link status and account-book permissions.

void-quotationwrite

Void a quotation while keeping audit trail.

Full payload schema: /v1/schema/commands/void-quotation

Simple Payload Fields

docNo
required document number
reason
optional void reason

Example Payload

{
  "docNo": "QT-000001",
  "reason": "voided by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount CancelDocument and returns operationUsed: CancelDocument. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

delete-quotationwrite

Delete/void request for a quotation.

Full payload schema: /v1/schema/commands/delete-quotation

Simple Payload Fields

docNo
required document number
reason
optional delete reason

Example Payload

{
  "docNo": "QT-000001",
  "reason": "deleted by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Safely maps to AutoCount cancellation/void behavior. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

update-quotationwrite

Update quotation header/contact fields and supported detail rows.

Full payload schema: /v1/schema/commands/update-quotation

Simple Payload Fields

docNo
required existing document number (selector)
reason
required business reason
docDate
optional Document date. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorCode
optional Customer/debtor code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorName
optional Customer display name. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
agent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgentCode
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deliverAddress1
optional Delivery address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
ref
optional Reference. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
description
optional Header description. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
displayTerm
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
term
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone1
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
attention
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
contact
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
branchCode
optional Branch code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyCode
optional Currency code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyRate
optional Currency rate. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
withholdingTaxVersion
optional Optional native enum only when this document exposes the field. Omission preserves the existing value. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
note
optional Note. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark1
optional Remark 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark2
optional Remark 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark3
optional Remark 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark4
optional Remark 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
refDocNo
optional Reference document number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipVia
optional Shipping method. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipInfo
optional Shipping info. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesLocation
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
location
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
userDefinedFields
optional Existing SDK-materialized UDF fields; exact reload verification required. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
Master
optional header object of public SDK scalar fields
nativeFields
optional native header container: { Master: { SDKField: value } }
validateOnly
optional boolean; true runs native preflight without Save, returning saved:false; no persistence proof
detailMode
explicit update | append | replace | delete when editing lines; omit lines and detailMode for header-only updates
lines
optional detail array; update/delete select existing rows by dtlKey; append adds rows; replace replaces the detail set

Example Payload

{
  "docNo": "QT-000001",
  "reason": "Correct customer reference",
  "ref": "Updated reference"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master25 fields
  • DocNo string - Existing document/detail selector, not a writable key.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Optional native enum only when this document exposes the field. Omission preserves the existing value.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • SalesLocation string - Sales location where supported.
  • UserDefinedFields object - Existing SDK-materialized UDF fields; exact reload verification required.
Details23 fields
  • DtlKey number - Existing document/detail selector, not a writable key.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Optional native enum only when this document exposes the field. Omission preserves the existing value.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
  • UserDefinedFields object - Existing SDK-materialized UDF fields; exact reload verification required.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Strict Sales update: editable SDK scalar fields via friendly fields, Master or nativeFields.Master; details via lines with explicit detailMode and existing dtlKey for update/delete. Omitted fields stay unchanged; explicit null/empty clears only optional fields. Unknown, unavailable, calculated, system and lifecycle fields are rejected before Save. Existing UDFs must be present in the SDK schema; no invented columns. validateOnly:true runs native preflight without Save and is not persistence certification. Save success requires a fresh SDK reload with writeVerification.matched=true, identity and linkage verification. saved:true with ok:false means a persisted mismatch or failed verification, not rollback; inspect the existing document and never recreate it automatically. Existing payment, transfer, package and eInvoice protections remain. Runtime get-document fields/fieldCapabilities expose SDK field discovery and fields.readErrors; availability varies by document and account book. Native acceptance covers reference/detail descriptions across eight Sales types and one final-build Sales Order price change, not all fields or SDK versions. Generic native UDF saves remain unproven. Cash Sale creation did not persist its fixture payment; this is a separate unresolved create-path issue. Update acceptance covers that existing unpaid Cash Sale only, not paid-CS support. See docs/document-update-fields.md.

validate-advanced-quotationread

Validate a advanced quotation without saving.

Full payload schema: /v1/schema/commands/validate-advanced-quotation

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
items
optional alias for lines
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example Payload

{
  "debtorCode": "300-A001",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "docDate": "2026-06-24",
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master23 fields
  • DocNo string - Sales document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
Details22 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails2 fields
  • DocType string - Source document type such as SO or DO.
  • DocNo string - Source document number.
PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • SaveAsDraft boolean - Save document as draft if supported.
  • DocNoFormatName string - Document numbering format name.

Notes: Validation only; does not save. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

cancel-advanced-quotationwrite

Cancel a advanced quotation when AutoCount allows it.

Full payload schema: /v1/schema/commands/cancel-advanced-quotation

Simple Payload Fields

docNo
required document number
reason
optional cancellation reason

Example Payload

{
  "docNo": "AQ-000001",
  "reason": "cancelled by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cancellation depends on AutoCount posting/link status and account-book permissions.

void-advanced-quotationwrite

Void a advanced quotation while keeping audit trail.

Full payload schema: /v1/schema/commands/void-advanced-quotation

Simple Payload Fields

docNo
required document number
reason
optional void reason

Example Payload

{
  "docNo": "AQ-000001",
  "reason": "voided by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount CancelDocument and returns operationUsed: CancelDocument. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

delete-advanced-quotationwrite

Delete/void request for a advanced quotation.

Full payload schema: /v1/schema/commands/delete-advanced-quotation

Simple Payload Fields

docNo
required document number
reason
optional delete reason

Example Payload

{
  "docNo": "AQ-000001",
  "reason": "deleted by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Safely maps to AutoCount cancellation/void behavior. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

update-advanced-quotationwrite

Update advanced quotation header/contact fields and supported detail rows.

Full payload schema: /v1/schema/commands/update-advanced-quotation

Simple Payload Fields

docNo
required existing document number (selector)
reason
required business reason
docDate
optional Document date. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorCode
optional Customer/debtor code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorName
optional Customer display name. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
agent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgentCode
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deliverAddress1
optional Delivery address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
ref
optional Reference. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
description
optional Header description. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
displayTerm
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
term
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone1
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
attention
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
contact
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
branchCode
optional Branch code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyCode
optional Currency code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyRate
optional Currency rate. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
withholdingTaxVersion
optional Optional native enum only when this document exposes the field. Omission preserves the existing value. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
note
optional Note. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark1
optional Remark 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark2
optional Remark 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark3
optional Remark 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark4
optional Remark 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
refDocNo
optional Reference document number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipVia
optional Shipping method. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipInfo
optional Shipping info. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesLocation
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
location
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
userDefinedFields
optional Existing SDK-materialized UDF fields; exact reload verification required. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
Master
optional header object of public SDK scalar fields
nativeFields
optional native header container: { Master: { SDKField: value } }
validateOnly
optional boolean; true runs native preflight without Save, returning saved:false; no persistence proof
detailMode
explicit update | append | replace | delete when editing lines; omit lines and detailMode for header-only updates
lines
optional detail array; update/delete select existing rows by dtlKey; append adds rows; replace replaces the detail set

Example Payload

{
  "docNo": "AQ-000001",
  "reason": "Correct customer reference",
  "ref": "Updated reference"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master25 fields
  • DocNo string - Existing document/detail selector, not a writable key.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Optional native enum only when this document exposes the field. Omission preserves the existing value.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • SalesLocation string - Sales location where supported.
  • UserDefinedFields object - Existing SDK-materialized UDF fields; exact reload verification required.
Details23 fields
  • DtlKey number - Existing document/detail selector, not a writable key.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Optional native enum only when this document exposes the field. Omission preserves the existing value.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
  • UserDefinedFields object - Existing SDK-materialized UDF fields; exact reload verification required.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Strict Sales update: editable SDK scalar fields via friendly fields, Master or nativeFields.Master; details via lines with explicit detailMode and existing dtlKey for update/delete. Omitted fields stay unchanged; explicit null/empty clears only optional fields. Unknown, unavailable, calculated, system and lifecycle fields are rejected before Save. Existing UDFs must be present in the SDK schema; no invented columns. validateOnly:true runs native preflight without Save and is not persistence certification. Save success requires a fresh SDK reload with writeVerification.matched=true, identity and linkage verification. saved:true with ok:false means a persisted mismatch or failed verification, not rollback; inspect the existing document and never recreate it automatically. Existing payment, transfer, package and eInvoice protections remain. Runtime get-document fields/fieldCapabilities expose SDK field discovery and fields.readErrors; availability varies by document and account book. Native acceptance covers reference/detail descriptions across eight Sales types and one final-build Sales Order price change, not all fields or SDK versions. Generic native UDF saves remain unproven. Cash Sale creation did not persist its fixture payment; this is a separate unresolved create-path issue. Update acceptance covers that existing unpaid Cash Sale only, not paid-CS support. See docs/document-update-fields.md.

validate-sales-credit-noteread

Validate a sales credit note without saving.

Full payload schema: /v1/schema/commands/validate-sales-credit-note

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
items
optional alias for lines
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example Payload

{
  "debtorCode": "300-A001",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "docDate": "2026-06-24",
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master23 fields
  • DocNo string - Sales document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
Details22 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails2 fields
  • DocType string - Source document type such as SO or DO.
  • DocNo string - Source document number.
PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • SaveAsDraft boolean - Save document as draft if supported.
  • DocNoFormatName string - Document numbering format name.

Notes: Validation only; does not save. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

cancel-sales-credit-notewrite

Cancel a sales credit note when AutoCount allows it.

Full payload schema: /v1/schema/commands/cancel-sales-credit-note

Simple Payload Fields

docNo
required document number
reason
optional cancellation reason

Example Payload

{
  "docNo": "CN-000001",
  "reason": "cancelled by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cancellation depends on AutoCount posting/link status and account-book permissions.

void-sales-credit-notewrite

Void a sales credit note while keeping audit trail.

Full payload schema: /v1/schema/commands/void-sales-credit-note

Simple Payload Fields

docNo
required document number
reason
optional void reason

Example Payload

{
  "docNo": "CN-000001",
  "reason": "voided by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount CancelDocument and returns operationUsed: CancelDocument. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

delete-sales-credit-notewrite

Delete/void request for a sales credit note.

Full payload schema: /v1/schema/commands/delete-sales-credit-note

Simple Payload Fields

docNo
required document number
reason
optional delete reason

Example Payload

{
  "docNo": "CN-000001",
  "reason": "deleted by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Safely maps to AutoCount cancellation/void behavior. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

update-sales-credit-notewrite

Update sales credit note header/contact fields and supported detail rows.

Full payload schema: /v1/schema/commands/update-sales-credit-note

Simple Payload Fields

docNo
required existing document number (selector)
reason
required business reason
docDate
optional Document date. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorCode
optional Customer/debtor code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorName
optional Customer display name. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
agent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgentCode
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deliverAddress1
optional Delivery address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
ref
optional Reference. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
description
optional Header description. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
displayTerm
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
term
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone1
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
attention
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
contact
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
branchCode
optional Branch code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyCode
optional Currency code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyRate
optional Currency rate. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
withholdingTaxVersion
optional Optional native enum only when this document exposes the field. Omission preserves the existing value. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
note
optional Note. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark1
optional Remark 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark2
optional Remark 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark3
optional Remark 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark4
optional Remark 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
refDocNo
optional Reference document number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipVia
optional Shipping method. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipInfo
optional Shipping info. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesLocation
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
location
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
userDefinedFields
optional Existing SDK-materialized UDF fields; exact reload verification required. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
Master
optional header object of public SDK scalar fields
nativeFields
optional native header container: { Master: { SDKField: value } }
validateOnly
optional boolean; true runs native preflight without Save, returning saved:false; no persistence proof
detailMode
explicit update | append | replace | delete when editing lines; omit lines and detailMode for header-only updates
lines
optional detail array; update/delete select existing rows by dtlKey; append adds rows; replace replaces the detail set

Example Payload

{
  "docNo": "CN-000001",
  "reason": "Correct customer reference",
  "ref": "Updated reference"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master25 fields
  • DocNo string - Existing document/detail selector, not a writable key.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Optional native enum only when this document exposes the field. Omission preserves the existing value.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • SalesLocation string - Sales location where supported.
  • UserDefinedFields object - Existing SDK-materialized UDF fields; exact reload verification required.
Details23 fields
  • DtlKey number - Existing document/detail selector, not a writable key.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Optional native enum only when this document exposes the field. Omission preserves the existing value.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
  • UserDefinedFields object - Existing SDK-materialized UDF fields; exact reload verification required.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Strict Sales update: editable SDK scalar fields via friendly fields, Master or nativeFields.Master; details via lines with explicit detailMode and existing dtlKey for update/delete. Omitted fields stay unchanged; explicit null/empty clears only optional fields. Unknown, unavailable, calculated, system and lifecycle fields are rejected before Save. Existing UDFs must be present in the SDK schema; no invented columns. validateOnly:true runs native preflight without Save and is not persistence certification. Save success requires a fresh SDK reload with writeVerification.matched=true, identity and linkage verification. saved:true with ok:false means a persisted mismatch or failed verification, not rollback; inspect the existing document and never recreate it automatically. Existing payment, transfer, package and eInvoice protections remain. Runtime get-document fields/fieldCapabilities expose SDK field discovery and fields.readErrors; availability varies by document and account book. Native acceptance covers reference/detail descriptions across eight Sales types and one final-build Sales Order price change, not all fields or SDK versions. Generic native UDF saves remain unproven. Cash Sale creation did not persist its fixture payment; this is a separate unresolved create-path issue. Update acceptance covers that existing unpaid Cash Sale only, not paid-CS support. See docs/document-update-fields.md.

validate-sales-debit-noteread

Validate a sales debit note without saving.

Full payload schema: /v1/schema/commands/validate-sales-debit-note

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
items
optional alias for lines
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example Payload

{
  "debtorCode": "300-A001",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "docDate": "2026-06-24",
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master23 fields
  • DocNo string - Sales document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
Details22 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails2 fields
  • DocType string - Source document type such as SO or DO.
  • DocNo string - Source document number.
PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • SaveAsDraft boolean - Save document as draft if supported.
  • DocNoFormatName string - Document numbering format name.

Notes: Validation only; does not save. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

cancel-sales-debit-notewrite

Cancel a sales debit note when AutoCount allows it.

Full payload schema: /v1/schema/commands/cancel-sales-debit-note

Simple Payload Fields

docNo
required document number
reason
optional cancellation reason

Example Payload

{
  "docNo": "DN-000001",
  "reason": "cancelled by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cancellation depends on AutoCount posting/link status and account-book permissions.

void-sales-debit-notewrite

Void a sales debit note while keeping audit trail.

Full payload schema: /v1/schema/commands/void-sales-debit-note

Simple Payload Fields

docNo
required document number
reason
optional void reason

Example Payload

{
  "docNo": "DN-000001",
  "reason": "voided by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount CancelDocument and returns operationUsed: CancelDocument. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

delete-sales-debit-notewrite

Delete/void request for a sales debit note.

Full payload schema: /v1/schema/commands/delete-sales-debit-note

Simple Payload Fields

docNo
required document number
reason
optional delete reason

Example Payload

{
  "docNo": "DN-000001",
  "reason": "deleted by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Safely maps to AutoCount cancellation/void behavior. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

update-sales-debit-notewrite

Update sales debit note header/contact fields and supported detail rows.

Full payload schema: /v1/schema/commands/update-sales-debit-note

Simple Payload Fields

docNo
required existing document number (selector)
reason
required business reason
docDate
optional Document date. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorCode
optional Customer/debtor code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
debtorName
optional Customer display name. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
agent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgent
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesAgentCode
optional Sales agent code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deliverAddress1
optional Delivery address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
ref
optional Reference. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
description
optional Header description. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
displayTerm
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
term
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone1
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
attention
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
contact
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
branchCode
optional Branch code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyCode
optional Currency code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyRate
optional Currency rate. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
withholdingTaxVersion
optional Optional native enum only when this document exposes the field. Omission preserves the existing value. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
note
optional Note. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark1
optional Remark 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark2
optional Remark 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark3
optional Remark 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark4
optional Remark 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
refDocNo
optional Reference document number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipVia
optional Shipping method. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipInfo
optional Shipping info. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
salesLocation
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
location
optional Sales location where supported. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
userDefinedFields
optional Existing SDK-materialized UDF fields; exact reload verification required. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
Master
optional header object of public SDK scalar fields
nativeFields
optional native header container: { Master: { SDKField: value } }
validateOnly
optional boolean; true runs native preflight without Save, returning saved:false; no persistence proof
detailMode
explicit update | append | replace | delete when editing lines; omit lines and detailMode for header-only updates
lines
optional detail array; update/delete select existing rows by dtlKey; append adds rows; replace replaces the detail set

Example Payload

{
  "docNo": "DN-000001",
  "reason": "Correct customer reference",
  "ref": "Updated reference"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master25 fields
  • DocNo string - Existing document/detail selector, not a writable key.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Optional native enum only when this document exposes the field. Omission preserves the existing value.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • SalesLocation string - Sales location where supported.
  • UserDefinedFields object - Existing SDK-materialized UDF fields; exact reload verification required.
Details23 fields
  • DtlKey number - Existing document/detail selector, not a writable key.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Optional native enum only when this document exposes the field. Omission preserves the existing value.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
  • UserDefinedFields object - Existing SDK-materialized UDF fields; exact reload verification required.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Strict Sales update: editable SDK scalar fields via friendly fields, Master or nativeFields.Master; details via lines with explicit detailMode and existing dtlKey for update/delete. Omitted fields stay unchanged; explicit null/empty clears only optional fields. Unknown, unavailable, calculated, system and lifecycle fields are rejected before Save. Existing UDFs must be present in the SDK schema; no invented columns. validateOnly:true runs native preflight without Save and is not persistence certification. Save success requires a fresh SDK reload with writeVerification.matched=true, identity and linkage verification. saved:true with ok:false means a persisted mismatch or failed verification, not rollback; inspect the existing document and never recreate it automatically. Existing payment, transfer, package and eInvoice protections remain. Runtime get-document fields/fieldCapabilities expose SDK field discovery and fields.readErrors; availability varies by document and account book. Native acceptance covers reference/detail descriptions across eight Sales types and one final-build Sales Order price change, not all fields or SDK versions. Generic native UDF saves remain unproven. Cash Sale creation did not persist its fixture payment; this is a separate unresolved create-path issue. Update acceptance covers that existing unpaid Cash Sale only, not paid-CS support. See docs/document-update-fields.md.

transfer-quotation-to-sales-orderwrite

Transfer quotation to sales order.

Full payload schema: /v1/schema/commands/transfer-quotation-to-sales-order

Simple Payload Fields

sourceDocNo
required source quotation document number
targetDocNo
optional target sales order document number; omit to let AutoCount numbering generate it
docDate
optional YYYY-MM-DD target document date
creditorCode
optional supplier code where transfer creates a purchase document
debtorCode
optional customer code where transfer creates a sales document
transferQtyMode
optional transfer quantity mode such as all or outstanding
saveAsDraft
optional boolean; for delivery-order to sales-invoice, true saves the transferred invoice as an AutoCount draft
lines
optional selected source line rows with itemCode, sourceLineNo, qty, uom
description
optional target document narration
ref
optional target reference

Example Payload

{
  "sourceDocNo": "QT-000001",
  "targetDocNo": "",
  "docDate": "2026-06-24",
  "creditorCode": "400-S001",
  "transferQtyMode": "outstanding",
  "saveAsDraft": false,
  "description": "Transfer quotation to sales order",
  "ref": "API-TRANSFER-1001",
  "lines": [
    {
      "sourceLineNo": 1,
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT"
    }
  ]
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount transfer logic. AutoCount transfer rules decide which source lines and quantities are allowed. Omit lines to transfer the normal outstanding balance where supported.

transfer-advanced-quotation-to-quotationwrite

Guarded: Advanced Quotation to ordinary Quotation is not currently supported.

Full payload schema: /v1/schema/commands/transfer-advanced-quotation-to-quotation

Simple Payload Fields

fromDocNo
Advanced Quotation number

Example Payload

{
  "fromDocNo": "Q-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: This command rejects before creating a target. The installed SDK failed the native transfer test. Do not use as a working transfer or cancel/recreate documents automatically.

transfer-advanced-quotation-to-sales-orderwrite

Transfer Advanced Quotation to sales-order through AutoCount SDK.

Full payload schema: /v1/schema/commands/transfer-advanced-quotation-to-sales-order

Simple Payload Fields

fromDocNo
required Advanced Quotation number
docDate
optional YYYY-MM-DD target document date
docNo
optional target number
sourceDocNo
required source advanced quotation document number
targetDocNo
optional target sales order document number; omit to let AutoCount numbering generate it
creditorCode
optional supplier code where transfer creates a purchase document
debtorCode
optional customer code where transfer creates a sales document
transferQtyMode
optional transfer quantity mode such as all or outstanding
saveAsDraft
optional boolean; for delivery-order to sales-invoice, true saves the transferred invoice as an AutoCount draft
lines
optional selected source line rows with itemCode, sourceLineNo, qty, uom
description
optional target document narration
ref
optional target reference

Example Payload

{
  "fromDocNo": "Q-000001",
  "docDate": "2026-06-24",
  "sourceDocNo": "DOC-000001",
  "targetDocNo": "",
  "creditorCode": "400-S001",
  "transferQtyMode": "outstanding",
  "saveAsDraft": false,
  "description": "Transfer advanced quotation to sales order",
  "ref": "API-TRANSFER-1001",
  "lines": [
    {
      "sourceLineNo": 1,
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT"
    }
  ]
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Requires a connector build exposing this command. Uses source DocKey with SDK FullTransfer; preserves source reference and transferred quantity. Ordinary Quotation destination remains guarded after SDK failure. Full-document transfer only; partial-transfer-document does not yet support Advanced Quotation. AutoCount transfer rules decide which source lines and quantities are allowed. Omit lines to transfer the normal outstanding balance where supported.

transfer-advanced-quotation-to-delivery-orderwrite

Transfer Advanced Quotation to delivery-order through AutoCount SDK.

Full payload schema: /v1/schema/commands/transfer-advanced-quotation-to-delivery-order

Simple Payload Fields

fromDocNo
required Advanced Quotation number
docDate
optional YYYY-MM-DD target document date
docNo
optional target number
sourceDocNo
required source advanced quotation document number
targetDocNo
optional target delivery order document number; omit to let AutoCount numbering generate it
creditorCode
optional supplier code where transfer creates a purchase document
debtorCode
optional customer code where transfer creates a sales document
transferQtyMode
optional transfer quantity mode such as all or outstanding
saveAsDraft
optional boolean; for delivery-order to sales-invoice, true saves the transferred invoice as an AutoCount draft
lines
optional selected source line rows with itemCode, sourceLineNo, qty, uom
description
optional target document narration
ref
optional target reference

Example Payload

{
  "fromDocNo": "Q-000001",
  "docDate": "2026-06-24",
  "sourceDocNo": "DOC-000001",
  "targetDocNo": "",
  "creditorCode": "400-S001",
  "transferQtyMode": "outstanding",
  "saveAsDraft": false,
  "description": "Transfer advanced quotation to delivery order",
  "ref": "API-TRANSFER-1001",
  "lines": [
    {
      "sourceLineNo": 1,
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT"
    }
  ]
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Requires a connector build exposing this command. Uses source DocKey with SDK FullTransfer; preserves source reference and transferred quantity. Ordinary Quotation destination remains guarded after SDK failure. Full-document transfer only; partial-transfer-document does not yet support Advanced Quotation. AutoCount transfer rules decide which source lines and quantities are allowed. Omit lines to transfer the normal outstanding balance where supported.

transfer-advanced-quotation-to-sales-invoicewrite

Transfer Advanced Quotation to sales-invoice through AutoCount SDK.

Full payload schema: /v1/schema/commands/transfer-advanced-quotation-to-sales-invoice

Simple Payload Fields

fromDocNo
required Advanced Quotation number
docDate
optional YYYY-MM-DD target document date
docNo
optional target number
sourceDocNo
required source advanced quotation document number
targetDocNo
optional target sales invoice document number; omit to let AutoCount numbering generate it
creditorCode
optional supplier code where transfer creates a purchase document
debtorCode
optional customer code where transfer creates a sales document
transferQtyMode
optional transfer quantity mode such as all or outstanding
saveAsDraft
optional boolean; for delivery-order to sales-invoice, true saves the transferred invoice as an AutoCount draft
lines
optional selected source line rows with itemCode, sourceLineNo, qty, uom
description
optional target document narration
ref
optional target reference

Example Payload

{
  "fromDocNo": "Q-000001",
  "docDate": "2026-06-24",
  "sourceDocNo": "DOC-000001",
  "targetDocNo": "",
  "creditorCode": "400-S001",
  "transferQtyMode": "outstanding",
  "saveAsDraft": false,
  "description": "Transfer advanced quotation to sales invoice",
  "ref": "API-TRANSFER-1001",
  "lines": [
    {
      "sourceLineNo": 1,
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT"
    }
  ]
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Requires a connector build exposing this command. Uses source DocKey with SDK FullTransfer; preserves source reference and transferred quantity. Ordinary Quotation destination remains guarded after SDK failure. Full-document transfer only; partial-transfer-document does not yet support Advanced Quotation. AutoCount transfer rules decide which source lines and quantities are allowed. Omit lines to transfer the normal outstanding balance where supported.

transfer-quotation-to-delivery-orderwrite

Transfer quotation directly to delivery order.

Full payload schema: /v1/schema/commands/transfer-quotation-to-delivery-order

Simple Payload Fields

sourceDocNo
required source quotation document number
targetDocNo
optional target delivery order document number; omit to let AutoCount numbering generate it
docDate
optional YYYY-MM-DD target document date
creditorCode
optional supplier code where transfer creates a purchase document
debtorCode
optional customer code where transfer creates a sales document
transferQtyMode
optional transfer quantity mode such as all or outstanding
saveAsDraft
optional boolean; for delivery-order to sales-invoice, true saves the transferred invoice as an AutoCount draft
lines
optional selected source line rows with itemCode, sourceLineNo, qty, uom
description
optional target document narration
ref
optional target reference

Example Payload

{
  "sourceDocNo": "QT-000001",
  "targetDocNo": "",
  "docDate": "2026-06-24",
  "creditorCode": "400-S001",
  "transferQtyMode": "outstanding",
  "saveAsDraft": false,
  "description": "Transfer quotation to delivery order",
  "ref": "API-TRANSFER-1001",
  "lines": [
    {
      "sourceLineNo": 1,
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT"
    }
  ]
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount transfer logic where the account book allows direct quotation-to-delivery-order transfer. AutoCount transfer rules decide which source lines and quantities are allowed. Omit lines to transfer the normal outstanding balance where supported.

transfer-quotation-to-sales-invoicewrite

Transfer quotation directly to sales invoice.

Full payload schema: /v1/schema/commands/transfer-quotation-to-sales-invoice

Simple Payload Fields

sourceDocNo
required source quotation document number
targetDocNo
optional target sales invoice document number; omit to let AutoCount numbering generate it
docDate
optional YYYY-MM-DD target document date
creditorCode
optional supplier code where transfer creates a purchase document
debtorCode
optional customer code where transfer creates a sales document
transferQtyMode
optional transfer quantity mode such as all or outstanding
saveAsDraft
optional boolean; for delivery-order to sales-invoice, true saves the transferred invoice as an AutoCount draft
lines
optional selected source line rows with itemCode, sourceLineNo, qty, uom
description
optional target document narration
ref
optional target reference

Example Payload

{
  "sourceDocNo": "QT-000001",
  "targetDocNo": "",
  "docDate": "2026-06-24",
  "creditorCode": "400-S001",
  "transferQtyMode": "outstanding",
  "saveAsDraft": false,
  "description": "Transfer quotation to sales invoice",
  "ref": "API-TRANSFER-1001",
  "lines": [
    {
      "sourceLineNo": 1,
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT"
    }
  ]
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount transfer logic where the account book allows direct quotation-to-sales-invoice transfer. AutoCount transfer rules decide which source lines and quantities are allowed. Omit lines to transfer the normal outstanding balance where supported.

transfer-sales-order-to-delivery-orderwrite

Transfer sales order to delivery order.

Full payload schema: /v1/schema/commands/transfer-sales-order-to-delivery-order

Simple Payload Fields

sourceDocNo
required source sales order document number
targetDocNo
optional target delivery order document number; omit to let AutoCount numbering generate it
docDate
optional YYYY-MM-DD target document date
creditorCode
optional supplier code where transfer creates a purchase document
debtorCode
optional customer code where transfer creates a sales document
transferQtyMode
optional transfer quantity mode such as all or outstanding
saveAsDraft
optional boolean; for delivery-order to sales-invoice, true saves the transferred invoice as an AutoCount draft
lines
optional selected source line rows with itemCode, sourceLineNo, qty, uom
description
optional target document narration
ref
optional target reference

Example Payload

{
  "sourceDocNo": "SO-000001",
  "targetDocNo": "",
  "docDate": "2026-06-24",
  "creditorCode": "400-S001",
  "transferQtyMode": "outstanding",
  "saveAsDraft": false,
  "description": "Transfer sales order to delivery order",
  "ref": "API-TRANSFER-1001",
  "lines": [
    {
      "sourceLineNo": 1,
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT"
    }
  ]
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount transfer logic. AutoCount transfer rules decide which source lines and quantities are allowed. Omit lines to transfer the normal outstanding balance where supported.

transfer-sales-order-to-sales-invoicewrite

Transfer sales order directly to sales invoice.

Full payload schema: /v1/schema/commands/transfer-sales-order-to-sales-invoice

Simple Payload Fields

sourceDocNo
required source sales order document number
targetDocNo
optional target sales invoice document number; omit to let AutoCount numbering generate it
docDate
optional YYYY-MM-DD target document date
creditorCode
optional supplier code where transfer creates a purchase document
debtorCode
optional customer code where transfer creates a sales document
transferQtyMode
optional transfer quantity mode such as all or outstanding
saveAsDraft
optional boolean; for delivery-order to sales-invoice, true saves the transferred invoice as an AutoCount draft
lines
optional selected source line rows with itemCode, sourceLineNo, qty, uom
description
optional target document narration
ref
optional target reference

Example Payload

{
  "sourceDocNo": "SO-000001",
  "targetDocNo": "",
  "docDate": "2026-06-24",
  "creditorCode": "400-S001",
  "transferQtyMode": "outstanding",
  "saveAsDraft": false,
  "description": "Transfer sales order to sales invoice",
  "ref": "API-TRANSFER-1001",
  "lines": [
    {
      "sourceLineNo": 1,
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT"
    }
  ]
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount transfer logic where the account book allows direct sales-order-to-invoice transfer. AutoCount transfer rules decide which source lines and quantities are allowed. Omit lines to transfer the normal outstanding balance where supported.

transfer-sales-order-to-purchase-orderwrite

Transfer sales order to purchase order.

Full payload schema: /v1/schema/commands/transfer-sales-order-to-purchase-order

Simple Payload Fields

sourceDocNo
required source sales order document number
creditorCode
optional supplier code where transfer creates a purchase document
targetDocNo
optional target purchase order document number; omit to let AutoCount numbering generate it
docDate
optional YYYY-MM-DD target document date
debtorCode
optional customer code where transfer creates a sales document
transferQtyMode
optional transfer quantity mode such as all or outstanding
saveAsDraft
optional boolean; for delivery-order to sales-invoice, true saves the transferred invoice as an AutoCount draft
lines
optional selected source line rows with itemCode, sourceLineNo, qty, uom
description
optional target document narration
ref
optional target reference

Example Payload

{
  "sourceDocNo": "SO-000001",
  "targetDocNo": "",
  "docDate": "2026-06-24",
  "creditorCode": "400-S001",
  "transferQtyMode": "outstanding",
  "saveAsDraft": false,
  "description": "Transfer sales order to purchase order",
  "ref": "API-TRANSFER-1001",
  "lines": [
    {
      "sourceLineNo": 1,
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT"
    }
  ]
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount transfer logic where supported by the account book. AutoCount transfer rules decide which source lines and quantities are allowed. Omit lines to transfer the normal outstanding balance where supported.

transfer-delivery-order-to-sales-invoicewrite

Transfer delivery order to sales invoice.

Full payload schema: /v1/schema/commands/transfer-delivery-order-to-sales-invoice

Simple Payload Fields

sourceDocNo
required source delivery order document number
targetDocNo
optional target sales invoice document number; omit to let AutoCount numbering generate it
docDate
optional YYYY-MM-DD target document date
creditorCode
optional supplier code where transfer creates a purchase document
debtorCode
optional customer code where transfer creates a sales document
transferQtyMode
optional transfer quantity mode such as all or outstanding
saveAsDraft
optional boolean; for delivery-order to sales-invoice, true saves the transferred invoice as an AutoCount draft
lines
optional selected source line rows with itemCode, sourceLineNo, qty, uom
description
optional target document narration
ref
optional target reference

Example Payload

{
  "sourceDocNo": "DO-000001",
  "targetDocNo": "",
  "docDate": "2026-06-24",
  "creditorCode": "400-S001",
  "transferQtyMode": "outstanding",
  "saveAsDraft": true,
  "description": "Transfer delivery order to sales invoice",
  "ref": "API-TRANSFER-1001",
  "lines": [
    {
      "sourceLineNo": 1,
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT"
    }
  ]
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount transfer logic. Transfer delivery order to sales invoice as draft when saveAsDraft=true. This uses AutoCount transfer logic and the SDK Save(true) draft save path, so the DO -> Invoice linkage stays intact; it does not create a separate standalone invoice.

transfer-sales-invoice-to-sales-credit-notewrite

Transfer sales invoice to sales credit note.

Full payload schema: /v1/schema/commands/transfer-sales-invoice-to-sales-credit-note

Simple Payload Fields

sourceDocNo
required source sales invoice document number
targetDocNo
optional target sales credit note document number; omit to let AutoCount numbering generate it
docDate
optional YYYY-MM-DD target document date
creditorCode
optional supplier code where transfer creates a purchase document
debtorCode
optional customer code where transfer creates a sales document
transferQtyMode
optional transfer quantity mode such as all or outstanding
saveAsDraft
optional boolean; for delivery-order to sales-invoice, true saves the transferred invoice as an AutoCount draft
lines
optional selected source line rows with itemCode, sourceLineNo, qty, uom
description
optional target document narration
ref
optional target reference

Example Payload

{
  "sourceDocNo": "IV-000001",
  "targetDocNo": "",
  "docDate": "2026-06-24",
  "creditorCode": "400-S001",
  "transferQtyMode": "outstanding",
  "saveAsDraft": false,
  "description": "Transfer sales invoice to sales credit note",
  "ref": "API-TRANSFER-1001",
  "lines": [
    {
      "sourceLineNo": 1,
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT"
    }
  ]
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount transfer logic. AutoCount transfer rules decide which source lines and quantities are allowed. Omit lines to transfer the normal outstanding balance where supported.

list-sales-invoicesread

List sales invoices. Supports fast date-filtered rich headers so AI does not need one get-sales-invoice command per invoice.

Full payload schema: /v1/schema/commands/list-sales-invoices

Simple Payload Fields

fromDate
YYYY-MM-DD optional
toDate
YYYY-MM-DD optional
docNos
optional array or comma-separated DocNo list
limit
optional maximum rows, default 100, max 500
top
optional alias for limit
take
optional alias for limit
includeCustomer
optional boolean; returns DebtorName/CreditorName where available
includeContact
optional boolean; returns Attention, CustomerPhone, CustomerMobile, CustomerEmail where available
includeTotals
optional boolean; returns NetTotal, Tax, FinalTotal, current live AR open balance as OutstandingAmount, EInvoiceStatus, and DocType RI
orderBy
optional; latest-first ordering is DocDate desc, DocNo desc

Example Payload

{
  "fromDate": "2026-08-01",
  "toDate": "2026-08-31",
  "limit": 500,
  "includeCustomer": true,
  "includeContact": true,
  "includeTotals": true
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses one bounded read-only AutoCount DBSetting header query. Returned fields include DocKey, DocNo, DocDate, DebtorCode, DebtorName, DocType, Description, Ref, CurrencyCode, NetTotal, Tax, FinalTotal, OutstandingAmount, Cancelled, EInvoiceStatus, CustomerEmail, CustomerMobile, pdfAvailable, PDFStatus, and PDFCommand. For Sales Invoice, DocType is RI and OutstandingAmount is the current live AR open balance from ARInvoice; fully settled invoices return 0.

bulk-get-sales-invoicesread

Read many sales invoice headers in one connector execution.

Full payload schema: /v1/schema/commands/bulk-get-sales-invoices

Simple Payload Fields

docNos
required array or comma-separated DocNo list, or use fromDate/toDate
fromDate
YYYY-MM-DD optional
toDate
YYYY-MM-DD optional
headerOnly
optional boolean; currently true only
includeCustomer
optional boolean, default true
includeContact
optional boolean, default true
includeTotals
optional boolean, default true
limit
optional maximum rows, default 100, max 500

Example Payload

{
  "docNos": [
    "I-2608-001",
    "I-2608-046"
  ],
  "headerOnly": true,
  "includeCustomer": true,
  "includeContact": true,
  "includeTotals": true
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Preferred when an AI already has invoice numbers. It avoids queueing one get-sales-invoice command per document. PDFStatus is available-on-demand; use sales-document-autocount-pdf for the actual PDF artifact.

get-sales-invoiceread

Get one sales invoice by document number.

Full payload schema: /v1/schema/commands/get-sales-invoice

Simple Payload Fields

docNo
required sales invoice document number

Example Payload

{
  "docNo": "IV-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-item-sales-by-customerread

Rank customers who bought an item by quantity and amount.

Full payload schema: /v1/schema/commands/read-item-sales-by-customer

Simple Payload Fields

itemCode
required stock item code
fromDate
YYYY-MM-DD optional; dateFrom also accepted
toDate
YYYY-MM-DD optional; dateTo also accepted
limit
optional maximum customer rows, default 100, max 500
includeInvoices
optional boolean, default true
includeCashSales
optional boolean, default true

Example Payload

{
  "itemCode": "00002",
  "fromDate": "2020-01-01",
  "toDate": "2026-07-19",
  "limit": 10
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Use this when asking who bought the most of one item. It reads sales invoice and cash sale detail lines, groups by debtor/customer, and returns TotalQty, TotalAmount, DocumentCount, FirstDocDate, and LastDocDate.

read-sales-detail-linesread

Read all sales document lines together, or filter with document.

Full payload schema: /v1/schema/commands/read-sales-detail-lines

Simple Payload Fields

document
optional: sales-invoice | cash-sale | delivery-order | sales-order | quotation | advanced-quotation | sales-credit-note | sales-debit-note
itemCode
optional
debtorCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional, default 100, max 500

Example Payload

{
  "document": "sales-invoice",
  "itemCode": "ITEM001",
  "dateFrom": "2026-01-01",
  "dateTo": "2026-07-19",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Prefer the document-specific read-*-lines commands when the document family is known.

read-sales-invoice-linesread

Read sales invoice detail lines only.

Full payload schema: /v1/schema/commands/read-sales-invoice-lines

Simple Payload Fields

itemCode
optional
debtorCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "itemCode": "ITEM001",
  "dateFrom": "2026-01-01",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns header keys plus raw AutoCount invoice detail columns such as ItemCode, AccNo, Qty, UOM, UnitPrice, TaxCode, ProjNo, DeptNo, and Detail_* fields.

read-cash-sale-linesread

Read cash sale detail lines only.

Full payload schema: /v1/schema/commands/read-cash-sale-lines

Simple Payload Fields

itemCode
optional
debtorCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "itemCode": "ITEM001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-delivery-order-linesread

Read delivery order detail lines only.

Full payload schema: /v1/schema/commands/read-delivery-order-lines

Simple Payload Fields

itemCode
optional
debtorCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "docNo": "DO-000001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-sales-order-linesread

Read sales order detail lines only.

Full payload schema: /v1/schema/commands/read-sales-order-lines

Simple Payload Fields

itemCode
optional
debtorCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "debtorCode": "300-A001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-quotation-linesread

Read quotation detail lines only.

Full payload schema: /v1/schema/commands/read-quotation-lines

Simple Payload Fields

itemCode
optional
debtorCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "itemCode": "ITEM001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-advanced-quotation-linesread

Read advanced quotation detail lines only.

Full payload schema: /v1/schema/commands/read-advanced-quotation-lines

Simple Payload Fields

itemCode
optional
debtorCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "itemCode": "ITEM001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-sales-credit-note-linesread

Read sales credit note detail lines only.

Full payload schema: /v1/schema/commands/read-sales-credit-note-lines

Simple Payload Fields

itemCode
optional
debtorCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "docNo": "CN-000001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-sales-debit-note-linesread

Read sales debit note detail lines only.

Full payload schema: /v1/schema/commands/read-sales-debit-note-lines

Simple Payload Fields

itemCode
optional
debtorCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "docNo": "DN-000001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

list-sales-ordersread

List sales orders.

Full payload schema: /v1/schema/commands/list-sales-orders

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

list-delivery-ordersread

List delivery orders.

Full payload schema: /v1/schema/commands/list-delivery-orders

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

list-cash-salesread

List cash sales.

Full payload schema: /v1/schema/commands/list-cash-sales

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

list-quotationsread

List quotations.

Full payload schema: /v1/schema/commands/list-quotations

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

list-advanced-quotationsread

List advanced quotations.

Full payload schema: /v1/schema/commands/list-advanced-quotations

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

list-sales-credit-notesread

List sales credit notes.

Full payload schema: /v1/schema/commands/list-sales-credit-notes

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

list-sales-debit-notesread

List sales debit notes.

Full payload schema: /v1/schema/commands/list-sales-debit-notes

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-sales-invoicewrite

Create a sales invoice. MyInvois disaster recovery is available only through the guarded TSM recovery mode.

Full payload schema: /v1/schema/commands/create-sales-invoice

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
items
optional alias for lines
restoreMode
optional internal recovery value recover-existing-myinvois-direct
confirmNoLhdnSubmit
required true in recovery mode
taxEntity
required authoritative taxpayer identity in recovery mode
eInvoiceRecovery
required authoritative UUID, timestamps, status, link, totals and tax in recovery mode
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example Payload

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master23 fields
  • DocNo string - Sales document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
Details22 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails2 fields
  • DocType string - Source document type such as SO or DO.
  • DocNo string - Source document number.
PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • SaveAsDraft boolean - Save document as draft if supported.
  • DocNoFormatName string - Document numbering format name.

Notes: Normal create requires write access. Recovery is companyId=tsm only, UUID guarded, reload verified, and never submits or resubmits to LHDN. See the MyInvois disaster recovery runbook. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

get-sales-orderread

Get one sales order by document number.

Full payload schema: /v1/schema/commands/get-sales-order

Simple Payload Fields

docNo
required sales order document number

Example Payload

{
  "docNo": "SO-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-sales-orderwrite

Create a sales order.

Full payload schema: /v1/schema/commands/create-sales-order

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
items
optional alias for lines
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example Payload

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100,
      "accountNo": "500-0000"
    }
  ],
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master23 fields
  • DocNo string - Sales document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
Details22 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails2 fields
  • DocType string - Source document type such as SO or DO.
  • DocNo string - Source document number.
PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • SaveAsDraft boolean - Save document as draft if supported.
  • DocNoFormatName string - Document numbering format name.

Notes: Creates sales order through AutoCount SDK. If a stock line omits accountNo, connector uses AutoCount's default sales account where needed. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

create-stock-sales-orderwrite

Create stock-item-only Sales Order for MacSoft AI Agent.

Full payload schema: /v1/schema/commands/create-stock-sales-order

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date depending on numbering rules
lines
required array of stock-item rows only. Every line must include itemCode. accountNo, accNo, glAccount, and postingAccountNo are rejected.
docNo
optional AutoCount Sales Order number; omit to let AutoCount numbering generate it
displayTerm
optional credit term
currencyCode
optional currency code such as MYR
salesLocation
optional exact active stock location; copied only to lines that omit location
salesAgent
optional Sales Agent Maintenance code
multiPricing
optional AutoCount multi-pricing code/category
inclusiveTax
optional boolean; true when line prices include tax
items
optional alias for lines

Example Payload

{
  "debtorCode": "300-A001",
  "docDate": "2026-08-30",
  "salesLocation": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT",
      "location": "HQ",
      "unitPrice": 14,
      "description": "Stock item line"
    }
  ],
  "salesAgent": "SA01",
  "multiPricing": "P2",
  "inclusiveTax": false
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master23 fields
  • DocNo string - Sales document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
Details20 fields
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails2 fields
  • DocType string - Source document type such as SO or DO.
  • DocNo string - Source document number.
PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • SaveAsDraft boolean - Save document as draft if supported.
  • DocNoFormatName string - Document numbering format name.

Notes: Separate opt-in command. Uses AutoCount SalesOrder SDK Save path but does not resolve, apply, validate, or fall back to any default Sales Account / AccNo. Save failures return exceptionText. Create stock-item-only Sales Order for MacSoft AI Agent. This is a separate opt-in command and does not modify create-sales-order. Every line must include itemCode. Do not send accountNo, accNo, glAccount, or postingAccountNo; the connector will reject those fields and will not resolve or apply a default Sales Account / AccNo. If AutoCount Save fails, result.exceptionText includes the full SDK exception text for diagnosis.

get-delivery-orderread

Get one delivery order by document number.

Full payload schema: /v1/schema/commands/get-delivery-order

Simple Payload Fields

docNo
required delivery order document number

Example Payload

{
  "docNo": "DO-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-delivery-orderwrite

Create a delivery order.

Full payload schema: /v1/schema/commands/create-delivery-order

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
items
optional alias for lines
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example Payload

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master23 fields
  • DocNo string - Sales document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
Details22 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails2 fields
  • DocType string - Source document type such as SO or DO.
  • DocNo string - Source document number.
PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • SaveAsDraft boolean - Save document as draft if supported.
  • DocNoFormatName string - Document numbering format name.

Notes: Creates delivery order through AutoCount SDK. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

get-cash-saleread

Get one cash sale by document number.

Full payload schema: /v1/schema/commands/get-cash-sale

Simple Payload Fields

docNo
required cash sale document number

Example Payload

{
  "docNo": "CS-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-cash-salewrite

Create a cash sale.

Full payload schema: /v1/schema/commands/create-cash-sale

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
items
optional alias for lines
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example Payload

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master23 fields
  • DocNo string - Sales document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
Details22 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails2 fields
  • DocType string - Source document type such as SO or DO.
  • DocNo string - Source document number.
PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • SaveAsDraft boolean - Save document as draft if supported.
  • DocNoFormatName string - Document numbering format name.

Notes: Create Cash Sale with payment. Creates cash sale through AutoCount SDK and returns paymentLines where AutoCount exposes the payment table. Use read-payment-methods first; payments[].paymentMethod must match an active AutoCount Payment Method code, and paymentAmount totals should equal the document total. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

get-quotationread

Get one quotation by document number.

Full payload schema: /v1/schema/commands/get-quotation

Simple Payload Fields

docNo
required quotation document number

Example Payload

{
  "docNo": "QT-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-quotationwrite

Create a quotation.

Full payload schema: /v1/schema/commands/create-quotation

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
items
optional alias for lines
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example Payload

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master23 fields
  • DocNo string - Sales document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
Details22 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails2 fields
  • DocType string - Source document type such as SO or DO.
  • DocNo string - Source document number.
PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • SaveAsDraft boolean - Save document as draft if supported.
  • DocNoFormatName string - Document numbering format name.

Notes: Creates quotation through AutoCount SDK. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

get-advanced-quotationread

Get one advanced quotation by document number.

Full payload schema: /v1/schema/commands/get-advanced-quotation

Simple Payload Fields

docNo
required advanced quotation document number

Example Payload

{
  "docNo": "AQ-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-advanced-quotationwrite

Create an advanced quotation.

Full payload schema: /v1/schema/commands/create-advanced-quotation

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
items
optional alias for lines
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example Payload

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master23 fields
  • DocNo string - Sales document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
Details22 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails2 fields
  • DocType string - Source document type such as SO or DO.
  • DocNo string - Source document number.
PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • SaveAsDraft boolean - Save document as draft if supported.
  • DocNoFormatName string - Document numbering format name.

Notes: Creates advanced quotation through AutoCount SDK. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

get-sales-credit-noteread

Get one sales credit note by document number.

Full payload schema: /v1/schema/commands/get-sales-credit-note

Simple Payload Fields

docNo
required sales credit note document number

Example Payload

{
  "docNo": "CN-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-sales-credit-notewrite

Create a sales credit note; guarded MyInvois type 02 recovery is supported for TSM.

Full payload schema: /v1/schema/commands/create-sales-credit-note

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
items
optional alias for lines
restoreMode
optional internal recovery value recover-existing-myinvois-direct
confirmNoLhdnSubmit
required true in recovery mode
taxEntity
required in recovery mode
eInvoiceRecovery
required UUID, timestamps, status, link, totals and tax in recovery mode
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example Payload

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master23 fields
  • DocNo string - Sales document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
Details22 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails2 fields
  • DocType string - Source document type such as SO or DO.
  • DocNo string - Source document number.
PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • SaveAsDraft boolean - Save document as draft if supported.
  • DocNoFormatName string - Document numbering format name.

Notes: Normal create uses AutoCount Sales CreditNote SDK. Recovery is companyId=tsm only, UUID guarded, reload verified, and does not submit to LHDN. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

get-sales-debit-noteread

Get one sales debit note by document number.

Full payload schema: /v1/schema/commands/get-sales-debit-note

Simple Payload Fields

docNo
required sales debit note document number

Example Payload

{
  "docNo": "DN-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-sales-debit-notewrite

Create a sales debit note; guarded MyInvois type 03 recovery is supported for TSM.

Full payload schema: /v1/schema/commands/create-sales-debit-note

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
items
optional alias for lines
restoreMode
optional internal recovery value recover-existing-myinvois-direct
confirmNoLhdnSubmit
required true in recovery mode
taxEntity
required in recovery mode
eInvoiceRecovery
required UUID, timestamps, status, link, totals and tax in recovery mode
debtorName
optional customer display name; AutoCount debtor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional debtor branch code/name where the customer uses branches
salesLocation
optional exact active AutoCount sales/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
multiPricing
optional price category/multi-pricing value such as Price 1
salesAgent
optional Sales Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
deliverContact
optional delivery contact person
deliverPhone1
optional delivery phone number
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional billing address line 1
address2
optional billing address line 2
address3
optional billing address line 3
address4
optional billing address line 4
deliverAddress1
optional delivery address line 1
deliverAddress2
optional delivery address line 2
deliverAddress3
optional delivery address line 3
deliverAddress4
optional delivery address line 4
description
optional document description/narration
ref
optional reference
ourRef
optional our reference
yourRef
optional customer reference
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional top-level GL posting account fallback; line-level accountNo / accNo / glAccount / postingAccountNo wins, otherwise the connector uses AutoCount's default sales account where needed
payments
optional array for cash sale style documents; send multiple payment rows for AutoCount Multi Payment
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example Payload

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "salesLocation": "HQ",
  "multiPricing": "Price 1",
  "salesAgent": "SA01",
  "attention": "Purchasing Department",
  "contact": "Purchasing Department",
  "deliverContact": "Store Receiver",
  "deliverPhone1": "012-3456789",
  "phone": "03-11111111",
  "address1": "No. 1 Jalan API",
  "address2": "Taman Integration",
  "address3": "Kuala Lumpur",
  "address4": "Malaysia",
  "description": "Sales document created through API",
  "ref": "WEB-ORDER-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 100,
      "discount": "5%",
      "taxType": "S-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 190,
      "accountNo": "500-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "deliveryDate": "2026-06-30",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "500-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 50,
      "taxType": "S-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 130,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "CARD",
      "paymentBy": "Credit Card",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": "APPROVED-001"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master23 fields
  • DocNo string - Sales document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DebtorName string - Customer display name.
  • Agent string - Sales agent code.
  • DeliverAddr1 string - Delivery address line 1.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
Details22 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • WithholdingTaxVersion number - Withholding tax version; defaults to 0 when AutoCount exposes this required field.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails2 fields
  • DocType string - Source document type such as SO or DO.
  • DocNo string - Source document number.
PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • SaveAsDraft boolean - Save document as draft if supported.
  • DocNoFormatName string - Document numbering format name.

Notes: Normal create uses AutoCount Sales DebitNote SDK. Recovery is companyId=tsm only, UUID guarded, reload verified, and does not submit to LHDN. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. If a sales account book requires a line posting account, the connector uses AutoCount's default sales account when lines[].accountNo is omitted; send accountNo / accNo / glAccount / postingAccountNo on a line to override it. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. salesLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default.

print-sales-documentwrite

Print a native sales document and verify Print Count.

Full payload schema: /v1/schema/commands/print-sales-document

Simple Payload Fields

document
invoice | sales-order | delivery-order | quotation | advanced-quotation | cash-sale | sales-credit-note | sales-debit-note
docNo
required
reportName
required exact installed AutoCount template name
printerName
required exact installed Windows printer name

Example Payload

{
  "document": "invoice",
  "docNo": "IV-000001",
  "reportName": "Invoice",
  "printerName": "MF240 Series"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Requires connector 2026.09.11.01 and Sales Edit permission. Sales invoice verified on Canon MF240; other templates require site testing. Returns printCountBefore/After/Verified, printerJobId and spoolerCompleted, not proof of physical delivery. Reuse the SAME commandId on retry. Interrupted output is blocked for manual reconciliation; never bypass with a new ID.

Purchase Purchase order, goods received note, purchase invoice, purchase return, and cash purchase. 54 commands

Command Native Sections

change-purchase-agentwrite

Change a purchase agent code.

Full payload schema: /v1/schema/commands/change-purchase-agent

Simple Payload Fields

oldAgent
required old value for oldAgent
newAgent
required new value for newAgent
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example Payload

{
  "oldAgent": "OLD-AGENT",
  "newAgent": "NEW-AGENT",
  "confirm": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

validate-purchase-orderread

Validate a purchase order without saving.

Full payload schema: /v1/schema/commands/validate-purchase-order

Simple Payload Fields

creditorCode
required AutoCount creditor/supplier code
items
optional alias for lines
creditorName
optional supplier display name; AutoCount creditor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional creditor branch code/name where the customer uses branches
purchaseLocation
optional exact active AutoCount purchase/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
purchaseAgent
optional Purchase Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional supplier address line 1
address2
optional supplier address line 2
address3
optional supplier address line 3
address4
optional supplier address line 4
description
optional document description/narration
ref
optional reference
supplierInvoiceNo
optional supplier invoice number
supplierDONo
optional supplier delivery order number
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional document-level fallback GL posting account for purchase invoice/cash purchase lines when item/account mapping is not enough
postingAccountRule
For create-purchase-invoice and create-cash-purchase, pass lines[].accountNo / accNo / glAccount / postingAccountNo when AutoCount has no default purchase account. Use read-default-accounts.purchaseAccNo or choose a valid purchase/expense account from read-chart-accounts. For create-ap-invoice, if accountNo is omitted the connector also tries the same creditor's recent AP invoice detail account.
payments
optional array for cash purchase style documents; send multiple payment rows for AutoCount Multi Payment. cash purchase void/delete remains guarded because linked payment/cash-book reversal needs module-specific proof
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example Payload

{
  "creditorCode": "400-S001",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "docDate": "2026-06-24",
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "purchaseLocation": "HQ",
  "purchaseAgent": "PA01",
  "attention": "Supplier Sales Department",
  "contact": "Supplier Sales Department",
  "phone": "03-33333333",
  "address1": "No. 2 Jalan Supplier",
  "address2": "Supplier Park",
  "address3": "Petaling Jaya",
  "address4": "Malaysia",
  "description": "Purchase document created through API",
  "supplierInvoiceNo": "SUP-INV-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API purchase item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 80,
      "discount": "0",
      "taxType": "P-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 160,
      "accountNo": "610-0000",
      "postingAccountNo": "610-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "610-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 80,
      "taxType": "P-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 100,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "BANK",
      "paymentBy": "Bank Transfer",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master25 fields
  • DocNo string - Purchase invoice document number.
  • DocDate date - Document date.
  • CreditorCode string - Supplier/creditor code.
  • CreditorName string - Supplier display name.
  • Agent string - Purchase agent.
  • PurchaseLocation string - Purchase stock location.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • InvAddr1 string - Invoice address line 1.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • SupplierDONo string - Supplier delivery order number.
  • SupplierInvoiceNo string - Supplier invoice number.
Details21 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails2 fields
  • DocType string - Source document type such as PO or GRN.
  • DocNo string - Source document number.
PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Document number format.
  • SaveAsDraft boolean - Draft/save option.

Notes: Validation only; does not save. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. purchaseLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default. For purchase invoice/cash purchase, line accountNo is a GL posting account. If AutoCount says no default account or AI does not know the account, first call read-default-accounts and use purchaseAccNo, or list read-chart-accounts and choose a valid purchase/expense account. For AP invoice, if accountNo is omitted the connector tries payload/default purchase account first, then recent AP invoice history for the same creditor. For cash purchase, create/list/get are supported where AutoCount exposes the command; direct void/delete stay guarded until the linked payment/cash-book reversal workflow is proven.

cancel-purchase-orderwrite

Cancel a purchase order when AutoCount allows it.

Full payload schema: /v1/schema/commands/cancel-purchase-order

Simple Payload Fields

docNo
required document number
reason
optional cancellation reason

Example Payload

{
  "docNo": "PO-000001",
  "reason": "cancelled by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cancellation depends on AutoCount posting/link status and account-book permissions.

void-purchase-orderwrite

Void a purchase order while keeping audit trail.

Full payload schema: /v1/schema/commands/void-purchase-order

Simple Payload Fields

docNo
required document number
reason
optional void reason

Example Payload

{
  "docNo": "PO-000001",
  "reason": "voided by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount CancelDocument and returns operationUsed: CancelDocument. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

delete-purchase-orderwrite

Delete/void request for a purchase order.

Full payload schema: /v1/schema/commands/delete-purchase-order

Simple Payload Fields

docNo
required document number
reason
optional delete reason

Example Payload

{
  "docNo": "PO-000001",
  "reason": "deleted by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Safely maps to AutoCount cancellation/void behavior. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

update-purchase-orderwrite

Update purchase order header/contact fields and supported detail rows.

Full payload schema: /v1/schema/commands/update-purchase-order

Simple Payload Fields

docNo
required existing document number (selector)
reason
required business reason
docDate
optional Document date. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
creditorCode
optional Supplier/creditor code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
creditorName
optional Supplier display name. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
purchaseAgent
optional Purchase agent. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
agent
optional Purchase agent. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
purchaseLocation
optional Purchase stock location. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
location
optional Purchase stock location. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
ref
optional Reference. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
description
optional Header description. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
displayTerm
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
term
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address1
optional Invoice address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr1
optional Invoice address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone1
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
attention
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
contact
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
branchCode
optional Branch code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyCode
optional Currency code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyRate
optional Currency rate. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
note
optional Rich-text Note is stored as canonical RTF; verification compares visible text semantics, not raw bytes. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark1
optional Remark 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark2
optional Remark 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark3
optional Remark 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark4
optional Remark 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
refDocNo
optional Reference document number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipVia
optional Shipping method. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipInfo
optional Shipping info. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
supplierDONo
optional Supplier delivery order number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
supplierInvoiceNo
optional Supplier invoice number; distinct from SupplierCNNo on purchase returns. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
dueDate
optional Due date where writable and nullable in the installed SDK. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address2
optional Invoice address line 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr2
optional Invoice address line 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address3
optional Invoice address line 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr3
optional Invoice address line 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address4
optional Invoice address line 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr4
optional Invoice address line 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone2
optional Secondary phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
fax1
optional Fax number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
fax
optional Fax number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
inclusiveTax
optional Tax-inclusive pricing where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
taxDate
optional Tax date where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
taxEntityID
optional Tax entity ID where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
project
optional Header project where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
projNo
optional Header project where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
department
optional Header department where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deptNo
optional Header department where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
userDefinedFields
optional Existing defined UDF values via userDefinedFields require native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
Master
optional header object of public SDK scalar fields
nativeFields
optional native header container: { Master: { SDKField: value } }
validateOnly
optional boolean; true runs native preflight without Save, returning saved:false; no persistence proof
detailMode
explicit update | append | replace | delete when editing lines; omit lines and detailMode for header-only updates
lines
optional detail array; update/delete select existing rows by dtlKey; append adds rows; replace replaces the detail set

Example Payload

{
  "docNo": "PO-000001",
  "reason": "Correct supplier reference",
  "description": "Updated purchase header"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master37 fields
  • DocNo string - Existing document selector, not a writable system key.
  • DocDate date - Document date.
  • CreditorCode string - Supplier/creditor code.
  • CreditorName string - Supplier display name.
  • Agent string - Purchase agent.
  • PurchaseLocation string - Purchase stock location.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • InvAddr1 string - Invoice address line 1.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • Note string - Rich-text Note is stored as canonical RTF; verification compares visible text semantics, not raw bytes.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • SupplierDONo string - Supplier delivery order number.
  • SupplierInvoiceNo string - Supplier invoice number; distinct from SupplierCNNo on purchase returns.
  • DueDate date - Due date where writable and nullable in the installed SDK.
  • InvAddr2 string - Invoice address line 2.
  • InvAddr3 string - Invoice address line 3.
  • InvAddr4 string - Invoice address line 4.
  • Phone2 string - Secondary phone.
  • Fax1 string - Fax number.
  • InclusiveTax boolean - Tax-inclusive pricing where writable.
  • TaxDate date - Tax date where writable.
  • TaxEntityID number - Tax entity ID where writable.
  • ProjNo string - Header project where writable.
  • DeptNo string - Header department where writable.
  • UserDefinedFields object - Existing defined UDF values via userDefinedFields require native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created.
Details22 fields
  • DtlKey number - Existing detail selector for update/delete; never a writable system key.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
  • UserDefinedFields object - Existing defined UDF values via userDefinedFields require native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Strict purchase update contract: friendly top-level fields, header Master or nativeFields.Master, and lines[].nativeFields map to public SDK scalar fields. Actual writable fields vary by document and installed SDK; this is not blanket all-field certification. Unknown or nonwritable requested fields are rejected before Save. Omitted fields stay unchanged; explicit null or empty values clear only optional string/nullable fields. Header-only updates do not require lines. Send explicit detailMode update, append, replace or delete for line edits; use dtlKey as a selector for existing rows. Calculated header totals, system keys, linkage and eInvoice lifecycle fields are protected. Existing eInvoice, linked-document and payment rules remain in force. validateOnly:true performs native preflight without Save and returns saved:false; preflight success is not persistence proof. After Save, a fresh SDK View reload compares requested persisted values: writeVerification.matched must be true for verified save success. A mismatch returns ok=false even when saved=true; never treat Save alone as persistence proof or blindly retry. Returned fields and lines contain the reloaded available document data; inspect fields.readErrors for public SDK getter failures, not silent omissions. Rich-text Note is stored as canonical RTF; compare visible text semantics, not raw bytes. Existing userDefinedFields are supported when defined and require explicit native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created. SupplierInvoiceNo is distinct from purchase-return SupplierCNNo; supplierCreditNoteNo and supplierCNNo map only to SupplierCNNo on purchase returns. RFQ uses native InvAddr1-InvAddr4 (friendly address1-address4) and DeliverAddr1 (friendly deliverAddress1), not native Address1; PI-specific supplier references are not advertised. Only get-request-quotation and update-request-quotation are published, not create. See docs/purchase-update-fields.md.

validate-goods-received-noteread

Validate a goods received note without saving.

Full payload schema: /v1/schema/commands/validate-goods-received-note

Simple Payload Fields

creditorCode
required AutoCount creditor/supplier code
items
optional alias for lines
creditorName
optional supplier display name; AutoCount creditor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional creditor branch code/name where the customer uses branches
purchaseLocation
optional exact active AutoCount purchase/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
purchaseAgent
optional Purchase Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional supplier address line 1
address2
optional supplier address line 2
address3
optional supplier address line 3
address4
optional supplier address line 4
description
optional document description/narration
ref
optional reference
supplierInvoiceNo
optional supplier invoice number
supplierDONo
optional supplier delivery order number
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional document-level fallback GL posting account for purchase invoice/cash purchase lines when item/account mapping is not enough
postingAccountRule
For create-purchase-invoice and create-cash-purchase, pass lines[].accountNo / accNo / glAccount / postingAccountNo when AutoCount has no default purchase account. Use read-default-accounts.purchaseAccNo or choose a valid purchase/expense account from read-chart-accounts. For create-ap-invoice, if accountNo is omitted the connector also tries the same creditor's recent AP invoice detail account.
payments
optional array for cash purchase style documents; send multiple payment rows for AutoCount Multi Payment. cash purchase void/delete remains guarded because linked payment/cash-book reversal needs module-specific proof
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example Payload

{
  "creditorCode": "400-S001",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "docDate": "2026-06-24",
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "purchaseLocation": "HQ",
  "purchaseAgent": "PA01",
  "attention": "Supplier Sales Department",
  "contact": "Supplier Sales Department",
  "phone": "03-33333333",
  "address1": "No. 2 Jalan Supplier",
  "address2": "Supplier Park",
  "address3": "Petaling Jaya",
  "address4": "Malaysia",
  "description": "Purchase document created through API",
  "supplierInvoiceNo": "SUP-INV-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API purchase item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 80,
      "discount": "0",
      "taxType": "P-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 160,
      "accountNo": "610-0000",
      "postingAccountNo": "610-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "610-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 80,
      "taxType": "P-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 100,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "BANK",
      "paymentBy": "Bank Transfer",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master25 fields
  • DocNo string - Purchase invoice document number.
  • DocDate date - Document date.
  • CreditorCode string - Supplier/creditor code.
  • CreditorName string - Supplier display name.
  • Agent string - Purchase agent.
  • PurchaseLocation string - Purchase stock location.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • InvAddr1 string - Invoice address line 1.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • SupplierDONo string - Supplier delivery order number.
  • SupplierInvoiceNo string - Supplier invoice number.
Details21 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails2 fields
  • DocType string - Source document type such as PO or GRN.
  • DocNo string - Source document number.
PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Document number format.
  • SaveAsDraft boolean - Draft/save option.

Notes: Validation only; does not save. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. purchaseLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default. For purchase invoice/cash purchase, line accountNo is a GL posting account. If AutoCount says no default account or AI does not know the account, first call read-default-accounts and use purchaseAccNo, or list read-chart-accounts and choose a valid purchase/expense account. For AP invoice, if accountNo is omitted the connector tries payload/default purchase account first, then recent AP invoice history for the same creditor. For cash purchase, create/list/get are supported where AutoCount exposes the command; direct void/delete stay guarded until the linked payment/cash-book reversal workflow is proven.

cancel-goods-received-notewrite

Cancel a goods received note when AutoCount allows it.

Full payload schema: /v1/schema/commands/cancel-goods-received-note

Simple Payload Fields

docNo
required document number
reason
optional cancellation reason

Example Payload

{
  "docNo": "GRN-000001",
  "reason": "cancelled by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cancellation depends on AutoCount posting/link status and account-book permissions.

void-goods-received-notewrite

Void a goods received note while keeping audit trail.

Full payload schema: /v1/schema/commands/void-goods-received-note

Simple Payload Fields

docNo
required document number
reason
optional void reason

Example Payload

{
  "docNo": "GRN-000001",
  "reason": "voided by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount CancelDocument and returns operationUsed: CancelDocument. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

delete-goods-received-notewrite

Delete/void request for a goods received note.

Full payload schema: /v1/schema/commands/delete-goods-received-note

Simple Payload Fields

docNo
required document number
reason
optional delete reason

Example Payload

{
  "docNo": "GRN-000001",
  "reason": "deleted by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Safely maps to AutoCount cancellation/void behavior. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

update-goods-received-notewrite

Update goods received note header/contact fields and supported detail rows.

Full payload schema: /v1/schema/commands/update-goods-received-note

Simple Payload Fields

docNo
required existing document number (selector)
reason
required business reason
docDate
optional Document date. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
creditorCode
optional Supplier/creditor code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
creditorName
optional Supplier display name. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
purchaseAgent
optional Purchase agent. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
agent
optional Purchase agent. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
purchaseLocation
optional Purchase stock location. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
location
optional Purchase stock location. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
ref
optional Reference. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
description
optional Header description. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
displayTerm
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
term
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address1
optional Invoice address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr1
optional Invoice address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone1
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
attention
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
contact
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
branchCode
optional Branch code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyCode
optional Currency code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyRate
optional Currency rate. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
note
optional Rich-text Note is stored as canonical RTF; verification compares visible text semantics, not raw bytes. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark1
optional Remark 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark2
optional Remark 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark3
optional Remark 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark4
optional Remark 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
refDocNo
optional Reference document number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipVia
optional Shipping method. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipInfo
optional Shipping info. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
supplierDONo
optional Supplier delivery order number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
supplierInvoiceNo
optional Supplier invoice number; distinct from SupplierCNNo on purchase returns. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
dueDate
optional Due date where writable and nullable in the installed SDK. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address2
optional Invoice address line 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr2
optional Invoice address line 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address3
optional Invoice address line 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr3
optional Invoice address line 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address4
optional Invoice address line 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr4
optional Invoice address line 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone2
optional Secondary phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
fax1
optional Fax number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
fax
optional Fax number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
inclusiveTax
optional Tax-inclusive pricing where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
taxDate
optional Tax date where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
taxEntityID
optional Tax entity ID where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
project
optional Header project where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
projNo
optional Header project where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
department
optional Header department where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deptNo
optional Header department where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
userDefinedFields
optional Existing defined UDF values via userDefinedFields require native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
Master
optional header object of public SDK scalar fields
nativeFields
optional native header container: { Master: { SDKField: value } }
validateOnly
optional boolean; true runs native preflight without Save, returning saved:false; no persistence proof
detailMode
explicit update | append | replace | delete when editing lines; omit lines and detailMode for header-only updates
lines
optional detail array; update/delete select existing rows by dtlKey; append adds rows; replace replaces the detail set

Example Payload

{
  "docNo": "GRN-000001",
  "reason": "Correct supplier reference",
  "description": "Updated purchase header"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master37 fields
  • DocNo string - Existing document selector, not a writable system key.
  • DocDate date - Document date.
  • CreditorCode string - Supplier/creditor code.
  • CreditorName string - Supplier display name.
  • Agent string - Purchase agent.
  • PurchaseLocation string - Purchase stock location.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • InvAddr1 string - Invoice address line 1.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • Note string - Rich-text Note is stored as canonical RTF; verification compares visible text semantics, not raw bytes.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • SupplierDONo string - Supplier delivery order number.
  • SupplierInvoiceNo string - Supplier invoice number; distinct from SupplierCNNo on purchase returns.
  • DueDate date - Due date where writable and nullable in the installed SDK.
  • InvAddr2 string - Invoice address line 2.
  • InvAddr3 string - Invoice address line 3.
  • InvAddr4 string - Invoice address line 4.
  • Phone2 string - Secondary phone.
  • Fax1 string - Fax number.
  • InclusiveTax boolean - Tax-inclusive pricing where writable.
  • TaxDate date - Tax date where writable.
  • TaxEntityID number - Tax entity ID where writable.
  • ProjNo string - Header project where writable.
  • DeptNo string - Header department where writable.
  • UserDefinedFields object - Existing defined UDF values via userDefinedFields require native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created.
Details22 fields
  • DtlKey number - Existing detail selector for update/delete; never a writable system key.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
  • UserDefinedFields object - Existing defined UDF values via userDefinedFields require native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Strict purchase update contract: friendly top-level fields, header Master or nativeFields.Master, and lines[].nativeFields map to public SDK scalar fields. Actual writable fields vary by document and installed SDK; this is not blanket all-field certification. Unknown or nonwritable requested fields are rejected before Save. Omitted fields stay unchanged; explicit null or empty values clear only optional string/nullable fields. Header-only updates do not require lines. Send explicit detailMode update, append, replace or delete for line edits; use dtlKey as a selector for existing rows. Calculated header totals, system keys, linkage and eInvoice lifecycle fields are protected. Existing eInvoice, linked-document and payment rules remain in force. validateOnly:true performs native preflight without Save and returns saved:false; preflight success is not persistence proof. After Save, a fresh SDK View reload compares requested persisted values: writeVerification.matched must be true for verified save success. A mismatch returns ok=false even when saved=true; never treat Save alone as persistence proof or blindly retry. Returned fields and lines contain the reloaded available document data; inspect fields.readErrors for public SDK getter failures, not silent omissions. Rich-text Note is stored as canonical RTF; compare visible text semantics, not raw bytes. Existing userDefinedFields are supported when defined and require explicit native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created. SupplierInvoiceNo is distinct from purchase-return SupplierCNNo; supplierCreditNoteNo and supplierCNNo map only to SupplierCNNo on purchase returns. RFQ uses native InvAddr1-InvAddr4 (friendly address1-address4) and DeliverAddr1 (friendly deliverAddress1), not native Address1; PI-specific supplier references are not advertised. Only get-request-quotation and update-request-quotation are published, not create. See docs/purchase-update-fields.md.

validate-purchase-invoiceread

Validate a purchase invoice without saving.

Full payload schema: /v1/schema/commands/validate-purchase-invoice

Simple Payload Fields

creditorCode
required AutoCount creditor/supplier code
items
optional alias for lines
creditorName
optional supplier display name; AutoCount creditor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional creditor branch code/name where the customer uses branches
purchaseLocation
optional exact active AutoCount purchase/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
purchaseAgent
optional Purchase Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional supplier address line 1
address2
optional supplier address line 2
address3
optional supplier address line 3
address4
optional supplier address line 4
description
optional document description/narration
ref
optional reference
supplierInvoiceNo
optional supplier invoice number
supplierDONo
optional supplier delivery order number
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional document-level fallback GL posting account for purchase invoice/cash purchase lines when item/account mapping is not enough
postingAccountRule
For create-purchase-invoice and create-cash-purchase, pass lines[].accountNo / accNo / glAccount / postingAccountNo when AutoCount has no default purchase account. Use read-default-accounts.purchaseAccNo or choose a valid purchase/expense account from read-chart-accounts. For create-ap-invoice, if accountNo is omitted the connector also tries the same creditor's recent AP invoice detail account.
payments
optional array for cash purchase style documents; send multiple payment rows for AutoCount Multi Payment. cash purchase void/delete remains guarded because linked payment/cash-book reversal needs module-specific proof
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example Payload

{
  "creditorCode": "400-S001",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "docDate": "2026-06-24",
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "purchaseLocation": "HQ",
  "purchaseAgent": "PA01",
  "attention": "Supplier Sales Department",
  "contact": "Supplier Sales Department",
  "phone": "03-33333333",
  "address1": "No. 2 Jalan Supplier",
  "address2": "Supplier Park",
  "address3": "Petaling Jaya",
  "address4": "Malaysia",
  "description": "Purchase document created through API",
  "supplierInvoiceNo": "SUP-INV-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API purchase item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 80,
      "discount": "0",
      "taxType": "P-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 160,
      "accountNo": "610-0000",
      "postingAccountNo": "610-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "610-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 80,
      "taxType": "P-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 100,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "BANK",
      "paymentBy": "Bank Transfer",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master25 fields
  • DocNo string - Purchase invoice document number.
  • DocDate date - Document date.
  • CreditorCode string - Supplier/creditor code.
  • CreditorName string - Supplier display name.
  • Agent string - Purchase agent.
  • PurchaseLocation string - Purchase stock location.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • InvAddr1 string - Invoice address line 1.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • SupplierDONo string - Supplier delivery order number.
  • SupplierInvoiceNo string - Supplier invoice number.
Details21 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails2 fields
  • DocType string - Source document type such as PO or GRN.
  • DocNo string - Source document number.
PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Document number format.
  • SaveAsDraft boolean - Draft/save option.

Notes: Validation only; does not save. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. purchaseLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default. For purchase invoice/cash purchase, line accountNo is a GL posting account. If AutoCount says no default account or AI does not know the account, first call read-default-accounts and use purchaseAccNo, or list read-chart-accounts and choose a valid purchase/expense account. For AP invoice, if accountNo is omitted the connector tries payload/default purchase account first, then recent AP invoice history for the same creditor. For cash purchase, create/list/get are supported where AutoCount exposes the command; direct void/delete stay guarded until the linked payment/cash-book reversal workflow is proven.

cancel-purchase-invoicewrite

Cancel a purchase invoice when AutoCount allows it.

Full payload schema: /v1/schema/commands/cancel-purchase-invoice

Simple Payload Fields

docNo
required document number
reason
optional cancellation reason

Example Payload

{
  "docNo": "PI-000001",
  "reason": "cancelled by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cancellation depends on AutoCount posting/link status and account-book permissions.

void-purchase-invoicewrite

Void a purchase invoice while keeping audit trail.

Full payload schema: /v1/schema/commands/void-purchase-invoice

Simple Payload Fields

docNo
required document number
reason
optional void reason

Example Payload

{
  "docNo": "PI-000001",
  "reason": "voided by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount CancelDocument and returns operationUsed: CancelDocument. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

delete-purchase-invoicewrite

Delete/void request for a purchase invoice.

Full payload schema: /v1/schema/commands/delete-purchase-invoice

Simple Payload Fields

docNo
required document number
reason
optional delete reason

Example Payload

{
  "docNo": "PI-000001",
  "reason": "deleted by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Safely maps to AutoCount cancellation/void behavior. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

update-purchase-invoicewrite

Update purchase invoice header/contact fields and supported detail rows.

Full payload schema: /v1/schema/commands/update-purchase-invoice

Simple Payload Fields

docNo
required existing document number (selector)
reason
required business reason
docDate
optional Document date. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
creditorCode
optional Supplier/creditor code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
creditorName
optional Supplier display name. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
purchaseAgent
optional Purchase agent. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
agent
optional Purchase agent. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
purchaseLocation
optional Purchase stock location. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
location
optional Purchase stock location. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
ref
optional Reference. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
description
optional Header description. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
displayTerm
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
term
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address1
optional Invoice address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr1
optional Invoice address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone1
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
attention
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
contact
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
branchCode
optional Branch code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyCode
optional Currency code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyRate
optional Currency rate. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
note
optional Rich-text Note is stored as canonical RTF; verification compares visible text semantics, not raw bytes. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark1
optional Remark 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark2
optional Remark 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark3
optional Remark 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark4
optional Remark 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
refDocNo
optional Reference document number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipVia
optional Shipping method. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipInfo
optional Shipping info. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
supplierDONo
optional Supplier delivery order number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
supplierInvoiceNo
optional Supplier invoice number; distinct from SupplierCNNo on purchase returns. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
dueDate
optional Due date where writable and nullable in the installed SDK. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address2
optional Invoice address line 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr2
optional Invoice address line 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address3
optional Invoice address line 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr3
optional Invoice address line 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address4
optional Invoice address line 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr4
optional Invoice address line 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone2
optional Secondary phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
fax1
optional Fax number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
fax
optional Fax number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
inclusiveTax
optional Tax-inclusive pricing where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
taxDate
optional Tax date where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
taxEntityID
optional Tax entity ID where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
project
optional Header project where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
projNo
optional Header project where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
department
optional Header department where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deptNo
optional Header department where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
userDefinedFields
optional Existing defined UDF values via userDefinedFields require native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
Master
optional header object of public SDK scalar fields
nativeFields
optional native header container: { Master: { SDKField: value } }
validateOnly
optional boolean; true runs native preflight without Save, returning saved:false; no persistence proof
detailMode
explicit update | append | replace | delete when editing lines; omit lines and detailMode for header-only updates
lines
optional detail array; update/delete select existing rows by dtlKey; append adds rows; replace replaces the detail set

Example Payload

{
  "docNo": "PI-000001",
  "reason": "Correct supplier reference",
  "description": "Updated purchase header"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master37 fields
  • DocNo string - Existing document selector, not a writable system key.
  • DocDate date - Document date.
  • CreditorCode string - Supplier/creditor code.
  • CreditorName string - Supplier display name.
  • Agent string - Purchase agent.
  • PurchaseLocation string - Purchase stock location.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • InvAddr1 string - Invoice address line 1.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • Note string - Rich-text Note is stored as canonical RTF; verification compares visible text semantics, not raw bytes.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • SupplierDONo string - Supplier delivery order number.
  • SupplierInvoiceNo string - Supplier invoice number; distinct from SupplierCNNo on purchase returns.
  • DueDate date - Due date where writable and nullable in the installed SDK.
  • InvAddr2 string - Invoice address line 2.
  • InvAddr3 string - Invoice address line 3.
  • InvAddr4 string - Invoice address line 4.
  • Phone2 string - Secondary phone.
  • Fax1 string - Fax number.
  • InclusiveTax boolean - Tax-inclusive pricing where writable.
  • TaxDate date - Tax date where writable.
  • TaxEntityID number - Tax entity ID where writable.
  • ProjNo string - Header project where writable.
  • DeptNo string - Header department where writable.
  • UserDefinedFields object - Existing defined UDF values via userDefinedFields require native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created.
Details22 fields
  • DtlKey number - Existing detail selector for update/delete; never a writable system key.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
  • UserDefinedFields object - Existing defined UDF values via userDefinedFields require native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Strict purchase update contract: friendly top-level fields, header Master or nativeFields.Master, and lines[].nativeFields map to public SDK scalar fields. Actual writable fields vary by document and installed SDK; this is not blanket all-field certification. Unknown or nonwritable requested fields are rejected before Save. Omitted fields stay unchanged; explicit null or empty values clear only optional string/nullable fields. Header-only updates do not require lines. Send explicit detailMode update, append, replace or delete for line edits; use dtlKey as a selector for existing rows. Calculated header totals, system keys, linkage and eInvoice lifecycle fields are protected. Existing eInvoice, linked-document and payment rules remain in force. validateOnly:true performs native preflight without Save and returns saved:false; preflight success is not persistence proof. After Save, a fresh SDK View reload compares requested persisted values: writeVerification.matched must be true for verified save success. A mismatch returns ok=false even when saved=true; never treat Save alone as persistence proof or blindly retry. Returned fields and lines contain the reloaded available document data; inspect fields.readErrors for public SDK getter failures, not silent omissions. Rich-text Note is stored as canonical RTF; compare visible text semantics, not raw bytes. Existing userDefinedFields are supported when defined and require explicit native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created. SupplierInvoiceNo is distinct from purchase-return SupplierCNNo; supplierCreditNoteNo and supplierCNNo map only to SupplierCNNo on purchase returns. RFQ uses native InvAddr1-InvAddr4 (friendly address1-address4) and DeliverAddr1 (friendly deliverAddress1), not native Address1; PI-specific supplier references are not advertised. Only get-request-quotation and update-request-quotation are published, not create. See docs/purchase-update-fields.md.

validate-purchase-returnread

Validate a purchase return without saving.

Full payload schema: /v1/schema/commands/validate-purchase-return

Simple Payload Fields

creditorCode
required AutoCount creditor/supplier code
items
optional alias for lines
creditorName
optional supplier display name; AutoCount creditor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional creditor branch code/name where the customer uses branches
purchaseLocation
optional exact active AutoCount purchase/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
purchaseAgent
optional Purchase Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional supplier address line 1
address2
optional supplier address line 2
address3
optional supplier address line 3
address4
optional supplier address line 4
description
optional document description/narration
ref
optional reference
supplierInvoiceNo
optional supplier invoice number
supplierDONo
optional supplier delivery order number
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional document-level fallback GL posting account for purchase invoice/cash purchase lines when item/account mapping is not enough
postingAccountRule
For create-purchase-invoice and create-cash-purchase, pass lines[].accountNo / accNo / glAccount / postingAccountNo when AutoCount has no default purchase account. Use read-default-accounts.purchaseAccNo or choose a valid purchase/expense account from read-chart-accounts. For create-ap-invoice, if accountNo is omitted the connector also tries the same creditor's recent AP invoice detail account.
payments
optional array for cash purchase style documents; send multiple payment rows for AutoCount Multi Payment. cash purchase void/delete remains guarded because linked payment/cash-book reversal needs module-specific proof
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example Payload

{
  "creditorCode": "400-S001",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "docDate": "2026-06-24",
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "purchaseLocation": "HQ",
  "purchaseAgent": "PA01",
  "attention": "Supplier Sales Department",
  "contact": "Supplier Sales Department",
  "phone": "03-33333333",
  "address1": "No. 2 Jalan Supplier",
  "address2": "Supplier Park",
  "address3": "Petaling Jaya",
  "address4": "Malaysia",
  "description": "Purchase document created through API",
  "supplierInvoiceNo": "SUP-INV-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API purchase item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 80,
      "discount": "0",
      "taxType": "P-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 160,
      "accountNo": "610-0000",
      "postingAccountNo": "610-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "610-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 80,
      "taxType": "P-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 100,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "BANK",
      "paymentBy": "Bank Transfer",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master25 fields
  • DocNo string - Purchase invoice document number.
  • DocDate date - Document date.
  • CreditorCode string - Supplier/creditor code.
  • CreditorName string - Supplier display name.
  • Agent string - Purchase agent.
  • PurchaseLocation string - Purchase stock location.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • InvAddr1 string - Invoice address line 1.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • SupplierDONo string - Supplier delivery order number.
  • SupplierInvoiceNo string - Supplier invoice number.
Details21 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails2 fields
  • DocType string - Source document type such as PO or GRN.
  • DocNo string - Source document number.
PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Document number format.
  • SaveAsDraft boolean - Draft/save option.

Notes: Validation only; does not save. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. purchaseLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default. For purchase invoice/cash purchase, line accountNo is a GL posting account. If AutoCount says no default account or AI does not know the account, first call read-default-accounts and use purchaseAccNo, or list read-chart-accounts and choose a valid purchase/expense account. For AP invoice, if accountNo is omitted the connector tries payload/default purchase account first, then recent AP invoice history for the same creditor. For cash purchase, create/list/get are supported where AutoCount exposes the command; direct void/delete stay guarded until the linked payment/cash-book reversal workflow is proven.

cancel-purchase-returnwrite

Cancel a purchase return when AutoCount allows it.

Full payload schema: /v1/schema/commands/cancel-purchase-return

Simple Payload Fields

docNo
required document number
reason
optional cancellation reason

Example Payload

{
  "docNo": "PR-000001",
  "reason": "cancelled by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cancellation depends on AutoCount posting/link status and account-book permissions.

void-purchase-returnwrite

Void a purchase return while keeping audit trail.

Full payload schema: /v1/schema/commands/void-purchase-return

Simple Payload Fields

docNo
required document number
reason
optional void reason

Example Payload

{
  "docNo": "PR-000001",
  "reason": "voided by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount CancelDocument and returns operationUsed: CancelDocument. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

delete-purchase-returnwrite

Delete/void request for a purchase return.

Full payload schema: /v1/schema/commands/delete-purchase-return

Simple Payload Fields

docNo
required document number
reason
optional delete reason

Example Payload

{
  "docNo": "PR-000001",
  "reason": "deleted by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Safely maps to AutoCount cancellation/void behavior. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

update-purchase-returnwrite

Update purchase return header/contact fields and supported detail rows.

Full payload schema: /v1/schema/commands/update-purchase-return

Simple Payload Fields

docNo
required existing document number (selector)
reason
required business reason
docDate
optional Document date. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
creditorCode
optional Supplier/creditor code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
creditorName
optional Supplier display name. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
purchaseAgent
optional Purchase agent. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
agent
optional Purchase agent. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
purchaseLocation
optional Purchase stock location. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
location
optional Purchase stock location. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
ref
optional Reference. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
description
optional Header description. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
displayTerm
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
term
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address1
optional Invoice address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr1
optional Invoice address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone1
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
attention
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
contact
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
branchCode
optional Branch code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyCode
optional Currency code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyRate
optional Currency rate. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
note
optional Rich-text Note is stored as canonical RTF; verification compares visible text semantics, not raw bytes. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark1
optional Remark 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark2
optional Remark 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark3
optional Remark 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark4
optional Remark 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
refDocNo
optional Reference document number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipVia
optional Shipping method. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipInfo
optional Shipping info. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
supplierDONo
optional Supplier delivery order number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
supplierInvoiceNo
optional Supplier invoice number; distinct from SupplierCNNo on purchase returns. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
dueDate
optional Due date where writable and nullable in the installed SDK. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address2
optional Invoice address line 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr2
optional Invoice address line 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address3
optional Invoice address line 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr3
optional Invoice address line 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address4
optional Invoice address line 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr4
optional Invoice address line 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone2
optional Secondary phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
fax1
optional Fax number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
fax
optional Fax number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
inclusiveTax
optional Tax-inclusive pricing where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
taxDate
optional Tax date where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
taxEntityID
optional Tax entity ID where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
project
optional Header project where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
projNo
optional Header project where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
department
optional Header department where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deptNo
optional Header department where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
supplierCreditNoteNo
optional Purchase-return SupplierCNNo (supplier credit note number); not SupplierInvoiceNo. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
supplierCNNo
optional Purchase-return SupplierCNNo (supplier credit note number); not SupplierInvoiceNo. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
userDefinedFields
optional Existing defined UDF values via userDefinedFields require native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
Master
optional header object of public SDK scalar fields
nativeFields
optional native header container: { Master: { SDKField: value } }
validateOnly
optional boolean; true runs native preflight without Save, returning saved:false; no persistence proof
detailMode
explicit update | append | replace | delete when editing lines; omit lines and detailMode for header-only updates
lines
optional detail array; update/delete select existing rows by dtlKey; append adds rows; replace replaces the detail set

Example Payload

{
  "docNo": "PR-000001",
  "reason": "Correct supplier reference",
  "description": "Updated purchase header"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master38 fields
  • DocNo string - Existing document selector, not a writable system key.
  • DocDate date - Document date.
  • CreditorCode string - Supplier/creditor code.
  • CreditorName string - Supplier display name.
  • Agent string - Purchase agent.
  • PurchaseLocation string - Purchase stock location.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • InvAddr1 string - Invoice address line 1.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • Note string - Rich-text Note is stored as canonical RTF; verification compares visible text semantics, not raw bytes.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • SupplierDONo string - Supplier delivery order number.
  • SupplierInvoiceNo string - Supplier invoice number; distinct from SupplierCNNo on purchase returns.
  • DueDate date - Due date where writable and nullable in the installed SDK.
  • InvAddr2 string - Invoice address line 2.
  • InvAddr3 string - Invoice address line 3.
  • InvAddr4 string - Invoice address line 4.
  • Phone2 string - Secondary phone.
  • Fax1 string - Fax number.
  • InclusiveTax boolean - Tax-inclusive pricing where writable.
  • TaxDate date - Tax date where writable.
  • TaxEntityID number - Tax entity ID where writable.
  • ProjNo string - Header project where writable.
  • DeptNo string - Header department where writable.
  • SupplierCNNo string - Purchase-return SupplierCNNo (supplier credit note number); not SupplierInvoiceNo.
  • UserDefinedFields object - Existing defined UDF values via userDefinedFields require native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created.
Details22 fields
  • DtlKey number - Existing detail selector for update/delete; never a writable system key.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
  • UserDefinedFields object - Existing defined UDF values via userDefinedFields require native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Strict purchase update contract: friendly top-level fields, header Master or nativeFields.Master, and lines[].nativeFields map to public SDK scalar fields. Actual writable fields vary by document and installed SDK; this is not blanket all-field certification. Unknown or nonwritable requested fields are rejected before Save. Omitted fields stay unchanged; explicit null or empty values clear only optional string/nullable fields. Header-only updates do not require lines. Send explicit detailMode update, append, replace or delete for line edits; use dtlKey as a selector for existing rows. Calculated header totals, system keys, linkage and eInvoice lifecycle fields are protected. Existing eInvoice, linked-document and payment rules remain in force. validateOnly:true performs native preflight without Save and returns saved:false; preflight success is not persistence proof. After Save, a fresh SDK View reload compares requested persisted values: writeVerification.matched must be true for verified save success. A mismatch returns ok=false even when saved=true; never treat Save alone as persistence proof or blindly retry. Returned fields and lines contain the reloaded available document data; inspect fields.readErrors for public SDK getter failures, not silent omissions. Rich-text Note is stored as canonical RTF; compare visible text semantics, not raw bytes. Existing userDefinedFields are supported when defined and require explicit native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created. SupplierInvoiceNo is distinct from purchase-return SupplierCNNo; supplierCreditNoteNo and supplierCNNo map only to SupplierCNNo on purchase returns. RFQ uses native InvAddr1-InvAddr4 (friendly address1-address4) and DeliverAddr1 (friendly deliverAddress1), not native Address1; PI-specific supplier references are not advertised. Only get-request-quotation and update-request-quotation are published, not create. See docs/purchase-update-fields.md.

validate-cash-purchaseread

Validate a cash purchase without saving.

Full payload schema: /v1/schema/commands/validate-cash-purchase

Simple Payload Fields

creditorCode
required AutoCount creditor/supplier code
items
optional alias for lines
creditorName
optional supplier display name; AutoCount creditor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional creditor branch code/name where the customer uses branches
purchaseLocation
optional exact active AutoCount purchase/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
purchaseAgent
optional Purchase Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional supplier address line 1
address2
optional supplier address line 2
address3
optional supplier address line 3
address4
optional supplier address line 4
description
optional document description/narration
ref
optional reference
supplierInvoiceNo
optional supplier invoice number
supplierDONo
optional supplier delivery order number
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional document-level fallback GL posting account for purchase invoice/cash purchase lines when item/account mapping is not enough
postingAccountRule
For create-purchase-invoice and create-cash-purchase, pass lines[].accountNo / accNo / glAccount / postingAccountNo when AutoCount has no default purchase account. Use read-default-accounts.purchaseAccNo or choose a valid purchase/expense account from read-chart-accounts. For create-ap-invoice, if accountNo is omitted the connector also tries the same creditor's recent AP invoice detail account.
payments
optional array for cash purchase style documents; send multiple payment rows for AutoCount Multi Payment. cash purchase void/delete remains guarded because linked payment/cash-book reversal needs module-specific proof
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example Payload

{
  "creditorCode": "400-S001",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "docDate": "2026-06-24",
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "purchaseLocation": "HQ",
  "purchaseAgent": "PA01",
  "attention": "Supplier Sales Department",
  "contact": "Supplier Sales Department",
  "phone": "03-33333333",
  "address1": "No. 2 Jalan Supplier",
  "address2": "Supplier Park",
  "address3": "Petaling Jaya",
  "address4": "Malaysia",
  "description": "Purchase document created through API",
  "supplierInvoiceNo": "SUP-INV-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API purchase item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 80,
      "discount": "0",
      "taxType": "P-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 160,
      "accountNo": "610-0000",
      "postingAccountNo": "610-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "610-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 80,
      "taxType": "P-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 100,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "BANK",
      "paymentBy": "Bank Transfer",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master25 fields
  • DocNo string - Purchase invoice document number.
  • DocDate date - Document date.
  • CreditorCode string - Supplier/creditor code.
  • CreditorName string - Supplier display name.
  • Agent string - Purchase agent.
  • PurchaseLocation string - Purchase stock location.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • InvAddr1 string - Invoice address line 1.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • SupplierDONo string - Supplier delivery order number.
  • SupplierInvoiceNo string - Supplier invoice number.
Details21 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails2 fields
  • DocType string - Source document type such as PO or GRN.
  • DocNo string - Source document number.
PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Document number format.
  • SaveAsDraft boolean - Draft/save option.

Notes: Validation only; does not save. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. purchaseLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default. For purchase invoice/cash purchase, line accountNo is a GL posting account. If AutoCount says no default account or AI does not know the account, first call read-default-accounts and use purchaseAccNo, or list read-chart-accounts and choose a valid purchase/expense account. For AP invoice, if accountNo is omitted the connector tries payload/default purchase account first, then recent AP invoice history for the same creditor. For cash purchase, create/list/get are supported where AutoCount exposes the command; direct void/delete stay guarded until the linked payment/cash-book reversal workflow is proven.

cancel-cash-purchasewrite

Cancel a cash purchase when AutoCount allows it.

Full payload schema: /v1/schema/commands/cancel-cash-purchase

Simple Payload Fields

docNo
required document number
reason
optional cancellation reason

Example Payload

{
  "docNo": "CP-000001",
  "reason": "cancelled by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cancellation depends on AutoCount posting/link status and account-book permissions.

void-cash-purchasewrite

Void a cash purchase while keeping audit trail.

Full payload schema: /v1/schema/commands/void-cash-purchase

Simple Payload Fields

docNo
required document number
reason
optional void reason

Example Payload

{
  "docNo": "CP-000001",
  "reason": "voided by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount CancelDocument and returns operationUsed: CancelDocument. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

delete-cash-purchasewrite

Delete/void request for a cash purchase.

Full payload schema: /v1/schema/commands/delete-cash-purchase

Simple Payload Fields

docNo
required document number
reason
optional delete reason

Example Payload

{
  "docNo": "CP-000001",
  "reason": "deleted by API request"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Safely maps to AutoCount cancellation/void behavior. AutoCount may reject if the document is posted, linked, transferred, or blocked by permissions.

update-cash-purchasewrite

Update cash purchase header/contact fields and supported detail rows.

Full payload schema: /v1/schema/commands/update-cash-purchase

Simple Payload Fields

docNo
required existing document number (selector)
reason
required business reason
docDate
optional Document date. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
creditorCode
optional Supplier/creditor code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
creditorName
optional Supplier display name. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
purchaseAgent
optional Purchase agent. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
agent
optional Purchase agent. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
purchaseLocation
optional Purchase stock location. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
location
optional Purchase stock location. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
ref
optional Reference. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
description
optional Header description. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
displayTerm
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
term
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address1
optional Invoice address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr1
optional Invoice address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone1
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
attention
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
contact
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
branchCode
optional Branch code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyCode
optional Currency code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyRate
optional Currency rate. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
note
optional Rich-text Note is stored as canonical RTF; verification compares visible text semantics, not raw bytes. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark1
optional Remark 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark2
optional Remark 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark3
optional Remark 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark4
optional Remark 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
refDocNo
optional Reference document number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipVia
optional Shipping method. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipInfo
optional Shipping info. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
supplierDONo
optional Supplier delivery order number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
supplierInvoiceNo
optional Supplier invoice number; distinct from SupplierCNNo on purchase returns. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
dueDate
optional Due date where writable and nullable in the installed SDK. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address2
optional Invoice address line 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr2
optional Invoice address line 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address3
optional Invoice address line 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr3
optional Invoice address line 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address4
optional Invoice address line 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr4
optional Invoice address line 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone2
optional Secondary phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
fax1
optional Fax number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
fax
optional Fax number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
inclusiveTax
optional Tax-inclusive pricing where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
taxDate
optional Tax date where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
taxEntityID
optional Tax entity ID where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
project
optional Header project where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
projNo
optional Header project where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
department
optional Header department where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deptNo
optional Header department where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
userDefinedFields
optional Existing defined UDF values via userDefinedFields require native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
Master
optional header object of public SDK scalar fields
nativeFields
optional native header container: { Master: { SDKField: value } }
validateOnly
optional boolean; true runs native preflight without Save, returning saved:false; no persistence proof
detailMode
explicit update | append | replace | delete when editing lines; omit lines and detailMode for header-only updates
lines
optional detail array; update/delete select existing rows by dtlKey; append adds rows; replace replaces the detail set

Example Payload

{
  "docNo": "CP-000001",
  "reason": "Correct supplier reference",
  "description": "Updated purchase header"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master37 fields
  • DocNo string - Existing document selector, not a writable system key.
  • DocDate date - Document date.
  • CreditorCode string - Supplier/creditor code.
  • CreditorName string - Supplier display name.
  • Agent string - Purchase agent.
  • PurchaseLocation string - Purchase stock location.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • InvAddr1 string - Invoice address line 1.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • Note string - Rich-text Note is stored as canonical RTF; verification compares visible text semantics, not raw bytes.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • SupplierDONo string - Supplier delivery order number.
  • SupplierInvoiceNo string - Supplier invoice number; distinct from SupplierCNNo on purchase returns.
  • DueDate date - Due date where writable and nullable in the installed SDK.
  • InvAddr2 string - Invoice address line 2.
  • InvAddr3 string - Invoice address line 3.
  • InvAddr4 string - Invoice address line 4.
  • Phone2 string - Secondary phone.
  • Fax1 string - Fax number.
  • InclusiveTax boolean - Tax-inclusive pricing where writable.
  • TaxDate date - Tax date where writable.
  • TaxEntityID number - Tax entity ID where writable.
  • ProjNo string - Header project where writable.
  • DeptNo string - Header department where writable.
  • UserDefinedFields object - Existing defined UDF values via userDefinedFields require native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created.
Details22 fields
  • DtlKey number - Existing detail selector for update/delete; never a writable system key.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
  • UserDefinedFields object - Existing defined UDF values via userDefinedFields require native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Strict purchase update contract: friendly top-level fields, header Master or nativeFields.Master, and lines[].nativeFields map to public SDK scalar fields. Actual writable fields vary by document and installed SDK; this is not blanket all-field certification. Unknown or nonwritable requested fields are rejected before Save. Omitted fields stay unchanged; explicit null or empty values clear only optional string/nullable fields. Header-only updates do not require lines. Send explicit detailMode update, append, replace or delete for line edits; use dtlKey as a selector for existing rows. Calculated header totals, system keys, linkage and eInvoice lifecycle fields are protected. Existing eInvoice, linked-document and payment rules remain in force. validateOnly:true performs native preflight without Save and returns saved:false; preflight success is not persistence proof. After Save, a fresh SDK View reload compares requested persisted values: writeVerification.matched must be true for verified save success. A mismatch returns ok=false even when saved=true; never treat Save alone as persistence proof or blindly retry. Returned fields and lines contain the reloaded available document data; inspect fields.readErrors for public SDK getter failures, not silent omissions. Rich-text Note is stored as canonical RTF; compare visible text semantics, not raw bytes. Existing userDefinedFields are supported when defined and require explicit native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created. SupplierInvoiceNo is distinct from purchase-return SupplierCNNo; supplierCreditNoteNo and supplierCNNo map only to SupplierCNNo on purchase returns. RFQ uses native InvAddr1-InvAddr4 (friendly address1-address4) and DeliverAddr1 (friendly deliverAddress1), not native Address1; PI-specific supplier references are not advertised. Only get-request-quotation and update-request-quotation are published, not create. See docs/purchase-update-fields.md.

transfer-purchase-order-to-goods-received-notewrite

Transfer purchase order to goods received note.

Full payload schema: /v1/schema/commands/transfer-purchase-order-to-goods-received-note

Simple Payload Fields

sourceDocNo
required source purchase order document number
targetDocNo
optional target goods received note document number; omit to let AutoCount numbering generate it
docDate
optional YYYY-MM-DD target document date
creditorCode
optional supplier code where transfer creates a purchase document
debtorCode
optional customer code where transfer creates a sales document
transferQtyMode
optional transfer quantity mode such as all or outstanding
saveAsDraft
optional boolean; for delivery-order to sales-invoice, true saves the transferred invoice as an AutoCount draft
lines
optional selected source line rows with itemCode, sourceLineNo, qty, uom
description
optional target document narration
ref
optional target reference

Example Payload

{
  "sourceDocNo": "PO-000001",
  "targetDocNo": "",
  "docDate": "2026-06-24",
  "creditorCode": "400-S001",
  "transferQtyMode": "outstanding",
  "saveAsDraft": false,
  "description": "Transfer purchase order to goods received note",
  "ref": "API-TRANSFER-1001",
  "lines": [
    {
      "sourceLineNo": 1,
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT"
    }
  ]
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount transfer logic. AutoCount transfer rules decide which source lines and quantities are allowed. Omit lines to transfer the normal outstanding balance where supported.

transfer-purchase-order-to-purchase-invoicewrite

Transfer purchase order to purchase invoice, optionally assigning item batches and batch expiry.

Full payload schema: /v1/schema/commands/transfer-purchase-order-to-purchase-invoice

Simple Payload Fields

fromDocNo
required source PO number
docNo
optional target PI number; omit for AutoCount numbering
docDate
optional target date YYYY-MM-DD
lines
optional batch assignments only: [{sourceDtlKey, batchNo, batchExpiryDate?}]. Read DtlKey from get-purchase-order or read-purchase-order-lines first. batchno aliases batchNo. No itemCode/qty/price overrides; omitted lines retain native transfer values. Batch-enabled full transfers reject POs with prior or pending transferred quantities to prevent duplicate transfer.
batchAllocations
optional non-empty array [{sourceDtlKey, qty, batchNo, batchExpiryDate?}]; only explicitly allocated rows transfer. Positive source-UOM quantities, repeated sourceDtlKey allowed for batch splits. Cannot combine with lines. Read actual source DtlKey and available quantity first. Requires local-mvp-2026.09.29.01 or later installed on the selected connector; older builds may ignore this field and full-transfer.
createMissingBatches
optional boolean, default false; create missing ItemCode + BatchNo through SDK; requires update-item policy permission
updateExistingBatchExpiry
optional boolean, default false; explicitly permit changing shared batch master expiry; requires update-item policy permission
saveAsDraft
optional boolean; native SDK draft save when supported by the account book

Example Payload

{
  "fromDocNo": "PO-000001",
  "docDate": "2026-06-29",
  "createMissingBatches": false,
  "updateExistingBatchExpiry": false,
  "lines": [
    {
      "sourceDtlKey": 12345,
      "batchNo": "BATCH-001"
    }
  ]
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Requires local-mvp-2026.09.29.01 or later installed on the selected connector; publishing the download does not install it. Older builds may ignore batchAllocations and full-transfer; never trial against an older or unconfirmed build. Legacy mode without batchAllocations uses native PO FullDetails transfer. lines is NOT a selection or partial-quantity list; legacy mode still transfers all available source lines with optional single-batch assignments. batchAllocations cannot combine with lines and transfers only explicitly allocated rows; repeated sourceDtlKey splits a source row across batches. Each qty is positive in the source UOM; remaining = Qty - (TransferedQty + PendingTransferredQty) / Rate because those PO counters use smallest-UOM units. Native TSM 22-check acceptance passed for native PO linkage, source price/tax and saved totals, BOX Rate10 draft reservation, simple percent and prorated fixed discount, and 8% tax. No itemCode/UOM/price/tax/total overrides. Guards reject compound discounts, serial items, item packages and FOC allocations. Proportional DiscountAmt/SubTotal/Tax checks apply per-row and per-source aggregate tolerance 0.01 within each request; larger rounding drift rejects. Read actual sourceDtlKey and source quantities with read-purchase-order-lines filtered by docNo or get-purchase-order. createMissingBatches=true permits missing batches; lines[].batchExpiryDate or batchAllocations[].batchExpiryDate uses YYYY-MM-DD. updateExistingBatchExpiry=true explicitly permits shared Item Master expiry changes, not just this PI. Both flags require update-item policy permission; omit expiry to preserve it. Expiry conflicts and ambiguous mappings reject. Response includes writeVerification, batchMasterVerification, linkageVerified, sourceQuantityVerification and totalsVerified after fresh reload. Batch master and PI use separate SDK saves: inspect stage, batchMasterChanges and saved on failure (null means unknown), and read back before retrying; a duplicate-PI failure with a retained batch commit was verified. Sequential stale-reader native proof PASS: second stale PI aborted and was absent; truly simultaneous external-writer atomicity remains unproven. No connector SQL writes or source deletion/recreation. Native acceptance is bounded to tested cases, not every account book or discount/tax expression.

transfer-goods-received-note-to-purchase-invoicewrite

Transfer goods received note to purchase invoice.

Full payload schema: /v1/schema/commands/transfer-goods-received-note-to-purchase-invoice

Simple Payload Fields

fromDocNos
array of 1-100 distinct GRN numbers for one new PI; use this OR a single fromDocNo/sourceDocNo
fromDocNo
optional single GRN number; must be text, never an array
sourceDocNo
alias for the single fromDocNo; cannot combine with fromDocNos
docNo
optional new PI number; omit for AutoCount numbering. An existing PI is never overwritten
targetDocNo
alias for docNo
docDate
optional target date YYYY-MM-DD
supplierInvoiceNo
optional supplier invoice reference for the new PI
creditorCode
optional assertion; must match every source GRN
currencyCode
optional assertion; must match every source GRN
inclusiveTax
optional assertion; must match every source GRN
lines
optional nonempty array [{sourceDocNo, sourceDtlKey, qty}]; source UOM quantities. Read each GRN's DtlKey first. Each listed GRN needs at least one selected row; duplicate source/key pairs are rejected. Omit lines to transfer outstanding quantities. Maximum 5000 rows
transferQtyMode
outstanding only for multi-GRN/selected-line mode; includes pending draft reservations when calculating availability
transferOption
FullDetails only; unsummarized native transfer
saveAsDraft
optional boolean; true uses SDK Save(true) and verifies Draft status and pending source quantities
description
optional target narration
ref
optional target reference

Example Payload

{
  "fromDocNos": [
    "GR-016420",
    "GR-016421"
  ],
  "docDate": "2026-06-30",
  "supplierInvoiceNo": "SUP-000861",
  "saveAsDraft": false
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Multi-GRN support requires an updated connector; verify installation before using fromDocNos. Sources must share supplier, currency/rate and inclusive-tax mode. Native PartialTransfer preserves GRN linkage, source price/tax/UOM/location/batch; one native PI Save is followed by read-back of identity, amounts, links and source quantities. Supports normal stock lines; serial items, FOC, packages and unsupported discount calculations are guarded. No batch/expiry or price overrides. A failed transfer never calls Save. If saved is null or true with ok=false, reconcile the returned DocNo/DocKey before retrying; do not cancel/recreate or claim rollback. Reuse the same commandId when polling/retrying the same request.

transfer-purchase-invoice-to-purchase-returnwrite

Transfer purchase invoice to purchase return.

Full payload schema: /v1/schema/commands/transfer-purchase-invoice-to-purchase-return

Simple Payload Fields

sourceDocNo
required source purchase invoice document number
targetDocNo
optional target purchase return document number; omit to let AutoCount numbering generate it
docDate
optional YYYY-MM-DD target document date
creditorCode
optional supplier code where transfer creates a purchase document
debtorCode
optional customer code where transfer creates a sales document
transferQtyMode
optional transfer quantity mode such as all or outstanding
saveAsDraft
optional boolean; for delivery-order to sales-invoice, true saves the transferred invoice as an AutoCount draft
lines
optional selected source line rows with itemCode, sourceLineNo, qty, uom
description
optional target document narration
ref
optional target reference

Example Payload

{
  "sourceDocNo": "PI-000001",
  "targetDocNo": "",
  "docDate": "2026-06-24",
  "creditorCode": "400-S001",
  "transferQtyMode": "outstanding",
  "saveAsDraft": false,
  "description": "Transfer purchase invoice to purchase return",
  "ref": "API-TRANSFER-1001",
  "lines": [
    {
      "sourceLineNo": 1,
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT"
    }
  ]
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount transfer logic. AutoCount transfer rules decide which source lines and quantities are allowed. Omit lines to transfer the normal outstanding balance where supported.

list-purchase-invoicesread

List purchase invoices.

Full payload schema: /v1/schema/commands/list-purchase-invoices

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-purchase-detail-linesread

Read all purchase document lines together, or filter with document.

Full payload schema: /v1/schema/commands/read-purchase-detail-lines

Simple Payload Fields

document
optional: purchase-invoice | cash-purchase | goods-received-note | purchase-order | purchase-return
itemCode
optional
creditorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "document": "purchase-invoice",
  "creditorCode": "400-S001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Prefer the document-specific read-*-lines commands when the document family is known.

read-purchase-invoice-linesread

Read purchase invoice detail lines only.

Full payload schema: /v1/schema/commands/read-purchase-invoice-lines

Simple Payload Fields

itemCode
optional
creditorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "creditorCode": "400-S001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns account/project/tax/detail columns where AutoCount stores them.

read-cash-purchase-linesread

Read cash purchase detail lines only.

Full payload schema: /v1/schema/commands/read-cash-purchase-lines

Simple Payload Fields

itemCode
optional
creditorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "accountNo": "610-0000",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-goods-received-note-linesread

Read goods received note detail lines only.

Full payload schema: /v1/schema/commands/read-goods-received-note-lines

Simple Payload Fields

itemCode
optional
creditorCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "itemCode": "ITEM001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-purchase-order-linesread

Read purchase order detail lines only.

Full payload schema: /v1/schema/commands/read-purchase-order-lines

Simple Payload Fields

itemCode
optional
creditorCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "creditorCode": "400-S001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-purchase-return-linesread

Read purchase return detail lines only.

Full payload schema: /v1/schema/commands/read-purchase-return-lines

Simple Payload Fields

itemCode
optional
creditorCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "docNo": "PR-000001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

list-purchase-ordersread

List purchase orders.

Full payload schema: /v1/schema/commands/list-purchase-orders

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

list-goods-received-notesread

List goods received notes.

Full payload schema: /v1/schema/commands/list-goods-received-notes

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

list-purchase-returnsread

List purchase returns.

Full payload schema: /v1/schema/commands/list-purchase-returns

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

list-cash-purchasesread

List cash purchases.

Full payload schema: /v1/schema/commands/list-cash-purchases

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

get-request-quotationread

Get one request quotation (RFQ) by document number.

Full payload schema: /v1/schema/commands/get-request-quotation

Simple Payload Fields

docNo
required existing RFQ document number

Example Payload

{
  "docNo": "RFQ-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Reads available public SDK fields and lines. Inspect fields.readErrors for getter failures; missing values are not proof of empty fields. RFQ SDK availability is verified; per-field/account-book acceptance remains runtime-specific.

update-request-quotationwrite

Update an existing request quotation (RFQ) with verified persistence or native no-save preflight.

Full payload schema: /v1/schema/commands/update-request-quotation

Simple Payload Fields

docNo
required existing document number (selector)
reason
required business reason
docDate
optional Document date. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
creditorCode
optional Supplier/creditor code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
creditorName
optional Supplier display name. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
purchaseAgent
optional Purchase agent. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
agent
optional Purchase agent. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
purchaseLocation
optional Purchase stock location. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
location
optional Purchase stock location. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
ref
optional Reference. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
description
optional Header description. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
displayTerm
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
term
optional Credit term. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address1
optional Invoice address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr1
optional Invoice address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone1
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone
optional Phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
attention
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
contact
optional Attention/contact. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
branchCode
optional Branch code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyCode
optional Currency code. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
currencyRate
optional Currency rate. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
note
optional Rich-text Note is stored as canonical RTF; verification compares visible text semantics, not raw bytes. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark1
optional Remark 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark2
optional Remark 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark3
optional Remark 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
remark4
optional Remark 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
refDocNo
optional Reference document number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipVia
optional Shipping method. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
shipInfo
optional Shipping info. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
dueDate
optional Due date where writable and nullable in the installed SDK. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address2
optional Invoice address line 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr2
optional Invoice address line 2. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address3
optional Invoice address line 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr3
optional Invoice address line 3. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
address4
optional Invoice address line 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
invAddr4
optional Invoice address line 4. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
phone2
optional Secondary phone. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
fax1
optional Fax number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
fax
optional Fax number. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
inclusiveTax
optional Tax-inclusive pricing where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
taxDate
optional Tax date where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
taxEntityID
optional Tax entity ID where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
project
optional Header project where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
projNo
optional Header project where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
department
optional Header department where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deptNo
optional Header department where writable. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
deliverAddress1
optional RFQ delivery address line 1. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
userDefinedFields
optional Existing defined UDF values via userDefinedFields require native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created. Omitted stays unchanged; null or empty clears only optional string/nullable fields.
Master
optional header object of public SDK scalar fields
nativeFields
optional native header container: { Master: { SDKField: value } }
validateOnly
optional boolean; true runs native preflight without Save, returning saved:false; no persistence proof
detailMode
explicit update | append | replace | delete when editing lines; omit lines and detailMode for header-only updates
lines
optional detail array; update/delete select existing rows by dtlKey; append adds rows; replace replaces the detail set

Example Payload

{
  "docNo": "RFQ-000001",
  "reason": "Correct supplier reference",
  "description": "Updated purchase header"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master36 fields
  • DocNo string - Existing document selector, not a writable system key.
  • DocDate date - Document date.
  • CreditorCode string - Supplier/creditor code.
  • CreditorName string - Supplier display name.
  • Agent string - Purchase agent.
  • PurchaseLocation string - Purchase stock location.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • InvAddr1 string - Invoice address line 1.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • Note string - Rich-text Note is stored as canonical RTF; verification compares visible text semantics, not raw bytes.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • DueDate date - Due date where writable and nullable in the installed SDK.
  • InvAddr2 string - Invoice address line 2.
  • InvAddr3 string - Invoice address line 3.
  • InvAddr4 string - Invoice address line 4.
  • Phone2 string - Secondary phone.
  • Fax1 string - Fax number.
  • InclusiveTax boolean - Tax-inclusive pricing where writable.
  • TaxDate date - Tax date where writable.
  • TaxEntityID number - Tax entity ID where writable.
  • ProjNo string - Header project where writable.
  • DeptNo string - Header department where writable.
  • DeliverAddr1 string - RFQ delivery address line 1.
  • UserDefinedFields object - Existing defined UDF values via userDefinedFields require native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created.
Details22 fields
  • DtlKey number - Existing detail selector for update/delete; never a writable system key.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
  • UserDefinedFields object - Existing defined UDF values via userDefinedFields require native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Strict purchase update contract: friendly top-level fields, header Master or nativeFields.Master, and lines[].nativeFields map to public SDK scalar fields. Actual writable fields vary by document and installed SDK; this is not blanket all-field certification. Unknown or nonwritable requested fields are rejected before Save. Omitted fields stay unchanged; explicit null or empty values clear only optional string/nullable fields. Header-only updates do not require lines. Send explicit detailMode update, append, replace or delete for line edits; use dtlKey as a selector for existing rows. Calculated header totals, system keys, linkage and eInvoice lifecycle fields are protected. Existing eInvoice, linked-document and payment rules remain in force. validateOnly:true performs native preflight without Save and returns saved:false; preflight success is not persistence proof. After Save, a fresh SDK View reload compares requested persisted values: writeVerification.matched must be true for verified save success. A mismatch returns ok=false even when saved=true; never treat Save alone as persistence proof or blindly retry. Returned fields and lines contain the reloaded available document data; inspect fields.readErrors for public SDK getter failures, not silent omissions. Rich-text Note is stored as canonical RTF; compare visible text semantics, not raw bytes. Existing userDefinedFields are supported when defined and require explicit native save/readback verification; native UDF acceptance unproven: no suitable existing fixtures. No new UDF definitions are created. SupplierInvoiceNo is distinct from purchase-return SupplierCNNo; supplierCreditNoteNo and supplierCNNo map only to SupplierCNNo on purchase returns. RFQ uses native InvAddr1-InvAddr4 (friendly address1-address4) and DeliverAddr1 (friendly deliverAddress1), not native Address1; PI-specific supplier references are not advertised. Only get-request-quotation and update-request-quotation are published, not create. See docs/purchase-update-fields.md.

get-purchase-orderread

Get one purchase order by document number.

Full payload schema: /v1/schema/commands/get-purchase-order

Simple Payload Fields

docNo
required purchase order document number

Example Payload

{
  "docNo": "PO-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-purchase-orderwrite

Create a purchase order.

Full payload schema: /v1/schema/commands/create-purchase-order

Simple Payload Fields

creditorCode
required AutoCount creditor/supplier code
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
items
optional alias for lines
creditorName
optional supplier display name; AutoCount creditor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional creditor branch code/name where the customer uses branches
purchaseLocation
optional exact active AutoCount purchase/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
purchaseAgent
optional Purchase Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional supplier address line 1
address2
optional supplier address line 2
address3
optional supplier address line 3
address4
optional supplier address line 4
description
optional document description/narration
ref
optional reference
supplierInvoiceNo
optional supplier invoice number
supplierDONo
optional supplier delivery order number
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional document-level fallback GL posting account for purchase invoice/cash purchase lines when item/account mapping is not enough
postingAccountRule
For create-purchase-invoice and create-cash-purchase, pass lines[].accountNo / accNo / glAccount / postingAccountNo when AutoCount has no default purchase account. Use read-default-accounts.purchaseAccNo or choose a valid purchase/expense account from read-chart-accounts. For create-ap-invoice, if accountNo is omitted the connector also tries the same creditor's recent AP invoice detail account.
payments
optional array for cash purchase style documents; send multiple payment rows for AutoCount Multi Payment. cash purchase void/delete remains guarded because linked payment/cash-book reversal needs module-specific proof
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example Payload

{
  "creditorCode": "400-S001",
  "docDate": "2026-06-24",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "purchaseLocation": "HQ",
  "purchaseAgent": "PA01",
  "attention": "Supplier Sales Department",
  "contact": "Supplier Sales Department",
  "phone": "03-33333333",
  "address1": "No. 2 Jalan Supplier",
  "address2": "Supplier Park",
  "address3": "Petaling Jaya",
  "address4": "Malaysia",
  "description": "Purchase document created through API",
  "supplierInvoiceNo": "SUP-INV-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API purchase item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 80,
      "discount": "0",
      "taxType": "P-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 160,
      "accountNo": "610-0000",
      "postingAccountNo": "610-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "610-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 80,
      "taxType": "P-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 100,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "BANK",
      "paymentBy": "Bank Transfer",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master25 fields
  • DocNo string - Purchase invoice document number.
  • DocDate date - Document date.
  • CreditorCode string - Supplier/creditor code.
  • CreditorName string - Supplier display name.
  • Agent string - Purchase agent.
  • PurchaseLocation string - Purchase stock location.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • InvAddr1 string - Invoice address line 1.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • SupplierDONo string - Supplier delivery order number.
  • SupplierInvoiceNo string - Supplier invoice number.
Details21 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails2 fields
  • DocType string - Source document type such as PO or GRN.
  • DocNo string - Source document number.
PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Document number format.
  • SaveAsDraft boolean - Draft/save option.

Notes: Creates purchase order through AutoCount SDK. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. purchaseLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default. For purchase invoice/cash purchase, line accountNo is a GL posting account. If AutoCount says no default account or AI does not know the account, first call read-default-accounts and use purchaseAccNo, or list read-chart-accounts and choose a valid purchase/expense account. For AP invoice, if accountNo is omitted the connector tries payload/default purchase account first, then recent AP invoice history for the same creditor. For cash purchase, create/list/get are supported where AutoCount exposes the command; direct void/delete stay guarded until the linked payment/cash-book reversal workflow is proven.

get-goods-received-noteread

Get one goods received note by document number.

Full payload schema: /v1/schema/commands/get-goods-received-note

Simple Payload Fields

docNo
required goods received note document number

Example Payload

{
  "docNo": "GRN-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-goods-received-notewrite

Create a goods received note.

Full payload schema: /v1/schema/commands/create-goods-received-note

Simple Payload Fields

creditorCode
required AutoCount creditor/supplier code
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
items
optional alias for lines
creditorName
optional supplier display name; AutoCount creditor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional creditor branch code/name where the customer uses branches
purchaseLocation
optional exact active AutoCount purchase/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
purchaseAgent
optional Purchase Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional supplier address line 1
address2
optional supplier address line 2
address3
optional supplier address line 3
address4
optional supplier address line 4
description
optional document description/narration
ref
optional reference
supplierInvoiceNo
optional supplier invoice number
supplierDONo
optional supplier delivery order number
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional document-level fallback GL posting account for purchase invoice/cash purchase lines when item/account mapping is not enough
postingAccountRule
For create-purchase-invoice and create-cash-purchase, pass lines[].accountNo / accNo / glAccount / postingAccountNo when AutoCount has no default purchase account. Use read-default-accounts.purchaseAccNo or choose a valid purchase/expense account from read-chart-accounts. For create-ap-invoice, if accountNo is omitted the connector also tries the same creditor's recent AP invoice detail account.
payments
optional array for cash purchase style documents; send multiple payment rows for AutoCount Multi Payment. cash purchase void/delete remains guarded because linked payment/cash-book reversal needs module-specific proof
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example Payload

{
  "creditorCode": "400-S001",
  "docDate": "2026-06-24",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "purchaseLocation": "HQ",
  "purchaseAgent": "PA01",
  "attention": "Supplier Sales Department",
  "contact": "Supplier Sales Department",
  "phone": "03-33333333",
  "address1": "No. 2 Jalan Supplier",
  "address2": "Supplier Park",
  "address3": "Petaling Jaya",
  "address4": "Malaysia",
  "description": "Purchase document created through API",
  "supplierInvoiceNo": "SUP-INV-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API purchase item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 80,
      "discount": "0",
      "taxType": "P-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 160,
      "accountNo": "610-0000",
      "postingAccountNo": "610-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "610-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 80,
      "taxType": "P-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 100,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "BANK",
      "paymentBy": "Bank Transfer",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master25 fields
  • DocNo string - Purchase invoice document number.
  • DocDate date - Document date.
  • CreditorCode string - Supplier/creditor code.
  • CreditorName string - Supplier display name.
  • Agent string - Purchase agent.
  • PurchaseLocation string - Purchase stock location.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • InvAddr1 string - Invoice address line 1.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • SupplierDONo string - Supplier delivery order number.
  • SupplierInvoiceNo string - Supplier invoice number.
Details21 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails2 fields
  • DocType string - Source document type such as PO or GRN.
  • DocNo string - Source document number.
PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Document number format.
  • SaveAsDraft boolean - Draft/save option.

Notes: Creates goods received note through AutoCount SDK. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. purchaseLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default. For purchase invoice/cash purchase, line accountNo is a GL posting account. If AutoCount says no default account or AI does not know the account, first call read-default-accounts and use purchaseAccNo, or list read-chart-accounts and choose a valid purchase/expense account. For AP invoice, if accountNo is omitted the connector tries payload/default purchase account first, then recent AP invoice history for the same creditor. For cash purchase, create/list/get are supported where AutoCount exposes the command; direct void/delete stay guarded until the linked payment/cash-book reversal workflow is proven.

get-purchase-invoiceread

Get one purchase invoice by document number.

Full payload schema: /v1/schema/commands/get-purchase-invoice

Simple Payload Fields

docNo
required purchase invoice document number

Example Payload

{
  "docNo": "PI-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

print-purchase-documentwrite

Native purchase printing with verified Print Count; physical purchase template testing remains required.

Full payload schema: /v1/schema/commands/print-purchase-document

Simple Payload Fields

document
purchase-invoice | purchase-order | goods-received-note | purchase-return | cash-purchase
docNo
required
reportName
required exact installed AutoCount template name
printerName
required exact installed Windows printer name

Example Payload

{
  "document": "purchase-invoice",
  "docNo": "PI-000001",
  "reportName": "Purchase Invoice",
  "printerName": "MF240 Series"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Requires connector 2026.09.11.01 and Purchase Edit permission. Purchase invoice PDF count verified; physical purchase output is not yet proven. Spooler completion required; missing/disappearing jobs return uncertain. Reuse commandId and manually reconcile interrupted output.

create-purchase-invoicewrite

Create a purchase invoice; guarded MyInvois type 11 self-billed recovery is supported for TSM.

Full payload schema: /v1/schema/commands/create-purchase-invoice

Simple Payload Fields

creditorCode
required AutoCount creditor/supplier code
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
items
optional alias for lines
accountNo
optional document-level fallback GL posting account for purchase invoice/cash purchase lines when item/account mapping is not enough
restoreMode
optional internal recovery value recover-existing-myinvois-direct
confirmNoLhdnSubmit
required true in recovery mode
taxEntity
supplier taxpayer identity required in recovery mode
buyerTaxEntity
buyer taxpayer identity used by self-billed recovery
eInvoiceRecovery
required UUID, timestamps, status, link, totals and tax in recovery mode
creditorName
optional supplier display name; AutoCount creditor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional creditor branch code/name where the customer uses branches
purchaseLocation
optional exact active AutoCount purchase/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
purchaseAgent
optional Purchase Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional supplier address line 1
address2
optional supplier address line 2
address3
optional supplier address line 3
address4
optional supplier address line 4
description
optional document description/narration
ref
optional reference
supplierInvoiceNo
optional supplier invoice number
supplierDONo
optional supplier delivery order number
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
postingAccountRule
For create-purchase-invoice and create-cash-purchase, pass lines[].accountNo / accNo / glAccount / postingAccountNo when AutoCount has no default purchase account. Use read-default-accounts.purchaseAccNo or choose a valid purchase/expense account from read-chart-accounts. For create-ap-invoice, if accountNo is omitted the connector also tries the same creditor's recent AP invoice detail account.
payments
optional array for cash purchase style documents; send multiple payment rows for AutoCount Multi Payment. cash purchase void/delete remains guarded because linked payment/cash-book reversal needs module-specific proof
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example Payload

{
  "creditorCode": "400-S001",
  "docDate": "2026-06-24",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100,
      "accountNo": "610-0000"
    }
  ],
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "purchaseLocation": "HQ",
  "purchaseAgent": "PA01",
  "attention": "Supplier Sales Department",
  "contact": "Supplier Sales Department",
  "phone": "03-33333333",
  "address1": "No. 2 Jalan Supplier",
  "address2": "Supplier Park",
  "address3": "Petaling Jaya",
  "address4": "Malaysia",
  "description": "Purchase document created through API",
  "supplierInvoiceNo": "SUP-INV-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API purchase item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 80,
      "discount": "0",
      "taxType": "P-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 160,
      "accountNo": "610-0000",
      "postingAccountNo": "610-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "610-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 80,
      "taxType": "P-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 100,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "BANK",
      "paymentBy": "Bank Transfer",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master25 fields
  • DocNo string - Purchase invoice document number.
  • DocDate date - Document date.
  • CreditorCode string - Supplier/creditor code.
  • CreditorName string - Supplier display name.
  • Agent string - Purchase agent.
  • PurchaseLocation string - Purchase stock location.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • InvAddr1 string - Invoice address line 1.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • SupplierDONo string - Supplier delivery order number.
  • SupplierInvoiceNo string - Supplier invoice number.
Details21 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails2 fields
  • DocType string - Source document type such as PO or GRN.
  • DocNo string - Source document number.
PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Document number format.
  • SaveAsDraft boolean - Draft/save option.

Notes: Normal create uses AutoCount SDK. If default account is missing, call read-default-accounts and use purchaseAccNo, or choose a valid purchase/expense GL account from read-chart-accounts. Recovery is companyId=tsm only, UUID guarded, reload verified, and does not submit to LHDN. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. purchaseLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default. For purchase invoice/cash purchase, line accountNo is a GL posting account. If AutoCount says no default account or AI does not know the account, first call read-default-accounts and use purchaseAccNo, or list read-chart-accounts and choose a valid purchase/expense account. For AP invoice, if accountNo is omitted the connector tries payload/default purchase account first, then recent AP invoice history for the same creditor. For cash purchase, create/list/get are supported where AutoCount exposes the command; direct void/delete stay guarded until the linked payment/cash-book reversal workflow is proven.

get-purchase-returnread

Get one purchase return by document number.

Full payload schema: /v1/schema/commands/get-purchase-return

Simple Payload Fields

docNo
required purchase return document number

Example Payload

{
  "docNo": "PR-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-purchase-returnwrite

Create a purchase return.

Full payload schema: /v1/schema/commands/create-purchase-return

Simple Payload Fields

creditorCode
required AutoCount creditor/supplier code
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
items
optional alias for lines
creditorName
optional supplier display name; AutoCount creditor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional creditor branch code/name where the customer uses branches
purchaseLocation
optional exact active AutoCount purchase/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
purchaseAgent
optional Purchase Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional supplier address line 1
address2
optional supplier address line 2
address3
optional supplier address line 3
address4
optional supplier address line 4
description
optional document description/narration
ref
optional reference
supplierInvoiceNo
optional supplier invoice number
supplierDONo
optional supplier delivery order number
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
project
optional project code
department
optional department code
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
accountNo
optional document-level fallback GL posting account for purchase invoice/cash purchase lines when item/account mapping is not enough
postingAccountRule
For create-purchase-invoice and create-cash-purchase, pass lines[].accountNo / accNo / glAccount / postingAccountNo when AutoCount has no default purchase account. Use read-default-accounts.purchaseAccNo or choose a valid purchase/expense account from read-chart-accounts. For create-ap-invoice, if accountNo is omitted the connector also tries the same creditor's recent AP invoice detail account.
payments
optional array for cash purchase style documents; send multiple payment rows for AutoCount Multi Payment. cash purchase void/delete remains guarded because linked payment/cash-book reversal needs module-specific proof
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example Payload

{
  "creditorCode": "400-S001",
  "docDate": "2026-06-24",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100
    }
  ],
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "purchaseLocation": "HQ",
  "purchaseAgent": "PA01",
  "attention": "Supplier Sales Department",
  "contact": "Supplier Sales Department",
  "phone": "03-33333333",
  "address1": "No. 2 Jalan Supplier",
  "address2": "Supplier Park",
  "address3": "Petaling Jaya",
  "address4": "Malaysia",
  "description": "Purchase document created through API",
  "supplierInvoiceNo": "SUP-INV-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API purchase item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 80,
      "discount": "0",
      "taxType": "P-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 160,
      "accountNo": "610-0000",
      "postingAccountNo": "610-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "610-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 80,
      "taxType": "P-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 100,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "BANK",
      "paymentBy": "Bank Transfer",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master25 fields
  • DocNo string - Purchase invoice document number.
  • DocDate date - Document date.
  • CreditorCode string - Supplier/creditor code.
  • CreditorName string - Supplier display name.
  • Agent string - Purchase agent.
  • PurchaseLocation string - Purchase stock location.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • InvAddr1 string - Invoice address line 1.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • SupplierDONo string - Supplier delivery order number.
  • SupplierInvoiceNo string - Supplier invoice number.
Details21 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails2 fields
  • DocType string - Source document type such as PO or GRN.
  • DocNo string - Source document number.
PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Document number format.
  • SaveAsDraft boolean - Draft/save option.

Notes: Creates purchase return through AutoCount Purchase Return SDK when available. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. purchaseLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default. For purchase invoice/cash purchase, line accountNo is a GL posting account. If AutoCount says no default account or AI does not know the account, first call read-default-accounts and use purchaseAccNo, or list read-chart-accounts and choose a valid purchase/expense account. For AP invoice, if accountNo is omitted the connector tries payload/default purchase account first, then recent AP invoice history for the same creditor. For cash purchase, create/list/get are supported where AutoCount exposes the command; direct void/delete stay guarded until the linked payment/cash-book reversal workflow is proven.

get-cash-purchaseread

Get one cash purchase by document number.

Full payload schema: /v1/schema/commands/get-cash-purchase

Simple Payload Fields

docNo
required cash purchase document number

Example Payload

{
  "docNo": "CP-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-cash-purchasewrite

Create a cash purchase.

Full payload schema: /v1/schema/commands/create-cash-purchase

Simple Payload Fields

creditorCode
required AutoCount creditor/supplier code
docDate
required or optional YYYY-MM-DD document date depending on account-book numbering rules
supplierInvoiceNo
optional supplier invoice number
project
optional project code
projNo
project code alias
projectNo
project code alias
department
optional department code
deptNo
department code alias
items
optional alias for lines
accountNo
optional document-level fallback GL posting account for purchase invoice/cash purchase lines when item/account mapping is not enough
payments
optional array for cash purchase style documents; send multiple payment rows for AutoCount Multi Payment. cash purchase void/delete remains guarded because linked payment/cash-book reversal needs module-specific proof
creditorName
optional supplier display name; AutoCount creditor name is used when omitted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
displayTerm
optional credit term such as C.O.D. or 30 DAYS
dueDate
optional YYYY-MM-DD due date
branchCode
optional creditor branch code/name where the customer uses branches
purchaseLocation
optional exact active AutoCount purchase/stock location code such as HQ-RETAIL; call read-locations first. It fills only lines that omit lines[].location; an explicit line location always wins
purchaseAgent
optional Purchase Agent Maintenance code
attention
optional attention/contact person
contact
optional contact person alias for attention
phone1
optional phone number printed on document
phone
optional phone alias for phone1
phone2
optional secondary phone/mobile number
fax1
optional fax number printed on document
fax
optional fax alias for fax1
address1
optional supplier address line 1
address2
optional supplier address line 2
address3
optional supplier address line 3
address4
optional supplier address line 4
description
optional document description/narration
ref
optional reference
supplierDONo
optional supplier delivery order number
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean; true when line prices include tax
taxDate
optional YYYY-MM-DD tax date
taxEntityID
optional numeric Tax Entity Maintenance ID for the document header/e-Invoice party
lines
required array of stock item rows or account/service rows; items is also accepted as a compatibility alias
postingAccountRule
For create-purchase-invoice and create-cash-purchase, pass lines[].accountNo / accNo / glAccount / postingAccountNo when AutoCount has no default purchase account. Use read-default-accounts.purchaseAccNo or choose a valid purchase/expense account from read-chart-accounts. For create-ap-invoice, if accountNo is omitted the connector also tries the same creditor's recent AP invoice detail account.
userDefinedFields
optional object of AutoCount user-defined fields; use the AutoCount UDF field name without the UDF_ column prefix, for example { APITEST: value }

Example Payload

{
  "creditorCode": "400-S001",
  "supplierInvoiceNo": "SUP-INV-1001",
  "docDate": "2026-06-24",
  "project": "PRJAPI",
  "projNo": "PRJAPI",
  "department": "HQ",
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "unitPrice": 100,
      "accountNo": "610-0000",
      "project": "PRJAPI",
      "projNo": "PRJAPI"
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 100,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    },
    {
      "paymentMethod": "BANK",
      "paymentBy": "Bank Transfer",
      "paymentAmount": 60,
      "chequeNo": "",
      "bankCharge": 0,
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    }
  ],
  "displayTerm": "30 DAYS",
  "branchCode": "MAIN",
  "purchaseLocation": "HQ",
  "purchaseAgent": "PA01",
  "attention": "Supplier Sales Department",
  "contact": "Supplier Sales Department",
  "phone": "03-33333333",
  "address1": "No. 2 Jalan Supplier",
  "address2": "Supplier Park",
  "address3": "Petaling Jaya",
  "address4": "Malaysia",
  "description": "Purchase document created through API",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "taxEntityID": 1,
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "API purchase item line 1",
      "description2": "Line second description",
      "furtherDescription": "Optional longer line note",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 80,
      "discount": "0",
      "taxType": "P-0",
      "taxRate": 0,
      "taxAmount": 0,
      "amount": 160,
      "accountNo": "610-0000",
      "postingAccountNo": "610-0000",
      "location": "HQ",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "Blue"
      }
    },
    {
      "accountNo": "610-0000",
      "description": "Service/account line without itemCode",
      "qty": 1,
      "unitPrice": 80,
      "taxType": "P-0",
      "location": "HQ",
      "project": "PRJAPI",
      "department": "HQ"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master25 fields
  • DocNo string - Purchase invoice document number.
  • DocDate date - Document date.
  • CreditorCode string - Supplier/creditor code.
  • CreditorName string - Supplier display name.
  • Agent string - Purchase agent.
  • PurchaseLocation string - Purchase stock location.
  • Ref string - Reference.
  • Description string - Header description.
  • DisplayTerm string - Credit term.
  • InvAddr1 string - Invoice address line 1.
  • Phone1 string - Phone.
  • Attention string - Attention/contact.
  • BranchCode string - Branch code.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • Note string - Note.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • RefDocNo string - Reference document number.
  • ShipVia string - Shipping method.
  • ShipInfo string - Shipping info.
  • SupplierDONo string - Supplier delivery order number.
  • SupplierInvoiceNo string - Supplier invoice number.
Details21 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - Stock location.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Qty number - Quantity.
  • FOCQty number - FOC quantity.
  • UnitPrice number - Unit price.
  • Discount string - Discount.
  • TaxCode string - Tax code.
  • TaxRate number - Tax rate.
  • TaxAdjustment number - Tax adjustment.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • DeliveryDate date - Delivery date.
  • SalesExemptionNo string - Sales exemption number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails2 fields
  • DocType string - Source document type such as PO or GRN.
  • DocNo string - Source document number.
PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Document number format.
  • SaveAsDraft boolean - Draft/save option.

Notes: Creates cash purchase when the installed AutoCount SDK exposes the command. If default account is missing, call read-default-accounts and use purchaseAccNo, or choose a valid purchase/expense GL account from read-chart-accounts. Use read-payment-methods first; payments[].paymentMethod must match an active AutoCount Payment Method code, and paymentAmount totals should equal the document total. Line-level project overrides top-level project. Direct void/delete stay guarded until linked payment/cash-book reversal is proven. Full payload example is for human/Postman reference. For stock-item lines, send itemCode/uom/location and call read-locations for the exact active location code. For account/service lines, omit itemCode and send accountNo / accNo / glAccount / postingAccountNo; many account books still require lines[].location even without itemCode. purchaseLocation is copied to lines that omit location; lines[].location wins. The connector verifies AutoCount accepted the requested detail location before save instead of silently using a default. For purchase invoice/cash purchase, line accountNo is a GL posting account. If AutoCount says no default account or AI does not know the account, first call read-default-accounts and use purchaseAccNo, or list read-chart-accounts and choose a valid purchase/expense account. For AP invoice, if accountNo is omitted the connector tries payload/default purchase account first, then recent AP invoice history for the same creditor. For cash purchase, create/list/get are supported where AutoCount exposes the command; direct void/delete stay guarded until the linked payment/cash-book reversal workflow is proven.

AR Customer accounting invoices, payments, deposits, refunds, credit notes, debit notes, and outstanding. 52 commands

Command Native Sections

read-ar-outstandingread

Legacy AR outstanding lookup. Prefer read-ar-outstanding-documents for docKey-based knock-off.

Full payload schema: /v1/schema/commands/read-ar-outstanding

Simple Payload Fields

debtorCode
optional debtor/customer code
maxRows
optional row limit; maxRows: 0 means return all rows

Example Payload

{
  "debtorCode": "300-A001",
  "maxRows": 0
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

update-ar-paymentwrite

Update AR payment header/simple fields.

Full payload schema: /v1/schema/commands/update-ar-payment

Simple Payload Fields

docNo
required existing document number
docKey
optional existing document key
reason
required audit reason
docDate
optional YYYY-MM-DD document date
description
optional description; null or empty clears optional text
ref
optional reference where the AutoCount document exposes it
note
optional note where the AutoCount document exposes it
journalType
optional journal type where the AutoCount document exposes it
debtorCode
optional customer/debtor code where AutoCount allows changing it
detailMode
explicit update | append | replace | delete for detail edits
paymentLines
optional payment detail updates selected by dtlKey
knockOffs
optional knock-off allocation edit array; each row supports docType, docKey, docNo, amount
knockOffMode
optional knock-off edit mode: replace | append | update
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values

Example Payload

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification.

void-ar-paymentwrite

Guarded AR payment void request.

Full payload schema: /v1/schema/commands/void-ar-payment

Simple Payload Fields

docNo
required
reason
required

Example Payload

{
  "docNo": "OR-000001",
  "reason": "void/correct document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked until module-specific AutoCount void/cancel safety is proven.

delete-ar-paymentwrite

Guarded AR payment delete request.

Full payload schema: /v1/schema/commands/delete-ar-payment

Simple Payload Fields

docNo
required
reason
required

Example Payload

{
  "docNo": "OR-000001",
  "reason": "remove/correct document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked. Use reversal, cancellation, or replacement workflow until module-specific AutoCount delete safety is proven.

update-ar-invoicewrite

Update AR invoice header/simple fields.

Full payload schema: /v1/schema/commands/update-ar-invoice

Simple Payload Fields

docNo
required existing document number
docKey
optional existing document key
reason
required audit reason
docDate
optional YYYY-MM-DD document date
description
optional description; null or empty clears optional text
ref
optional reference where the AutoCount document exposes it
note
optional note where the AutoCount document exposes it
journalType
optional journal type where the AutoCount document exposes it
debtorCode
optional customer/debtor code where AutoCount allows changing it
detailMode
explicit update | append | replace | delete for detail edits
lines
optional posting/detail updates selected by dtlKey
knockOffs
optional knock-off allocation edit array for credit-note style documents; each row supports docType, docKey, docNo, amount
knockOffMode
optional knock-off edit mode: replace | append | update
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values

Example Payload

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification.

void-ar-invoicewrite

Guarded AR invoice void request.

Full payload schema: /v1/schema/commands/void-ar-invoice

Simple Payload Fields

docNo
required
reason
required

Example Payload

{
  "docNo": "ARI-000001",
  "reason": "void/correct document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked until module-specific AutoCount void/cancel safety is proven.

delete-ar-invoicewrite

Guarded AR invoice delete request.

Full payload schema: /v1/schema/commands/delete-ar-invoice

Simple Payload Fields

docNo
required
reason
required

Example Payload

{
  "docNo": "ARI-000001",
  "reason": "remove/correct document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked. Use reversal, cancellation, or replacement workflow until module-specific AutoCount delete safety is proven.

update-ar-credit-notewrite

Update AR credit note header/simple fields.

Full payload schema: /v1/schema/commands/update-ar-credit-note

Simple Payload Fields

docNo
required existing document number
docKey
optional existing document key
reason
required audit reason
docDate
optional YYYY-MM-DD document date
description
optional description; null or empty clears optional text
ref
optional reference where the AutoCount document exposes it
note
optional note where the AutoCount document exposes it
journalType
optional journal type where the AutoCount document exposes it
debtorCode
optional customer/debtor code where AutoCount allows changing it
detailMode
explicit update | append | replace | delete for detail edits
lines
optional posting/detail updates selected by dtlKey
knockOffs
optional knock-off allocation edit array for credit-note style documents; each row supports docType, docKey, docNo, amount
knockOffMode
optional knock-off edit mode: replace | append | update
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values

Example Payload

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification.

void-ar-credit-notewrite

Guarded AR credit note void request.

Full payload schema: /v1/schema/commands/void-ar-credit-note

Simple Payload Fields

docNo
required
reason
required

Example Payload

{
  "docNo": "CN-000001",
  "reason": "void/correct document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked until module-specific AutoCount void/cancel safety is proven.

delete-ar-credit-notewrite

Guarded AR credit note delete request.

Full payload schema: /v1/schema/commands/delete-ar-credit-note

Simple Payload Fields

docNo
required
reason
required

Example Payload

{
  "docNo": "CN-000001",
  "reason": "remove/correct document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked. Use reversal, cancellation, or replacement workflow until module-specific AutoCount delete safety is proven.

update-ar-debit-notewrite

Update AR debit note header/simple fields.

Full payload schema: /v1/schema/commands/update-ar-debit-note

Simple Payload Fields

docNo
required existing document number
docKey
optional existing document key
reason
required audit reason
docDate
optional YYYY-MM-DD document date
description
optional description; null or empty clears optional text
ref
optional reference where the AutoCount document exposes it
note
optional note where the AutoCount document exposes it
journalType
optional journal type where the AutoCount document exposes it
debtorCode
optional customer/debtor code where AutoCount allows changing it
detailMode
explicit update | append | replace | delete for detail edits
lines
optional posting/detail updates selected by dtlKey
knockOffs
optional knock-off allocation edit array for credit-note style documents; each row supports docType, docKey, docNo, amount
knockOffMode
optional knock-off edit mode: replace | append | update
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values

Example Payload

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification.

void-ar-debit-notewrite

Guarded AR debit note void request.

Full payload schema: /v1/schema/commands/void-ar-debit-note

Simple Payload Fields

docNo
required
reason
required

Example Payload

{
  "docNo": "DN-000001",
  "reason": "void/correct document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked until module-specific AutoCount void/cancel safety is proven.

delete-ar-debit-notewrite

Guarded AR debit note delete request.

Full payload schema: /v1/schema/commands/delete-ar-debit-note

Simple Payload Fields

docNo
required
reason
required

Example Payload

{
  "docNo": "DN-000001",
  "reason": "remove/correct document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked. Use reversal, cancellation, or replacement workflow until module-specific AutoCount delete safety is proven.

update-ar-refundwrite

Update AR refund header/simple fields.

Full payload schema: /v1/schema/commands/update-ar-refund

Simple Payload Fields

docNo
required existing document number
docKey
optional existing document key
reason
required audit reason
docDate
optional YYYY-MM-DD document date
description
optional description; null or empty clears optional text
ref
optional reference where the AutoCount document exposes it
note
optional note where the AutoCount document exposes it
journalType
optional journal type where the AutoCount document exposes it
debtorCode
optional customer/debtor code where AutoCount allows changing it
detailMode
explicit update | append | replace | delete for detail edits
paymentLines
optional payment detail updates selected by dtlKey
knockOffs
optional knock-off allocation edit array; each row supports docType, docKey, docNo, amount
knockOffMode
optional knock-off edit mode: replace | append | update
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values

Example Payload

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification.

void-ar-refundwrite

Guarded AR refund void request.

Full payload schema: /v1/schema/commands/void-ar-refund

Simple Payload Fields

docNo
required
reason
required

Example Payload

{
  "docNo": "PV-000001",
  "reason": "void/correct document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked until module-specific AutoCount void/cancel safety is proven.

delete-ar-refundwrite

Guarded AR refund delete request.

Full payload schema: /v1/schema/commands/delete-ar-refund

Simple Payload Fields

docNo
required
reason
required

Example Payload

{
  "docNo": "PV-000001",
  "reason": "remove/correct document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked. Use reversal, cancellation, or replacement workflow until module-specific AutoCount delete safety is proven.

read-debtorsread

List debtors/customers.

Full payload schema: /v1/schema/commands/read-debtors

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

export-debtor-detailsread

Export all debtor/customer master records in one read-only command, including more than 5000.

Full payload schema: /v1/schema/commands/export-debtor-details

Simple Payload Fields

maxDebtors
optional nonnegative integer; omitted or 0 exports all master records in fast mode; positive values limit the export, including values above 5000; full SDK detail remains capped at 5000
maxTableRows
optional positive child-table row limit per debtor, default 20; maxTableRows:0 is rejected
includeTableData
optional boolean, default true; fast mode always skips child tables
activeOnly
optional boolean, default false
detailMode
optional: auto (default), fast (master fields only), full (bounded per-debtor SDK fields and child tables); auto uses fast when maxDebtors is omitted, 0 or above 1000; explicit 1-1000 retains SDK detail

Example Payload

{
  "includeTableData": false,
  "activeOnly": false
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Requires connector local-mvp-2026.10.08.02 or later. Send one command and poll that command; do not queue thousands of get-debtor-detail calls. Fast mode reads internally in batches of at most 1000. Omit maxDebtors to export all; an explicit 5000 still limits the result to 5000. Check exportComplete, partial, rows and exportedRows. For large results, inline data is only a preview (responseTruncated:true); download result.artifactUrl / GET /v1/commands/{commandId}/artifact using the same tenant authorization, decompress gzip and parse JSON data. fullReturnedRows is the downloaded record count. The compressed artifact has an 8 MiB safety limit; excess size or a failed batch fails the command, never reports a complete export. This is a live read, not a point-in-time snapshot; detected count/boundary changes fail for retry. Full mode defaults/caps at 5000 and supplies child tables; use get-debtor-detail for one customer. Creditor export limits are unchanged. See docs/debtor-detail-export-api.md.

get-debtor-detailread

Read one debtor/customer with all public SDK fields and child tables.

Full payload schema: /v1/schema/commands/get-debtor-detail

Simple Payload Fields

accNo
required debtor/customer code; debtorCode or customerCode also accepted
maxTableRows
optional child-table row limit; use 20-100 for normal lookup
includeTableData
optional boolean, default true

Example Payload

{
  "accNo": "300-A001",
  "maxTableRows": 20
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount.ARAP.Debtor.DebtorDataAccess.GetDebtor. Returns fields and child tables such as DebtorTable, BranchTable, ContactTable, TaxExemptionTable, and GLMastTable when available. Do not queue many maxTableRows:0 single-detail calls; use export-debtor-details for large exports.

get-debtor-credit-controlread

Read one debtor/customer credit-control settings through AutoCount debtor SDK.

Full payload schema: /v1/schema/commands/get-debtor-credit-control

Simple Payload Fields

accNo
required debtor/customer code; debtorCode or customerCode also accepted

Example Payload

{
  "accNo": "300-A001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns stable fields such as companyName, controlAccount, currencyCode, creditTerm and a creditControl field map containing credit/term/limit/control fields exposed by that AutoCount DLL.

read-ar-outstanding-documentsread

List outstanding AR invoice documents with docKey for allocation and knock-off.

Full payload schema: /v1/schema/commands/read-ar-outstanding-documents

Simple Payload Fields

debtorCode
optional debtor/customer code
maxRows
optional row limit; maxRows: 0 means return all rows

Example Payload

{
  "debtorCode": "300-A001",
  "maxRows": 0
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns SDK-safe docType RI plus displayDocType IV. Use the returned docType for AR payment and AR credit-note invoice knock-off.

read-ar-detail-linesread

Read AR account/detail lines across AR invoices, payments, refunds, credit notes, and debit notes.

Full payload schema: /v1/schema/commands/read-ar-detail-lines

Simple Payload Fields

debtorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "debtorCode": "300-A001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-ar-invoice-linesread

Read AR invoice detail/account lines only.

Full payload schema: /v1/schema/commands/read-ar-invoice-lines

Simple Payload Fields

debtorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "accountNo": "500-0000",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-ar-payment-linesread

Read AR payment detail/payment method lines only.

Full payload schema: /v1/schema/commands/read-ar-payment-lines

Simple Payload Fields

debtorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "debtorCode": "300-A001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-ar-credit-note-linesread

Read AR credit note detail/account lines only.

Full payload schema: /v1/schema/commands/read-ar-credit-note-lines

Simple Payload Fields

debtorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "debtorCode": "300-A001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-ar-debit-note-linesread

Read AR debit note detail/account lines only.

Full payload schema: /v1/schema/commands/read-ar-debit-note-lines

Simple Payload Fields

debtorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "debtorCode": "300-A001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-ar-refund-linesread

Read AR refund detail/payment method lines only.

Full payload schema: /v1/schema/commands/read-ar-refund-lines

Simple Payload Fields

debtorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "debtorCode": "300-A001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

list-ar-invoicesread

List AR invoices.

Full payload schema: /v1/schema/commands/list-ar-invoices

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

get-ar-invoiceread

Get one AR invoice by document number.

Full payload schema: /v1/schema/commands/get-ar-invoice

Simple Payload Fields

docNo
required AR invoice document number

Example Payload

{
  "docNo": "ARI-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

validate-ar-invoiceread

Validate an AR invoice without saving.

Full payload schema: /v1/schema/commands/validate-ar-invoice

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
amount
optional single-line amount; lines is preferred for multiple lines
_arApRule
AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
dueDate
optional YYYY-MM-DD due date
description
optional document description/narration
ref
optional reference
branchCode
optional debtor/customer branch code/name where the customer uses branches
attention
optional attention/contact person
contact
optional contact person alias for attention
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean
taxDate
optional YYYY-MM-DD tax date
accountNo
optional user-selected GL posting account for simple one-line payload; overrides the connector/default account
taxType
optional tax type/code
lines
optional array of GL/account rows for multi-line AR invoice, credit note, or debit note; each line can choose posting account with accountNo / accNo / glAccount
knockOffs
optional array for credit/debit note knock-off where AutoCount supports it
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "debtorCode": "300-A001",
  "amount": 100,
  "docDate": "2026-06-24",
  "dueDate": "2026-07-24",
  "description": "AR document created through API",
  "ref": "API-REF-1001",
  "branchCode": "MAIN",
  "attention": "Accounts Department",
  "contact": "Accounts Department",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "lines": [
    {
      "accountNo": "500-0000",
      "description": "Service line 1",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "taxAmount": 0,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    },
    {
      "accountNo": "501-0000",
      "description": "Different posting account line",
      "amount": 50,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022"
    }
  ],
  "knockOffs": [
    {
      "docType": "RI",
      "docKey": "424508",
      "docNo": "IV-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master19 fields
  • DocNo string - Optional AutoCount document number.
  • DocDate date - Document date.
  • DueDate date - Due date.
  • DebtorCode string - Customer/debtor code.
  • Description string - Header description.
  • Ref string - Reference.
  • RefNo string - Reference number.
  • RefNo2 string - Reference number 2.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • DisplayTerm string - Credit term.
  • TaxEntityID number - Tax entity maintenance id.
  • InclusiveTax boolean - Inclusive tax flag.
  • JournalType string - Journal type.
  • TaxDocNo string - Tax document number.
Details10 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Amount number - Line amount.
  • TaxCode string - Tax code.
  • TaxAmt number - Tax amount.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.

Notes: AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR. Use read-ar-outstanding-documents first when a knock-off needs docKey. For simple invoices, amount/accountNo still works. For multiple posting accounts, send lines and put accountNo on each line. AR/AP invoice/note posting account order is: lines[].accountNo/top-level accountNo, AutoCount default account only when needed, then safe recent same-party history where the connector has a proven read path.

create-ar-invoicewrite

Create an AR invoice.

Full payload schema: /v1/schema/commands/create-ar-invoice

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date
amount
optional single-line amount; lines is preferred for multiple lines
_arApRule
AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
dueDate
optional YYYY-MM-DD due date
description
optional document description/narration
ref
optional reference
branchCode
optional debtor/customer branch code/name where the customer uses branches
attention
optional attention/contact person
contact
optional contact person alias for attention
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean
taxDate
optional YYYY-MM-DD tax date
accountNo
optional user-selected GL posting account for simple one-line payload; overrides the connector/default account
taxType
optional tax type/code
lines
optional array of GL/account rows for multi-line AR invoice, credit note, or debit note; each line can choose posting account with accountNo / accNo / glAccount
knockOffs
optional array for credit/debit note knock-off where AutoCount supports it
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "amount": 100,
  "dueDate": "2026-07-24",
  "description": "AR document created through API",
  "ref": "API-REF-1001",
  "branchCode": "MAIN",
  "attention": "Accounts Department",
  "contact": "Accounts Department",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "lines": [
    {
      "accountNo": "500-0000",
      "description": "Service line 1",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "taxAmount": 0,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    },
    {
      "accountNo": "501-0000",
      "description": "Different posting account line",
      "amount": 50,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022"
    }
  ],
  "knockOffs": [
    {
      "docType": "RI",
      "docKey": "424508",
      "docNo": "IV-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master19 fields
  • DocNo string - Optional AutoCount document number.
  • DocDate date - Document date.
  • DueDate date - Due date.
  • DebtorCode string - Customer/debtor code.
  • Description string - Header description.
  • Ref string - Reference.
  • RefNo string - Reference number.
  • RefNo2 string - Reference number 2.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • DisplayTerm string - Credit term.
  • TaxEntityID number - Tax entity maintenance id.
  • InclusiveTax boolean - Inclusive tax flag.
  • JournalType string - Journal type.
  • TaxDocNo string - Tax document number.
Details10 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Amount number - Line amount.
  • TaxCode string - Tax code.
  • TaxAmt number - Tax amount.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.

Notes: Requires write access permission. AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR. Use read-ar-outstanding-documents first when a knock-off needs docKey. For simple invoices, amount/accountNo still works. For multiple posting accounts, send lines and put accountNo on each line. AR/AP invoice/note posting account order is: lines[].accountNo/top-level accountNo, AutoCount default account only when needed, then safe recent same-party history where the connector has a proven read path.

list-ar-paymentsread

List AR payments.

Full payload schema: /v1/schema/commands/list-ar-payments

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

get-ar-paymentread

Get one AR payment by document number.

Full payload schema: /v1/schema/commands/get-ar-payment

Simple Payload Fields

docNo
required AR payment document number

Example Payload

{
  "docNo": "OR-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

validate-ar-paymentread

Validate an AR payment/receipt without saving. Supports one or many real invoice knock-offs.

Full payload schema: /v1/schema/commands/validate-ar-payment

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
amount
required total payment/refund amount
knockOffs
optional array of documents to allocate this payment/refund against; docKey is recommended
_arApRule
AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
paymentMethod
required or optional AutoCount Payment Method code such as CASH or MAYBANK
paymentBy
optional payment type such as Cash, Cheque, Bank Transfer, Credit Card
chequeNo
optional cheque/reference number
bankCharge
optional bank charge amount
paymentAccountNo
optional GL bank/cash account number
bankChargeAccountNo
optional GL bank charge account number
creditCardApprovalCode
optional credit-card approval code/reference
description
optional payment/refund narration
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "debtorCode": "300-A001",
  "amount": 100,
  "knockOffs": [
    {
      "docType": "RI",
      "docKey": "424508",
      "docNo": "IV-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0,
      "gainLossAmount": 0,
      "withholdingTaxAmount": 0
    }
  ],
  "docDate": "2026-06-24",
  "paymentMethod": "CASH",
  "paymentBy": "Cash",
  "chequeNo": "API-PAY-1001",
  "bankCharge": 0,
  "paymentAccountNo": "110-0010",
  "bankChargeAccountNo": "810-0000",
  "creditCardApprovalCode": "",
  "description": "AR payment/refund created through API",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master8 fields
  • DocNo string - Optional AutoCount document number.
  • DocDate date - Payment document date.
  • DebtorCode string - Customer/debtor code.
  • ProjNo string - Header project code.
  • DeptNo string - Header department code.
  • Description string - Payment description.
  • CurrencyCode string - Currency code.
  • Note string - Payment note.
Details6 fields
  • PaymentMethod string - Exact AutoCount payment method code.
  • ChequeNo string - Cheque/reference number.
  • PaymentAmt number - Payment amount.
  • BankCharge number - Bank charge amount.
  • ToBankRate number - Bank currency rate.
  • PaymentBy string - Payment by label.
KnockOffDetails5 fields
  • DocType string - AutoCount knock-off document type such as RI.
  • DocKey number - AutoCount outstanding document key.
  • DocNo string - Outstanding document number.
  • KnockOffDate date - Knock-off date.
  • KnockOffAmount number - Allocated amount.
TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.

Notes: Real positive knock-off validation is proven for outstanding AR documents. The connector also accepts old IV aliases and normalizes them to RI. AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR. For payment against invoices use RI for AR and PB for AP. For refund against credit notes use RC/ARCN for AR and PC/APCN for AP. Friendly aliases are normalized by the connector where supported.

create-ar-paymentwrite

Create an AR payment/receipt. Supports one or many real invoice knock-offs.

Full payload schema: /v1/schema/commands/create-ar-payment

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date
amount
required total payment/refund amount
knockOffs
optional array of documents to allocate this payment/refund against; docKey is recommended
_arApRule
AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
paymentMethod
required or optional AutoCount Payment Method code such as CASH or MAYBANK
paymentBy
optional payment type such as Cash, Cheque, Bank Transfer, Credit Card
chequeNo
optional cheque/reference number
bankCharge
optional bank charge amount
paymentAccountNo
optional GL bank/cash account number
bankChargeAccountNo
optional GL bank charge account number
creditCardApprovalCode
optional credit-card approval code/reference
description
optional payment/refund narration
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "amount": 100,
  "knockOffs": [
    {
      "docType": "RI",
      "docKey": "424508",
      "docNo": "IV-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0,
      "gainLossAmount": 0,
      "withholdingTaxAmount": 0
    }
  ],
  "paymentMethod": "CASH",
  "paymentBy": "Cash",
  "chequeNo": "API-PAY-1001",
  "bankCharge": 0,
  "paymentAccountNo": "110-0010",
  "bankChargeAccountNo": "810-0000",
  "creditCardApprovalCode": "",
  "description": "AR payment/refund created through API",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master8 fields
  • DocNo string - Optional AutoCount document number.
  • DocDate date - Payment document date.
  • DebtorCode string - Customer/debtor code.
  • ProjNo string - Header project code.
  • DeptNo string - Header department code.
  • Description string - Payment description.
  • CurrencyCode string - Currency code.
  • Note string - Payment note.
Details6 fields
  • PaymentMethod string - Exact AutoCount payment method code.
  • ChequeNo string - Cheque/reference number.
  • PaymentAmt number - Payment amount.
  • BankCharge number - Bank charge amount.
  • ToBankRate number - Bank currency rate.
  • PaymentBy string - Payment by label.
KnockOffDetails5 fields
  • DocType string - AutoCount knock-off document type such as RI.
  • DocKey number - AutoCount outstanding document key.
  • DocNo string - Outstanding document number.
  • KnockOffDate date - Knock-off date.
  • KnockOffAmount number - Allocated amount.
TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.

Notes: Requires write access permission. Real multi-invoice knock-off save is proven; IV aliases are normalized to RI. AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR. For payment against invoices use RI for AR and PB for AP. For refund against credit notes use RC/ARCN for AR and PC/APCN for AP. Friendly aliases are normalized by the connector where supported.

list-ar-depositsread

List AR deposits.

Full payload schema: /v1/schema/commands/list-ar-deposits

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

update-ar-depositwrite

Update an AR deposit editable SDK fields and supported detail rows with persisted verification.

Full payload schema: /v1/schema/commands/update-ar-deposit

Simple Payload Fields

docNo
required existing document number
reason
required audit reason
description
optional description; null or empty clears optional text
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values
detailMode
explicit update | append | replace | delete for detail edits
paymentLines
optional payment detail updates selected by dtlKey

Example Payload

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification. Deposit editing is limited to unallocated deposits; cancelled, transferred, refunded or forfeited deposits are blocked. Native acceptance must be verified on the selected account book.

get-ar-depositread

Get one AR deposit by document number.

Full payload schema: /v1/schema/commands/get-ar-deposit

Simple Payload Fields

docNo
required AR deposit document number

Example Payload

{
  "docNo": "OR-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

validate-ar-depositread

Validate an AR deposit without saving.

Full payload schema: /v1/schema/commands/validate-ar-deposit

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date
amount
required deposit amount
paymentMethod
optional AutoCount Payment Method code such as CASH or MAYBANK
_arApRule
AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
depositPaymentMethod
optional AutoCount deposit header payment method; defaults from paymentMethod
paymentBy
optional payment type such as Cash, Cheque, Bank Transfer, Credit Card
chequeNo
optional cheque/reference number
bankCharge
optional bank charge amount
description
optional deposit narration
note
optional note
isSecurityDeposit
optional boolean; true for security deposit where AutoCount account book supports it
project
optional project code
department
optional department code

Example Payload

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "amount": 100,
  "paymentMethod": "CASH",
  "depositPaymentMethod": "CASH",
  "paymentBy": "Cash",
  "chequeNo": "API-DEP-1001",
  "bankCharge": 0,
  "description": "AR deposit created through API",
  "note": "Deposit received before invoice",
  "isSecurityDeposit": false,
  "project": "PRJAPI",
  "department": "HQ"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master9 fields
  • DocNo string - Optional AutoCount document number.
  • DocDate date - Deposit date.
  • DebtorCode string - Customer/debtor code.
  • Description string - Deposit description.
  • Note string - Note.
  • ProjNo string - Header project code.
  • DeptNo string - Header department code.
  • DepositPaymentMethod string - Deposit payment method.
  • IsSecurityDeposit boolean - Security deposit flag.
Details5 fields
  • PaymentMethod string - Payment method code.
  • ChequeNo string - Cheque/reference number.
  • PaymentAmt number - Deposit amount.
  • BankCharge number - Bank charge amount.
  • PaymentBy string - Payment by label.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options1 fields
  • DocNoFormatName string - Optional AutoCount numbering format.

Notes: AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR. Creates a real AutoCount deposit with one payment detail row and posts a GL transaction when saved.

create-ar-depositwrite

Create an AR deposit with a real payment detail and GL transaction.

Full payload schema: /v1/schema/commands/create-ar-deposit

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date
amount
required deposit amount
paymentMethod
optional AutoCount Payment Method code such as CASH or MAYBANK
_arApRule
AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
depositPaymentMethod
optional AutoCount deposit header payment method; defaults from paymentMethod
paymentBy
optional payment type such as Cash, Cheque, Bank Transfer, Credit Card
chequeNo
optional cheque/reference number
bankCharge
optional bank charge amount
description
optional deposit narration
note
optional note
isSecurityDeposit
optional boolean; true for security deposit where AutoCount account book supports it
project
optional project code
department
optional department code

Example Payload

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "amount": 100,
  "paymentMethod": "CASH",
  "depositPaymentMethod": "CASH",
  "paymentBy": "Cash",
  "chequeNo": "API-DEP-1001",
  "bankCharge": 0,
  "description": "AR deposit created through API",
  "note": "Deposit received before invoice",
  "isSecurityDeposit": false,
  "project": "PRJAPI",
  "department": "HQ"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master9 fields
  • DocNo string - Optional AutoCount document number.
  • DocDate date - Deposit date.
  • DebtorCode string - Customer/debtor code.
  • Description string - Deposit description.
  • Note string - Note.
  • ProjNo string - Header project code.
  • DeptNo string - Header department code.
  • DepositPaymentMethod string - Deposit payment method.
  • IsSecurityDeposit boolean - Security deposit flag.
Details5 fields
  • PaymentMethod string - Payment method code.
  • ChequeNo string - Cheque/reference number.
  • PaymentAmt number - Deposit amount.
  • BankCharge number - Bank charge amount.
  • PaymentBy string - Payment by label.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options1 fields
  • DocNoFormatName string - Optional AutoCount numbering format.

Notes: Requires write access permission. Real save is tested against AutoCount ARDepositCommand and verifies GLTrxID. AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR. Creates a real AutoCount deposit with one payment detail row and posts a GL transaction when saved.

list-ar-refundsread

List AR refunds.

Full payload schema: /v1/schema/commands/list-ar-refunds

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

get-ar-refundread

Get one AR refund by document number.

Full payload schema: /v1/schema/commands/get-ar-refund

Simple Payload Fields

docNo
required AR refund document number

Example Payload

{
  "docNo": "PV-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

validate-ar-refundread

Validate an AR refund without saving. Refund knocks off AR credit notes, not invoices. Use docType RC or friendly CN alias; docKey is recommended.

Full payload schema: /v1/schema/commands/validate-ar-refund

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
amount
required total payment/refund amount
knockOffs
optional array of documents to allocate this payment/refund against; docKey is recommended
_arApRule
AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
paymentMethod
required or optional AutoCount Payment Method code such as CASH or MAYBANK
paymentBy
optional payment type such as Cash, Cheque, Bank Transfer, Credit Card
chequeNo
optional cheque/reference number
bankCharge
optional bank charge amount
paymentAccountNo
optional GL bank/cash account number
bankChargeAccountNo
optional GL bank charge account number
creditCardApprovalCode
optional credit-card approval code/reference
description
optional payment/refund narration
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "debtorCode": "300-A001",
  "amount": 100,
  "knockOffs": [
    {
      "docType": "RI",
      "docKey": "424508",
      "docNo": "IV-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0,
      "gainLossAmount": 0,
      "withholdingTaxAmount": 0
    }
  ],
  "docDate": "2026-06-24",
  "paymentMethod": "CASH",
  "paymentBy": "Cash",
  "chequeNo": "API-PAY-1001",
  "bankCharge": 0,
  "paymentAccountNo": "110-0010",
  "bankChargeAccountNo": "810-0000",
  "creditCardApprovalCode": "",
  "description": "AR payment/refund created through API",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master7 fields
  • DocNo string - Optional AutoCount document number.
  • DocDate date - Refund date.
  • DebtorCode string - Customer/debtor code.
  • Description string - Refund description.
  • ReferenceInvoiceNo string - Reference invoice number.
  • CurrencyCode string - Currency code.
  • Note string - Note.
Details5 fields
  • PaymentMethod string - Exact AutoCount payment method code.
  • ChequeNo string - Cheque/reference number.
  • PaymentAmt number - Refund payment amount.
  • BankCharge number - Bank charge amount.
  • PaymentBy string - Payment by label.
KnockOffDetails5 fields
  • DocType string - Credit-note document type such as RC.
  • DocKey number - AutoCount credit note key.
  • DocNo string - Credit note document number.
  • KnockOffDate date - Knock-off date.
  • KnockOffAmount number - Allocated amount.
TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.

Notes: Real AR refund knock-off save is proven against AR credit notes. CN/CreditNote aliases are normalized to RC. AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR. For payment against invoices use RI for AR and PB for AP. For refund against credit notes use RC/ARCN for AR and PC/APCN for AP. Friendly aliases are normalized by the connector where supported.

create-ar-refundwrite

Create an AR refund. Refund knocks off AR credit notes, not invoices. Use docType RC or friendly CN alias; docKey is recommended.

Full payload schema: /v1/schema/commands/create-ar-refund

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date
amount
required total payment/refund amount
knockOffs
optional array of documents to allocate this payment/refund against; docKey is recommended
_arApRule
AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
paymentMethod
required or optional AutoCount Payment Method code such as CASH or MAYBANK
paymentBy
optional payment type such as Cash, Cheque, Bank Transfer, Credit Card
chequeNo
optional cheque/reference number
bankCharge
optional bank charge amount
paymentAccountNo
optional GL bank/cash account number
bankChargeAccountNo
optional GL bank charge account number
creditCardApprovalCode
optional credit-card approval code/reference
description
optional payment/refund narration
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "amount": 100,
  "knockOffs": [
    {
      "docType": "RI",
      "docKey": "424508",
      "docNo": "IV-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0,
      "gainLossAmount": 0,
      "withholdingTaxAmount": 0
    }
  ],
  "paymentMethod": "CASH",
  "paymentBy": "Cash",
  "chequeNo": "API-PAY-1001",
  "bankCharge": 0,
  "paymentAccountNo": "110-0010",
  "bankChargeAccountNo": "810-0000",
  "creditCardApprovalCode": "",
  "description": "AR payment/refund created through API",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master7 fields
  • DocNo string - Optional AutoCount document number.
  • DocDate date - Refund date.
  • DebtorCode string - Customer/debtor code.
  • Description string - Refund description.
  • ReferenceInvoiceNo string - Reference invoice number.
  • CurrencyCode string - Currency code.
  • Note string - Note.
Details5 fields
  • PaymentMethod string - Exact AutoCount payment method code.
  • ChequeNo string - Cheque/reference number.
  • PaymentAmt number - Refund payment amount.
  • BankCharge number - Bank charge amount.
  • PaymentBy string - Payment by label.
KnockOffDetails5 fields
  • DocType string - Credit-note document type such as RC.
  • DocKey number - AutoCount credit note key.
  • DocNo string - Credit note document number.
  • KnockOffDate date - Knock-off date.
  • KnockOffAmount number - Allocated amount.
TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.

Notes: Requires write access permission. Real AR refund knock-off save is proven against AR credit notes; CN aliases are normalized to RC. AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR. For payment against invoices use RI for AR and PB for AP. For refund against credit notes use RC/ARCN for AR and PC/APCN for AP. Friendly aliases are normalized by the connector where supported.

list-ar-credit-notesread

List AR credit notes.

Full payload schema: /v1/schema/commands/list-ar-credit-notes

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

get-ar-credit-noteread

Get one AR credit note by document number.

Full payload schema: /v1/schema/commands/get-ar-credit-note

Simple Payload Fields

docNo
required AR credit note document number

Example Payload

{
  "docNo": "CN-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

validate-ar-credit-noteread

Validate an AR credit note without saving. Supports one or many real invoice knock-offs.

Full payload schema: /v1/schema/commands/validate-ar-credit-note

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
amount
optional single-line amount; lines is preferred for multiple lines
lineDescription
optional
knockOffs
optional array for credit/debit note knock-off where AutoCount supports it
_arApRule
AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
dueDate
optional YYYY-MM-DD due date
description
optional document description/narration
ref
optional reference
branchCode
optional debtor/customer branch code/name where the customer uses branches
attention
optional attention/contact person
contact
optional contact person alias for attention
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean
taxDate
optional YYYY-MM-DD tax date
accountNo
optional user-selected GL posting account for simple one-line payload; overrides the connector/default account
taxType
optional tax type/code
lines
optional array of GL/account rows for multi-line AR invoice, credit note, or debit note; each line can choose posting account with accountNo / accNo / glAccount
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "debtorCode": "300-A001",
  "amount": 100,
  "lineDescription": "Credit adjustment",
  "knockOffs": [
    {
      "docType": "RI",
      "docKey": "424508",
      "docNo": "IV-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0
    }
  ],
  "docDate": "2026-06-24",
  "dueDate": "2026-07-24",
  "description": "AR document created through API",
  "ref": "API-REF-1001",
  "branchCode": "MAIN",
  "attention": "Accounts Department",
  "contact": "Accounts Department",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "lines": [
    {
      "accountNo": "500-0000",
      "description": "Service line 1",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "taxAmount": 0,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    },
    {
      "accountNo": "501-0000",
      "description": "Different posting account line",
      "amount": 50,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master10 fields
  • DocNo string - Optional AutoCount document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • CNType string - Credit note type.
  • Reason string - Credit/debit note reason.
  • Ref string - Reference.
  • Description string - Header description.
  • JournalType string - Journal type.
  • TaxDocNo string - Tax document number.
  • OurInvoiceNo string - Our invoice number.
Details7 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • Description string - Line description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Amount number - Line amount.
  • TaxCode string - Tax code.
KnockOffDetails5 fields
  • DocType string - AutoCount knock-off document type.
  • DocKey number - AutoCount outstanding document key.
  • DocNo string - Outstanding document number.
  • KnockOffDate date - Knock-off date.
  • KnockOffAmount number - Allocated amount.
TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.

Notes: Real positive knock-off validation is proven for outstanding AR documents. AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR. Use read-ar-outstanding-documents first when a knock-off needs docKey. For simple invoices, amount/accountNo still works. For multiple posting accounts, send lines and put accountNo on each line. AR/AP invoice/note posting account order is: lines[].accountNo/top-level accountNo, AutoCount default account only when needed, then safe recent same-party history where the connector has a proven read path.

create-ar-credit-notewrite

Create an AR credit note. Supports one or many real invoice knock-offs.

Full payload schema: /v1/schema/commands/create-ar-credit-note

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date
amount
optional single-line amount; lines is preferred for multiple lines
lineDescription
optional
knockOffs
optional array for credit/debit note knock-off where AutoCount supports it
_arApRule
AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
dueDate
optional YYYY-MM-DD due date
description
optional document description/narration
ref
optional reference
branchCode
optional debtor/customer branch code/name where the customer uses branches
attention
optional attention/contact person
contact
optional contact person alias for attention
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean
taxDate
optional YYYY-MM-DD tax date
accountNo
optional user-selected GL posting account for simple one-line payload; overrides the connector/default account
taxType
optional tax type/code
lines
optional array of GL/account rows for multi-line AR invoice, credit note, or debit note; each line can choose posting account with accountNo / accNo / glAccount
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "amount": 100,
  "lineDescription": "Credit adjustment",
  "knockOffs": [
    {
      "docType": "RI",
      "docKey": "424508",
      "docNo": "IV-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0
    }
  ],
  "dueDate": "2026-07-24",
  "description": "AR document created through API",
  "ref": "API-REF-1001",
  "branchCode": "MAIN",
  "attention": "Accounts Department",
  "contact": "Accounts Department",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "lines": [
    {
      "accountNo": "500-0000",
      "description": "Service line 1",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "taxAmount": 0,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    },
    {
      "accountNo": "501-0000",
      "description": "Different posting account line",
      "amount": 50,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master10 fields
  • DocNo string - Optional AutoCount document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • CNType string - Credit note type.
  • Reason string - Credit/debit note reason.
  • Ref string - Reference.
  • Description string - Header description.
  • JournalType string - Journal type.
  • TaxDocNo string - Tax document number.
  • OurInvoiceNo string - Our invoice number.
Details7 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • Description string - Line description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Amount number - Line amount.
  • TaxCode string - Tax code.
KnockOffDetails5 fields
  • DocType string - AutoCount knock-off document type.
  • DocKey number - AutoCount outstanding document key.
  • DocNo string - Outstanding document number.
  • KnockOffDate date - Knock-off date.
  • KnockOffAmount number - Allocated amount.
TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.

Notes: Requires write access permission. Real knock-off validation is proven; saving should still be tested per account book. AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR. Use read-ar-outstanding-documents first when a knock-off needs docKey. For simple invoices, amount/accountNo still works. For multiple posting accounts, send lines and put accountNo on each line. AR/AP invoice/note posting account order is: lines[].accountNo/top-level accountNo, AutoCount default account only when needed, then safe recent same-party history where the connector has a proven read path.

list-ar-debit-notesread

List AR debit notes.

Full payload schema: /v1/schema/commands/list-ar-debit-notes

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

get-ar-debit-noteread

Get one AR debit note by document number.

Full payload schema: /v1/schema/commands/get-ar-debit-note

Simple Payload Fields

docNo
required AR debit note document number

Example Payload

{
  "docNo": "DN-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

validate-ar-debit-noteread

Validate an AR debit note without saving.

Full payload schema: /v1/schema/commands/validate-ar-debit-note

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
amount
optional single-line amount; lines is preferred for multiple lines
lineDescription
optional
_arApRule
AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
dueDate
optional YYYY-MM-DD due date
description
optional document description/narration
ref
optional reference
branchCode
optional debtor/customer branch code/name where the customer uses branches
attention
optional attention/contact person
contact
optional contact person alias for attention
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean
taxDate
optional YYYY-MM-DD tax date
accountNo
optional user-selected GL posting account for simple one-line payload; overrides the connector/default account
taxType
optional tax type/code
lines
optional array of GL/account rows for multi-line AR invoice, credit note, or debit note; each line can choose posting account with accountNo / accNo / glAccount
knockOffs
optional array for credit/debit note knock-off where AutoCount supports it
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "debtorCode": "300-A001",
  "amount": 100,
  "lineDescription": "Debit adjustment",
  "docDate": "2026-06-24",
  "dueDate": "2026-07-24",
  "description": "AR document created through API",
  "ref": "API-REF-1001",
  "branchCode": "MAIN",
  "attention": "Accounts Department",
  "contact": "Accounts Department",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "lines": [
    {
      "accountNo": "500-0000",
      "description": "Service line 1",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "taxAmount": 0,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    },
    {
      "accountNo": "501-0000",
      "description": "Different posting account line",
      "amount": 50,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022"
    }
  ],
  "knockOffs": [
    {
      "docType": "RI",
      "docKey": "424508",
      "docNo": "IV-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master10 fields
  • DocNo string - Optional AutoCount document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DNType string - Debit note type.
  • Reason string - Credit/debit note reason.
  • Ref string - Reference.
  • Description string - Header description.
  • JournalType string - Journal type.
  • TaxDocNo string - Tax document number.
  • OurInvoiceNo string - Our invoice number.
Details7 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • Description string - Line description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Amount number - Line amount.
  • TaxCode string - Tax code.
KnockOffDetails5 fields
  • DocType string - AutoCount knock-off document type.
  • DocKey number - AutoCount outstanding document key.
  • DocNo string - Outstanding document number.
  • KnockOffDate date - Knock-off date.
  • KnockOffAmount number - Allocated amount.
TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.

Notes: AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR. Use read-ar-outstanding-documents first when a knock-off needs docKey. For simple invoices, amount/accountNo still works. For multiple posting accounts, send lines and put accountNo on each line. AR/AP invoice/note posting account order is: lines[].accountNo/top-level accountNo, AutoCount default account only when needed, then safe recent same-party history where the connector has a proven read path.

create-ar-debit-notewrite

Create an AR debit note.

Full payload schema: /v1/schema/commands/create-ar-debit-note

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
docDate
required or optional YYYY-MM-DD document date
amount
optional single-line amount; lines is preferred for multiple lines
lineDescription
optional
_arApRule
AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
dueDate
optional YYYY-MM-DD due date
description
optional document description/narration
ref
optional reference
branchCode
optional debtor/customer branch code/name where the customer uses branches
attention
optional attention/contact person
contact
optional contact person alias for attention
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean
taxDate
optional YYYY-MM-DD tax date
accountNo
optional user-selected GL posting account for simple one-line payload; overrides the connector/default account
taxType
optional tax type/code
lines
optional array of GL/account rows for multi-line AR invoice, credit note, or debit note; each line can choose posting account with accountNo / accNo / glAccount
knockOffs
optional array for credit/debit note knock-off where AutoCount supports it
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "debtorCode": "300-A001",
  "docDate": "2026-06-24",
  "amount": 100,
  "lineDescription": "Debit adjustment",
  "dueDate": "2026-07-24",
  "description": "AR document created through API",
  "ref": "API-REF-1001",
  "branchCode": "MAIN",
  "attention": "Accounts Department",
  "contact": "Accounts Department",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "lines": [
    {
      "accountNo": "500-0000",
      "description": "Service line 1",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "taxAmount": 0,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    },
    {
      "accountNo": "501-0000",
      "description": "Different posting account line",
      "amount": 50,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022"
    }
  ],
  "knockOffs": [
    {
      "docType": "RI",
      "docKey": "424508",
      "docNo": "IV-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master10 fields
  • DocNo string - Optional AutoCount document number.
  • DocDate date - Document date.
  • DebtorCode string - Customer/debtor code.
  • DNType string - Debit note type.
  • Reason string - Credit/debit note reason.
  • Ref string - Reference.
  • Description string - Header description.
  • JournalType string - Journal type.
  • TaxDocNo string - Tax document number.
  • OurInvoiceNo string - Our invoice number.
Details7 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • Description string - Line description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Amount number - Line amount.
  • TaxCode string - Tax code.
KnockOffDetails5 fields
  • DocType string - AutoCount knock-off document type.
  • DocKey number - AutoCount outstanding document key.
  • DocNo string - Outstanding document number.
  • KnockOffDate date - Knock-off date.
  • KnockOffAmount number - Allocated amount.
TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.

Notes: Creates AR debit note through AutoCount SDK. AR = customer/debtor. Use debtorCode only for AR commands; do not send creditorCode for AR. Use read-ar-outstanding-documents first when a knock-off needs docKey. For simple invoices, amount/accountNo still works. For multiple posting accounts, send lines and put accountNo on each line. AR/AP invoice/note posting account order is: lines[].accountNo/top-level accountNo, AutoCount default account only when needed, then safe recent same-party history where the connector has a proven read path.

AP Supplier accounting invoices, payments, deposits, refunds, credit notes, debit notes, and outstanding. 51 commands

Command Native Sections

read-ap-outstandingread

Legacy AP outstanding lookup. Prefer read-ap-outstanding-documents for docKey-based knock-off.

Full payload schema: /v1/schema/commands/read-ap-outstanding

Simple Payload Fields

creditorCode
optional creditor/supplier code
maxRows
optional row limit; maxRows: 0 means return all rows

Example Payload

{
  "creditorCode": "400-S001",
  "maxRows": 0
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

update-ap-invoicewrite

Update AP invoice header/simple fields.

Full payload schema: /v1/schema/commands/update-ap-invoice

Simple Payload Fields

docNo
required existing document number
docKey
optional existing document key
reason
required audit reason
docDate
optional YYYY-MM-DD document date
description
optional description; null or empty clears optional text
ref
optional reference where the AutoCount document exposes it
note
optional note where the AutoCount document exposes it
journalType
optional journal type where the AutoCount document exposes it
creditorCode
optional supplier/creditor code where AutoCount allows changing it
detailMode
explicit update | append | replace | delete for detail edits
lines
optional posting/detail updates selected by dtlKey
knockOffs
optional knock-off allocation edit array for credit-note style documents; each row supports docType, docKey, docNo, amount
knockOffMode
optional knock-off edit mode: replace | append | update
newDocNo
optional new AutoCount document number; docNo remains the lookup key
supplierInvoiceNo
optional supplier invoice number for AP invoice
supplierInvNo
alias for supplierInvoiceNo on AP invoice updates
invoiceNo
alias for supplierInvoiceNo on AP invoice updates
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values

Example Payload

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification. docNo selects the existing invoice; newDocNo is the dedicated renumber field, supplierInvoiceNo/invoiceNo is the supplier reference.

void-ap-invoicewrite

Guarded AP invoice void request.

Full payload schema: /v1/schema/commands/void-ap-invoice

Simple Payload Fields

docNo
required
reason
required

Example Payload

{
  "docNo": "API-000001",
  "reason": "void/correct document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked until module-specific AutoCount void/cancel safety is proven.

delete-ap-invoicewrite

Guarded AP invoice delete request.

Full payload schema: /v1/schema/commands/delete-ap-invoice

Simple Payload Fields

docNo
required
reason
required

Example Payload

{
  "docNo": "API-000001",
  "reason": "remove/correct document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked. Use reversal, cancellation, or replacement workflow until module-specific AutoCount delete safety is proven.

update-ap-credit-notewrite

Update AP credit note header/simple fields.

Full payload schema: /v1/schema/commands/update-ap-credit-note

Simple Payload Fields

docNo
required existing document number
docKey
optional existing document key
reason
required audit reason
docDate
optional YYYY-MM-DD document date
description
optional description; null or empty clears optional text
ref
optional reference where the AutoCount document exposes it
note
optional note where the AutoCount document exposes it
journalType
optional journal type where the AutoCount document exposes it
creditorCode
optional supplier/creditor code where AutoCount allows changing it
detailMode
explicit update | append | replace | delete for detail edits
lines
optional posting/detail updates selected by dtlKey
knockOffs
optional knock-off allocation edit array for credit-note style documents; each row supports docType, docKey, docNo, amount
knockOffMode
optional knock-off edit mode: replace | append | update
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values

Example Payload

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification.

void-ap-credit-notewrite

Guarded AP credit note void request.

Full payload schema: /v1/schema/commands/void-ap-credit-note

Simple Payload Fields

docNo
required
reason
required

Example Payload

{
  "docNo": "PCN-000001",
  "reason": "void/correct document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked until module-specific AutoCount void/cancel safety is proven.

delete-ap-credit-notewrite

Guarded AP credit note delete request.

Full payload schema: /v1/schema/commands/delete-ap-credit-note

Simple Payload Fields

docNo
required
reason
required

Example Payload

{
  "docNo": "PCN-000001",
  "reason": "remove/correct document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked. Use reversal, cancellation, or replacement workflow until module-specific AutoCount delete safety is proven.

update-ap-debit-notewrite

Update AP debit note header/simple fields.

Full payload schema: /v1/schema/commands/update-ap-debit-note

Simple Payload Fields

docNo
required existing document number
docKey
optional existing document key
reason
required audit reason
docDate
optional YYYY-MM-DD document date
description
optional description; null or empty clears optional text
ref
optional reference where the AutoCount document exposes it
note
optional note where the AutoCount document exposes it
journalType
optional journal type where the AutoCount document exposes it
creditorCode
optional supplier/creditor code where AutoCount allows changing it
detailMode
explicit update | append | replace | delete for detail edits
lines
optional posting/detail updates selected by dtlKey
knockOffs
optional knock-off allocation edit array for credit-note style documents; each row supports docType, docKey, docNo, amount
knockOffMode
optional knock-off edit mode: replace | append | update
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values

Example Payload

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification.

void-ap-debit-notewrite

Guarded AP debit note void request.

Full payload schema: /v1/schema/commands/void-ap-debit-note

Simple Payload Fields

docNo
required
reason
required

Example Payload

{
  "docNo": "PDN-000001",
  "reason": "void/correct document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked until module-specific AutoCount void/cancel safety is proven.

delete-ap-debit-notewrite

Guarded AP debit note delete request.

Full payload schema: /v1/schema/commands/delete-ap-debit-note

Simple Payload Fields

docNo
required
reason
required

Example Payload

{
  "docNo": "PDN-000001",
  "reason": "remove/correct document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked. Use reversal, cancellation, or replacement workflow until module-specific AutoCount delete safety is proven.

update-ap-paymentwrite

Update AP payment header/simple fields.

Full payload schema: /v1/schema/commands/update-ap-payment

Simple Payload Fields

docNo
required existing document number
docKey
optional existing document key
reason
required audit reason
docDate
optional YYYY-MM-DD document date
description
optional description; null or empty clears optional text
ref
optional reference where the AutoCount document exposes it
note
optional note where the AutoCount document exposes it
journalType
optional journal type where the AutoCount document exposes it
creditorCode
optional supplier/creditor code where AutoCount allows changing it
detailMode
explicit update | append | replace | delete for detail edits
paymentLines
optional payment detail updates selected by dtlKey
knockOffs
optional knock-off allocation edit array; each row supports docType, docKey, docNo, amount
knockOffMode
optional knock-off edit mode: replace | append | update
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values

Example Payload

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification.

void-ap-paymentwrite

Guarded AP payment void request.

Full payload schema: /v1/schema/commands/void-ap-payment

Simple Payload Fields

docNo
required
reason
required

Example Payload

{
  "docNo": "PV-000001",
  "reason": "void/correct document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked until module-specific AutoCount void/cancel safety is proven.

delete-ap-paymentwrite

Guarded AP payment delete request.

Full payload schema: /v1/schema/commands/delete-ap-payment

Simple Payload Fields

docNo
required
reason
required

Example Payload

{
  "docNo": "PV-000001",
  "reason": "remove/correct document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked. Use reversal, cancellation, or replacement workflow until module-specific AutoCount delete safety is proven.

update-ap-refundwrite

Update AP refund header/simple fields.

Full payload schema: /v1/schema/commands/update-ap-refund

Simple Payload Fields

docNo
required existing document number
docKey
optional existing document key
reason
required audit reason
docDate
optional YYYY-MM-DD document date
description
optional description; null or empty clears optional text
ref
optional reference where the AutoCount document exposes it
note
optional note where the AutoCount document exposes it
journalType
optional journal type where the AutoCount document exposes it
creditorCode
optional supplier/creditor code where AutoCount allows changing it
detailMode
explicit update | append | replace | delete for detail edits
paymentLines
optional payment detail updates selected by dtlKey
knockOffs
optional knock-off allocation edit array; each row supports docType, docKey, docNo, amount
knockOffMode
optional knock-off edit mode: replace | append | update
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values

Example Payload

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification.

void-ap-refundwrite

Guarded AP refund void request.

Full payload schema: /v1/schema/commands/void-ap-refund

Simple Payload Fields

docNo
required
reason
required

Example Payload

{
  "docNo": "PV-000001",
  "reason": "void/correct document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked until module-specific AutoCount void/cancel safety is proven.

delete-ap-refundwrite

Guarded AP refund delete request.

Full payload schema: /v1/schema/commands/delete-ap-refund

Simple Payload Fields

docNo
required
reason
required

Example Payload

{
  "docNo": "PV-000001",
  "reason": "remove/correct document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked. Use reversal, cancellation, or replacement workflow until module-specific AutoCount delete safety is proven.

read-creditorsread

List creditors/suppliers.

Full payload schema: /v1/schema/commands/read-creditors

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

export-creditor-detailsread

Export up to 5000 creditor/supplier master records in one read-only command.

Full payload schema: /v1/schema/commands/export-creditor-details

Simple Payload Fields

maxCreditors
optional integer 1-5000, default 5000
maxTableRows
optional integer 1-1000 per child table per supplier, default 20; zero is rejected
includeTableData
optional boolean, default true; child rows are available only in full mode
activeOnly
optional boolean, default false
detailMode
optional: auto (default, fast master fields) | full (bounded per-supplier SDK fields and child tables)

Example Payload

{
  "maxCreditors": 5000,
  "includeTableData": false,
  "activeOnly": false,
  "detailMode": "auto"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Fast mode returns flat data rows, not sequential get-creditor-detail calls. Use detailMode:"full" with includeTableData:true for contact/branch tables. Check partial, truncated, failedRows/failedCreditors and childTablesTruncated; do not treat a bounded export as complete. Large responses expose artifactUrl; download GET /v1/commands/{commandId}/artifact with the same tenant authorization. The authenticated artifact contains the original result, while inline data may be a preview.

get-creditor-detailread

Read one creditor/supplier with all public SDK fields and child tables.

Full payload schema: /v1/schema/commands/get-creditor-detail

Simple Payload Fields

accNo
required creditor/supplier code; creditorCode or supplierCode also accepted
maxTableRows
optional child-table row limit; maxTableRows: 0 means return all child-table rows
includeTableData
optional boolean, default true

Example Payload

{
  "accNo": "400-S001",
  "maxTableRows": 0
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount.ARAP.Creditor.CreditorDataAccess.GetCreditor. Returns fields and child tables such as CreditorTable, BranchTable, ContactTable, TaxExemptionTable, and GLMastTable when available.

read-ap-outstanding-documentsread

List outstanding AP invoice documents with docKey for allocation and knock-off.

Full payload schema: /v1/schema/commands/read-ap-outstanding-documents

Simple Payload Fields

creditorCode
optional creditor/supplier code
maxRows
optional row limit; maxRows: 0 means return all rows

Example Payload

{
  "creditorCode": "400-S001",
  "maxRows": 0
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns SDK-safe docType PB plus displayDocType PI. Use the returned docType for AP payment and AP credit-note invoice knock-off.

read-ap-detail-linesread

Read AP account/detail lines across AP invoices, payments, refunds, credit notes, and debit notes.

Full payload schema: /v1/schema/commands/read-ap-detail-lines

Simple Payload Fields

creditorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "creditorCode": "400-S001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-ap-invoice-linesread

Read AP invoice detail/account lines only.

Full payload schema: /v1/schema/commands/read-ap-invoice-lines

Simple Payload Fields

creditorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "accountNo": "610-0000",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-ap-payment-linesread

Read AP payment detail/payment method lines only.

Full payload schema: /v1/schema/commands/read-ap-payment-lines

Simple Payload Fields

creditorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "creditorCode": "400-S001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-ap-credit-note-linesread

Read AP credit note detail/account lines only.

Full payload schema: /v1/schema/commands/read-ap-credit-note-lines

Simple Payload Fields

creditorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "creditorCode": "400-S001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-ap-debit-note-linesread

Read AP debit note detail/account lines only.

Full payload schema: /v1/schema/commands/read-ap-debit-note-lines

Simple Payload Fields

creditorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "creditorCode": "400-S001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-ap-refund-linesread

Read AP refund detail/payment method lines only.

Full payload schema: /v1/schema/commands/read-ap-refund-lines

Simple Payload Fields

creditorCode
optional
accountNo
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "creditorCode": "400-S001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

list-ap-paymentsread

List AP payments.

Full payload schema: /v1/schema/commands/list-ap-payments

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

get-ap-paymentread

Get one AP payment by document number.

Full payload schema: /v1/schema/commands/get-ap-payment

Simple Payload Fields

docNo
required AP payment document number

Example Payload

{
  "docNo": "PV-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

validate-ap-paymentread

Validate an AP payment without saving. Supports one or many real supplier invoice knock-offs.

Full payload schema: /v1/schema/commands/validate-ap-payment

Simple Payload Fields

creditorCode
required AutoCount creditor/supplier code
amount
required total payment/refund amount
knockOffs
optional array of documents to allocate this payment/refund against; docKey is recommended
_arApRule
AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
paymentMethod
required or optional AutoCount Payment Method code such as CASH or MAYBANK
paymentBy
optional payment type such as Cash, Cheque, Bank Transfer, Credit Card
chequeNo
optional cheque/reference number
bankCharge
optional bank charge amount
paymentAccountNo
optional GL bank/cash account number
bankChargeAccountNo
optional GL bank charge account number
creditCardApprovalCode
optional credit-card approval code/reference
description
optional payment/refund narration
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "creditorCode": "400-S001",
  "amount": 100,
  "knockOffs": [
    {
      "docType": "PB",
      "docKey": "424508",
      "docNo": "PI-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0,
      "gainLossAmount": 0,
      "withholdingTaxAmount": 0
    }
  ],
  "docDate": "2026-06-24",
  "paymentMethod": "CASH",
  "paymentBy": "Cash",
  "chequeNo": "API-PAY-1001",
  "bankCharge": 0,
  "paymentAccountNo": "110-0010",
  "bankChargeAccountNo": "810-0000",
  "creditCardApprovalCode": "",
  "description": "AP payment/refund created through API",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master8 fields
  • DocNo string - Optional AutoCount document number.
  • DocDate date - Payment document date.
  • CreditorCode string - Supplier/creditor code.
  • ProjNo string - Header project code.
  • DeptNo string - Header department code.
  • Description string - Payment description.
  • CurrencyCode string - Currency code.
  • Note string - Payment note.
Details6 fields
  • PaymentMethod string - Exact AutoCount payment method code.
  • ChequeNo string - Cheque/reference number.
  • PaymentAmt number - Payment amount.
  • BankCharge number - Bank charge amount.
  • ToBankRate number - Bank currency rate.
  • PaymentBy string - Payment by label.
KnockOffDetails5 fields
  • DocType string - AutoCount knock-off document type such as PB.
  • DocKey number - AutoCount outstanding document key.
  • DocNo string - Outstanding document number.
  • KnockOffDate date - Knock-off date.
  • KnockOffAmount number - Allocated amount.
TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.

Notes: Real positive knock-off validation is proven for outstanding AP documents. The connector also accepts old PI aliases and normalizes them to PB. AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP. For payment against invoices use RI for AR and PB for AP. For refund against credit notes use RC/ARCN for AR and PC/APCN for AP. Friendly aliases are normalized by the connector where supported.

create-ap-paymentwrite

Create an AP payment. Supports one or many real supplier invoice knock-offs.

Full payload schema: /v1/schema/commands/create-ap-payment

Simple Payload Fields

creditorCode
required AutoCount creditor/supplier code
docDate
required or optional YYYY-MM-DD document date
amount
required total payment/refund amount
knockOffs
optional array of documents to allocate this payment/refund against; docKey is recommended
_arApRule
AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
paymentMethod
required or optional AutoCount Payment Method code such as CASH or MAYBANK
paymentBy
optional payment type such as Cash, Cheque, Bank Transfer, Credit Card
chequeNo
optional cheque/reference number
bankCharge
optional bank charge amount
paymentAccountNo
optional GL bank/cash account number
bankChargeAccountNo
optional GL bank charge account number
creditCardApprovalCode
optional credit-card approval code/reference
description
optional payment/refund narration
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "creditorCode": "400-S001",
  "docDate": "2026-06-24",
  "amount": 100,
  "knockOffs": [
    {
      "docType": "PB",
      "docKey": "424508",
      "docNo": "PI-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0,
      "gainLossAmount": 0,
      "withholdingTaxAmount": 0
    }
  ],
  "paymentMethod": "CASH",
  "paymentBy": "Cash",
  "chequeNo": "API-PAY-1001",
  "bankCharge": 0,
  "paymentAccountNo": "110-0010",
  "bankChargeAccountNo": "810-0000",
  "creditCardApprovalCode": "",
  "description": "AP payment/refund created through API",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master8 fields
  • DocNo string - Optional AutoCount document number.
  • DocDate date - Payment document date.
  • CreditorCode string - Supplier/creditor code.
  • ProjNo string - Header project code.
  • DeptNo string - Header department code.
  • Description string - Payment description.
  • CurrencyCode string - Currency code.
  • Note string - Payment note.
Details6 fields
  • PaymentMethod string - Exact AutoCount payment method code.
  • ChequeNo string - Cheque/reference number.
  • PaymentAmt number - Payment amount.
  • BankCharge number - Bank charge amount.
  • ToBankRate number - Bank currency rate.
  • PaymentBy string - Payment by label.
KnockOffDetails5 fields
  • DocType string - AutoCount knock-off document type such as PB.
  • DocKey number - AutoCount outstanding document key.
  • DocNo string - Outstanding document number.
  • KnockOffDate date - Knock-off date.
  • KnockOffAmount number - Allocated amount.
TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.

Notes: Requires write access permission. Real multi-invoice knock-off save is proven; PI aliases are normalized to PB. AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP. For payment against invoices use RI for AR and PB for AP. For refund against credit notes use RC/ARCN for AR and PC/APCN for AP. Friendly aliases are normalized by the connector where supported.

list-ap-depositsread

List AP deposits.

Full payload schema: /v1/schema/commands/list-ap-deposits

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

update-ap-depositwrite

Update an AP deposit editable SDK fields and supported detail rows with persisted verification.

Full payload schema: /v1/schema/commands/update-ap-deposit

Simple Payload Fields

docNo
required existing document number
reason
required audit reason
description
optional description; null or empty clears optional text
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values
detailMode
explicit update | append | replace | delete for detail edits
paymentLines
optional payment detail updates selected by dtlKey

Example Payload

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification. Deposit editing is limited to unallocated deposits; cancelled, transferred, refunded or forfeited deposits are blocked. Native acceptance must be verified on the selected account book.

get-ap-depositread

Get one AP deposit by document number.

Full payload schema: /v1/schema/commands/get-ap-deposit

Simple Payload Fields

docNo
required AP deposit document number

Example Payload

{
  "docNo": "PV-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

validate-ap-depositread

Validate an AP deposit without saving.

Full payload schema: /v1/schema/commands/validate-ap-deposit

Simple Payload Fields

creditorCode
required AutoCount creditor/supplier code
docDate
required or optional YYYY-MM-DD document date
amount
required deposit amount
paymentMethod
optional AutoCount Payment Method code such as CASH or MAYBANK
_arApRule
AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
depositPaymentMethod
optional AutoCount deposit header payment method; defaults from paymentMethod
paymentBy
optional payment type such as Cash, Cheque, Bank Transfer, Credit Card
chequeNo
optional cheque/reference number
bankCharge
optional bank charge amount
description
optional deposit narration
note
optional note
isSecurityDeposit
optional boolean; true for security deposit where AutoCount account book supports it
project
optional project code
department
optional department code

Example Payload

{
  "creditorCode": "400-S001",
  "docDate": "2026-06-24",
  "amount": 100,
  "paymentMethod": "CASH",
  "depositPaymentMethod": "CASH",
  "paymentBy": "Cash",
  "chequeNo": "API-DEP-1001",
  "bankCharge": 0,
  "description": "AP deposit created through API",
  "note": "Deposit received before invoice",
  "isSecurityDeposit": false,
  "project": "PRJAPI",
  "department": "HQ"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master9 fields
  • DocNo string - Optional AutoCount document number.
  • DocDate date - Deposit date.
  • CreditorCode string - Supplier/creditor code.
  • Description string - Deposit description.
  • Note string - Note.
  • ProjNo string - Header project code.
  • DeptNo string - Header department code.
  • DepositPaymentMethod string - Deposit payment method.
  • IsSecurityDeposit boolean - Security deposit flag.
Details5 fields
  • PaymentMethod string - Payment method code.
  • ChequeNo string - Cheque/reference number.
  • PaymentAmt number - Deposit amount.
  • BankCharge number - Bank charge amount.
  • PaymentBy string - Payment by label.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options1 fields
  • DocNoFormatName string - Optional AutoCount numbering format.

Notes: AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP. Creates a real AutoCount deposit with one payment detail row and posts a GL transaction when saved.

create-ap-depositwrite

Create an AP deposit with a real payment detail and GL transaction.

Full payload schema: /v1/schema/commands/create-ap-deposit

Simple Payload Fields

creditorCode
required AutoCount creditor/supplier code
docDate
required or optional YYYY-MM-DD document date
amount
required deposit amount
paymentMethod
optional AutoCount Payment Method code such as CASH or MAYBANK
_arApRule
AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
depositPaymentMethod
optional AutoCount deposit header payment method; defaults from paymentMethod
paymentBy
optional payment type such as Cash, Cheque, Bank Transfer, Credit Card
chequeNo
optional cheque/reference number
bankCharge
optional bank charge amount
description
optional deposit narration
note
optional note
isSecurityDeposit
optional boolean; true for security deposit where AutoCount account book supports it
project
optional project code
department
optional department code

Example Payload

{
  "creditorCode": "400-S001",
  "docDate": "2026-06-24",
  "amount": 100,
  "paymentMethod": "CASH",
  "depositPaymentMethod": "CASH",
  "paymentBy": "Cash",
  "chequeNo": "API-DEP-1001",
  "bankCharge": 0,
  "description": "AP deposit created through API",
  "note": "Deposit received before invoice",
  "isSecurityDeposit": false,
  "project": "PRJAPI",
  "department": "HQ"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master9 fields
  • DocNo string - Optional AutoCount document number.
  • DocDate date - Deposit date.
  • CreditorCode string - Supplier/creditor code.
  • Description string - Deposit description.
  • Note string - Note.
  • ProjNo string - Header project code.
  • DeptNo string - Header department code.
  • DepositPaymentMethod string - Deposit payment method.
  • IsSecurityDeposit boolean - Security deposit flag.
Details5 fields
  • PaymentMethod string - Payment method code.
  • ChequeNo string - Cheque/reference number.
  • PaymentAmt number - Deposit amount.
  • BankCharge number - Bank charge amount.
  • PaymentBy string - Payment by label.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options1 fields
  • DocNoFormatName string - Optional AutoCount numbering format.

Notes: Requires write access permission. Real save is tested against AutoCount APDepositCommand and verifies GLTrxID. AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP. Creates a real AutoCount deposit with one payment detail row and posts a GL transaction when saved.

list-ap-refundsread

List AP refunds.

Full payload schema: /v1/schema/commands/list-ap-refunds

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

get-ap-refundread

Get one AP refund by document number.

Full payload schema: /v1/schema/commands/get-ap-refund

Simple Payload Fields

docNo
required AP refund document number

Example Payload

{
  "docNo": "PV-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

validate-ap-refundread

Validate an AP refund without saving. Refund knocks off AP credit notes, not supplier invoices. Use docType PC or friendly CN alias; docKey is recommended.

Full payload schema: /v1/schema/commands/validate-ap-refund

Simple Payload Fields

creditorCode
required AutoCount creditor/supplier code
amount
required total payment/refund amount
knockOffs
optional array of documents to allocate this payment/refund against; docKey is recommended
_arApRule
AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
paymentMethod
required or optional AutoCount Payment Method code such as CASH or MAYBANK
paymentBy
optional payment type such as Cash, Cheque, Bank Transfer, Credit Card
chequeNo
optional cheque/reference number
bankCharge
optional bank charge amount
paymentAccountNo
optional GL bank/cash account number
bankChargeAccountNo
optional GL bank charge account number
creditCardApprovalCode
optional credit-card approval code/reference
description
optional payment/refund narration
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "creditorCode": "400-S001",
  "amount": 100,
  "knockOffs": [
    {
      "docType": "PB",
      "docKey": "424508",
      "docNo": "PI-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0,
      "gainLossAmount": 0,
      "withholdingTaxAmount": 0
    }
  ],
  "docDate": "2026-06-24",
  "paymentMethod": "CASH",
  "paymentBy": "Cash",
  "chequeNo": "API-PAY-1001",
  "bankCharge": 0,
  "paymentAccountNo": "110-0010",
  "bankChargeAccountNo": "810-0000",
  "creditCardApprovalCode": "",
  "description": "AP payment/refund created through API",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master7 fields
  • DocNo string - Optional AutoCount document number.
  • DocDate date - Refund date.
  • CreditorCode string - Supplier/creditor code.
  • Description string - Refund description.
  • ReferenceInvoiceNo string - Reference invoice number.
  • CurrencyCode string - Currency code.
  • Note string - Note.
Details5 fields
  • PaymentMethod string - Exact AutoCount payment method code.
  • ChequeNo string - Cheque/reference number.
  • PaymentAmt number - Refund payment amount.
  • BankCharge number - Bank charge amount.
  • PaymentBy string - Payment by label.
KnockOffDetails5 fields
  • DocType string - Credit-note document type such as PC.
  • DocKey number - AutoCount credit note key.
  • DocNo string - Credit note document number.
  • KnockOffDate date - Knock-off date.
  • KnockOffAmount number - Allocated amount.
TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.

Notes: Real AP refund knock-off save is proven against AP credit notes. CN/CreditNote aliases are normalized to PC. AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP. For payment against invoices use RI for AR and PB for AP. For refund against credit notes use RC/ARCN for AR and PC/APCN for AP. Friendly aliases are normalized by the connector where supported.

create-ap-refundwrite

Create an AP refund. Refund knocks off AP credit notes, not supplier invoices. Use docType PC or friendly CN alias; docKey is recommended.

Full payload schema: /v1/schema/commands/create-ap-refund

Simple Payload Fields

creditorCode
required AutoCount creditor/supplier code
docDate
required or optional YYYY-MM-DD document date
amount
required total payment/refund amount
knockOffs
optional array of documents to allocate this payment/refund against; docKey is recommended
_arApRule
AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
paymentMethod
required or optional AutoCount Payment Method code such as CASH or MAYBANK
paymentBy
optional payment type such as Cash, Cheque, Bank Transfer, Credit Card
chequeNo
optional cheque/reference number
bankCharge
optional bank charge amount
paymentAccountNo
optional GL bank/cash account number
bankChargeAccountNo
optional GL bank charge account number
creditCardApprovalCode
optional credit-card approval code/reference
description
optional payment/refund narration
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "creditorCode": "400-S001",
  "docDate": "2026-06-24",
  "amount": 100,
  "knockOffs": [
    {
      "docType": "PB",
      "docKey": "424508",
      "docNo": "PI-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0,
      "gainLossAmount": 0,
      "withholdingTaxAmount": 0
    }
  ],
  "paymentMethod": "CASH",
  "paymentBy": "Cash",
  "chequeNo": "API-PAY-1001",
  "bankCharge": 0,
  "paymentAccountNo": "110-0010",
  "bankChargeAccountNo": "810-0000",
  "creditCardApprovalCode": "",
  "description": "AP payment/refund created through API",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master7 fields
  • DocNo string - Optional AutoCount document number.
  • DocDate date - Refund date.
  • CreditorCode string - Supplier/creditor code.
  • Description string - Refund description.
  • ReferenceInvoiceNo string - Reference invoice number.
  • CurrencyCode string - Currency code.
  • Note string - Note.
Details5 fields
  • PaymentMethod string - Exact AutoCount payment method code.
  • ChequeNo string - Cheque/reference number.
  • PaymentAmt number - Refund payment amount.
  • BankCharge number - Bank charge amount.
  • PaymentBy string - Payment by label.
KnockOffDetails5 fields
  • DocType string - Credit-note document type such as PC.
  • DocKey number - AutoCount credit note key.
  • DocNo string - Credit note document number.
  • KnockOffDate date - Knock-off date.
  • KnockOffAmount number - Allocated amount.
TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.

Notes: Requires write access permission. Real AP refund knock-off save is proven against AP credit notes; CN aliases are normalized to PC. AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP. For payment against invoices use RI for AR and PB for AP. For refund against credit notes use RC/ARCN for AR and PC/APCN for AP. Friendly aliases are normalized by the connector where supported.

list-ap-invoicesread

List AP invoices.

Full payload schema: /v1/schema/commands/list-ap-invoices

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

get-ap-invoiceread

Get one AP invoice by document number.

Full payload schema: /v1/schema/commands/get-ap-invoice

Simple Payload Fields

docNo
required AP invoice document number

Example Payload

{
  "docNo": "API-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

validate-ap-invoiceread

Validate an AP invoice without saving.

Full payload schema: /v1/schema/commands/validate-ap-invoice

Simple Payload Fields

creditorCode
required AutoCount creditor/supplier code
supplierInvoiceNo
required supplier invoice number
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
dueDate
optional YYYY-MM-DD due date
ref
optional reference
currencyCode
optional currency code such as MYR
inclusiveTax
optional boolean
project
optional top-level project fallback for all AP invoice detail lines
projNo
project code alias
projectNo
project code alias
department
optional top-level department fallback
deptNo
department code alias
lines
recommended array of AP GL/account rows; each AP line must choose a valid posting account with accountNo / accNo / glAccount / postingAccountNo
accountNo
required for simple one-line AP payload unless every line has accountNo; use a valid purchase/expense GL account
amount
optional single-line amount; lines is preferred for multiple lines
_arApRule
AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP.
description
optional document description/narration
branchCode
optional creditor/supplier branch code/name where the customer uses branches
attention
optional attention/contact person
contact
optional contact person alias for attention
currencyRate
optional exchange rate
taxDate
optional YYYY-MM-DD tax date
taxType
optional tax type/code
knockOffs
optional array for credit/debit note knock-off where AutoCount supports it
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "creditorCode": "400-S001",
  "supplierInvoiceNo": "SUP-INV-1001",
  "docDate": "2026-06-24",
  "dueDate": "2026-07-24",
  "ref": "API-REF-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "project": "PRJAPI",
  "projNo": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "accountNo": "610-0000",
      "description": "Service line 1",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "taxAmount": 0,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    },
    {
      "accountNo": "620-0000",
      "description": "Different posting account line",
      "amount": 50,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022"
    }
  ],
  "description": "AP document created through API",
  "branchCode": "MAIN",
  "attention": "Accounts Department",
  "contact": "Accounts Department",
  "knockOffs": [
    {
      "docType": "PB",
      "docKey": "424508",
      "docNo": "PI-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master19 fields
  • DocNo string - Optional AutoCount document number.
  • DocDate date - Document date.
  • DueDate date - Due date.
  • CreditorCode string - Supplier/creditor code.
  • Description string - Header description.
  • Ref string - Reference.
  • RefNo string - Reference number.
  • RefNo2 string - Reference number 2.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • DisplayTerm string - Credit term.
  • TaxEntityID number - Tax entity maintenance id.
  • InclusiveTax boolean - Inclusive tax flag.
  • JournalType string - Journal type.
  • SupplierInvoiceNo string - Supplier invoice number.
Details10 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Amount number - Line amount.
  • TaxCode string - Tax code.
  • TaxAmt number - Tax amount.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.

Notes: Use validate before create when AI imports many supplier bills. Posting account order is: lines[].accountNo/top-level accountNo, AutoCount default purchase account, then recent AP invoice detail account for the same creditor. If no account is found, connector returns a clear validation error before AutoCount save. Send top-level project/projNo to apply one project to every line, or send line-level project/projNo for different projects per line. For taxable AP lines, use a purchase-side tax code from list-tax-codes, for example TX in Singapore GST books. AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP. Use read-ap-outstanding-documents first when a knock-off needs docKey. For simple invoices, amount/accountNo still works. For multiple posting accounts, send lines and put accountNo on each line. AR/AP invoice/note posting account order is: lines[].accountNo/top-level accountNo, AutoCount default account only when needed, then safe recent same-party history where the connector has a proven read path.

create-ap-invoicewrite

Create an AP invoice.

Full payload schema: /v1/schema/commands/create-ap-invoice

Simple Payload Fields

creditorCode
required AutoCount creditor/supplier code
supplierInvoiceNo
required supplier invoice number
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
dueDate
optional YYYY-MM-DD due date
ref
optional reference
currencyCode
optional currency code such as MYR
inclusiveTax
optional boolean
project
optional top-level project fallback for all AP invoice detail lines
projNo
project code alias
projectNo
project code alias
department
optional top-level department fallback
deptNo
department code alias
lines
recommended array of AP GL/account rows; each AP line must choose a valid posting account with accountNo / accNo / glAccount / postingAccountNo
accountNo
required for simple one-line AP payload unless every line has accountNo; use a valid purchase/expense GL account
amount
optional single-line amount; lines is preferred for multiple lines
_arApRule
AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP.
description
optional document description/narration
branchCode
optional creditor/supplier branch code/name where the customer uses branches
attention
optional attention/contact person
contact
optional contact person alias for attention
currencyRate
optional exchange rate
taxDate
optional YYYY-MM-DD tax date
taxType
optional tax type/code
knockOffs
optional array for credit/debit note knock-off where AutoCount supports it
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "creditorCode": "400-S001",
  "supplierInvoiceNo": "SUP-INV-1001",
  "docDate": "2026-06-24",
  "dueDate": "2026-07-24",
  "ref": "API-REF-1001",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "project": "PRJAPI",
  "projNo": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "accountNo": "610-0000",
      "description": "Service line 1",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "taxAmount": 0,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    },
    {
      "accountNo": "620-0000",
      "description": "Different posting account line",
      "amount": 50,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022"
    }
  ],
  "description": "AP document created through API",
  "branchCode": "MAIN",
  "attention": "Accounts Department",
  "contact": "Accounts Department",
  "knockOffs": [
    {
      "docType": "PB",
      "docKey": "424508",
      "docNo": "PI-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master19 fields
  • DocNo string - Optional AutoCount document number.
  • DocDate date - Document date.
  • DueDate date - Due date.
  • CreditorCode string - Supplier/creditor code.
  • Description string - Header description.
  • Ref string - Reference.
  • RefNo string - Reference number.
  • RefNo2 string - Reference number 2.
  • Remark1 string - Remark 1.
  • Remark2 string - Remark 2.
  • Remark3 string - Remark 3.
  • Remark4 string - Remark 4.
  • CurrencyCode string - Currency code.
  • CurrencyRate number - Currency rate.
  • DisplayTerm string - Credit term.
  • TaxEntityID number - Tax entity maintenance id.
  • InclusiveTax boolean - Inclusive tax flag.
  • JournalType string - Journal type.
  • SupplierInvoiceNo string - Supplier invoice number.
Details10 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • Description string - Line description.
  • Desc2 string - Line description 2.
  • FurtherDescription string - Further description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Amount number - Line amount.
  • TaxCode string - Tax code.
  • TaxAmt number - Tax amount.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.

Notes: Creates AP invoice through AutoCount SDK. The connector pre-checks creditorCode, AP journalType, detail count, and every GL posting account before SaveAPInvoice. Posting account order is: lines[].accountNo/top-level accountNo, AutoCount default purchase account, then recent AP invoice detail account for the same creditor. Send top-level project/projNo to apply one project to every line, or send line-level project/projNo for different projects per line. For taxable AP lines, use a purchase-side tax code from list-tax-codes, for example TX in Singapore GST books. AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP. Use read-ap-outstanding-documents first when a knock-off needs docKey. For simple invoices, amount/accountNo still works. For multiple posting accounts, send lines and put accountNo on each line. AR/AP invoice/note posting account order is: lines[].accountNo/top-level accountNo, AutoCount default account only when needed, then safe recent same-party history where the connector has a proven read path.

list-ap-credit-notesread

List AP credit notes.

Full payload schema: /v1/schema/commands/list-ap-credit-notes

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

get-ap-credit-noteread

Get one AP credit note by document number.

Full payload schema: /v1/schema/commands/get-ap-credit-note

Simple Payload Fields

docNo
required AP credit note document number

Example Payload

{
  "docNo": "PCN-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

validate-ap-credit-noteread

Validate an AP credit note without saving. Supports one or many real supplier invoice knock-offs.

Full payload schema: /v1/schema/commands/validate-ap-credit-note

Simple Payload Fields

creditorCode
required AutoCount creditor/supplier code
supplierCreditNoteNo
supplier credit note number
amount
optional single-line amount; lines is preferred for multiple lines
knockOffs
optional array for credit/debit note knock-off where AutoCount supports it
_arApRule
AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
dueDate
optional YYYY-MM-DD due date
description
optional document description/narration
ref
optional reference
branchCode
optional creditor/supplier branch code/name where the customer uses branches
attention
optional attention/contact person
contact
optional contact person alias for attention
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean
taxDate
optional YYYY-MM-DD tax date
accountNo
required for simple one-line AP payload unless every line has accountNo; use a valid purchase/expense GL account
taxType
optional tax type/code
lines
recommended array of AP GL/account rows; each AP line must choose a valid posting account with accountNo / accNo / glAccount / postingAccountNo
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "creditorCode": "400-S001",
  "supplierCreditNoteNo": "SCN-001",
  "amount": 100,
  "knockOffs": [
    {
      "docType": "PB",
      "docKey": "424508",
      "docNo": "PI-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0
    }
  ],
  "docDate": "2026-06-24",
  "dueDate": "2026-07-24",
  "description": "AP document created through API",
  "ref": "API-REF-1001",
  "branchCode": "MAIN",
  "attention": "Accounts Department",
  "contact": "Accounts Department",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "lines": [
    {
      "accountNo": "610-0000",
      "description": "Service line 1",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "taxAmount": 0,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    },
    {
      "accountNo": "620-0000",
      "description": "Different posting account line",
      "amount": 50,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master10 fields
  • DocNo string - Optional AutoCount document number.
  • DocDate date - Document date.
  • CreditorCode string - Supplier/creditor code.
  • CNType string - Credit note type.
  • Reason string - Credit/debit note reason.
  • Ref string - Reference.
  • Description string - Header description.
  • JournalType string - Journal type.
  • SupplierCNNo string - Supplier credit note number.
  • SupplierInvoiceNo string - Supplier invoice number.
Details7 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • Description string - Line description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Amount number - Line amount.
  • TaxCode string - Tax code.
KnockOffDetails5 fields
  • DocType string - AutoCount knock-off document type.
  • DocKey number - AutoCount outstanding document key.
  • DocNo string - Outstanding document number.
  • KnockOffDate date - Knock-off date.
  • KnockOffAmount number - Allocated amount.
TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.

Notes: Real positive knock-off validation is proven for outstanding AP documents. AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP. Use read-ap-outstanding-documents first when a knock-off needs docKey. For simple invoices, amount/accountNo still works. For multiple posting accounts, send lines and put accountNo on each line. AR/AP invoice/note posting account order is: lines[].accountNo/top-level accountNo, AutoCount default account only when needed, then safe recent same-party history where the connector has a proven read path.

create-ap-credit-notewrite

Create an AP credit note. Supports knock-offs and guarded MyInvois type 12 self-billed recovery for TSM.

Full payload schema: /v1/schema/commands/create-ap-credit-note

Simple Payload Fields

creditorCode
required AutoCount creditor/supplier code
supplierCreditNoteNo
supplier credit note number
docDate
required or optional YYYY-MM-DD document date
amount
optional single-line amount; lines is preferred for multiple lines
knockOffs
optional array for credit/debit note knock-off where AutoCount supports it
restoreMode
optional internal recovery value recover-existing-myinvois-direct
confirmNoLhdnSubmit
required true in recovery mode
taxEntity
supplier taxpayer identity required in recovery mode
buyerTaxEntity
buyer taxpayer identity required in recovery mode
eInvoiceRecovery
required UUID, timestamps, status, link, totals and tax in recovery mode
_arApRule
AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
dueDate
optional YYYY-MM-DD due date
description
optional document description/narration
ref
optional reference
branchCode
optional creditor/supplier branch code/name where the customer uses branches
attention
optional attention/contact person
contact
optional contact person alias for attention
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean
taxDate
optional YYYY-MM-DD tax date
accountNo
required for simple one-line AP payload unless every line has accountNo; use a valid purchase/expense GL account
taxType
optional tax type/code
lines
recommended array of AP GL/account rows; each AP line must choose a valid posting account with accountNo / accNo / glAccount / postingAccountNo
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "creditorCode": "400-S001",
  "supplierCreditNoteNo": "SCN-001",
  "docDate": "2026-06-24",
  "amount": 100,
  "knockOffs": [
    {
      "docType": "PB",
      "docKey": "424508",
      "docNo": "PI-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0
    }
  ],
  "dueDate": "2026-07-24",
  "description": "AP document created through API",
  "ref": "API-REF-1001",
  "branchCode": "MAIN",
  "attention": "Accounts Department",
  "contact": "Accounts Department",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "lines": [
    {
      "accountNo": "610-0000",
      "description": "Service line 1",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "taxAmount": 0,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    },
    {
      "accountNo": "620-0000",
      "description": "Different posting account line",
      "amount": 50,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022"
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master10 fields
  • DocNo string - Optional AutoCount document number.
  • DocDate date - Document date.
  • CreditorCode string - Supplier/creditor code.
  • CNType string - Credit note type.
  • Reason string - Credit/debit note reason.
  • Ref string - Reference.
  • Description string - Header description.
  • JournalType string - Journal type.
  • SupplierCNNo string - Supplier credit note number.
  • SupplierInvoiceNo string - Supplier invoice number.
Details7 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • Description string - Line description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Amount number - Line amount.
  • TaxCode string - Tax code.
KnockOffDetails5 fields
  • DocType string - AutoCount knock-off document type.
  • DocKey number - AutoCount outstanding document key.
  • DocNo string - Outstanding document number.
  • KnockOffDate date - Knock-off date.
  • KnockOffAmount number - Allocated amount.
TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.

Notes: Normal create requires write access. Recovery is companyId=tsm only, UUID guarded, native SelfBilled-linked, reload verified, and does not submit to LHDN. AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP. Use read-ap-outstanding-documents first when a knock-off needs docKey. For simple invoices, amount/accountNo still works. For multiple posting accounts, send lines and put accountNo on each line. AR/AP invoice/note posting account order is: lines[].accountNo/top-level accountNo, AutoCount default account only when needed, then safe recent same-party history where the connector has a proven read path.

list-ap-debit-notesread

List AP debit notes.

Full payload schema: /v1/schema/commands/list-ap-debit-notes

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

get-ap-debit-noteread

Get one AP debit note by document number.

Full payload schema: /v1/schema/commands/get-ap-debit-note

Simple Payload Fields

docNo
required AP debit note document number

Example Payload

{
  "docNo": "PDN-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

validate-ap-debit-noteread

Validate an AP debit note without saving.

Full payload schema: /v1/schema/commands/validate-ap-debit-note

Simple Payload Fields

creditorCode
required AutoCount creditor/supplier code
supplierDebitNoteNo
supplier debit note number optional
amount
optional single-line amount; lines is preferred for multiple lines
_arApRule
AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
dueDate
optional YYYY-MM-DD due date
description
optional document description/narration
ref
optional reference
branchCode
optional creditor/supplier branch code/name where the customer uses branches
attention
optional attention/contact person
contact
optional contact person alias for attention
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean
taxDate
optional YYYY-MM-DD tax date
accountNo
required for simple one-line AP payload unless every line has accountNo; use a valid purchase/expense GL account
taxType
optional tax type/code
lines
recommended array of AP GL/account rows; each AP line must choose a valid posting account with accountNo / accNo / glAccount / postingAccountNo
knockOffs
optional array for credit/debit note knock-off where AutoCount supports it
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "creditorCode": "400-S001",
  "supplierDebitNoteNo": "SDN-001",
  "amount": 100,
  "docDate": "2026-06-24",
  "dueDate": "2026-07-24",
  "description": "AP document created through API",
  "ref": "API-REF-1001",
  "branchCode": "MAIN",
  "attention": "Accounts Department",
  "contact": "Accounts Department",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "lines": [
    {
      "accountNo": "610-0000",
      "description": "Service line 1",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "taxAmount": 0,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    },
    {
      "accountNo": "620-0000",
      "description": "Different posting account line",
      "amount": 50,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022"
    }
  ],
  "knockOffs": [
    {
      "docType": "PB",
      "docKey": "424508",
      "docNo": "PI-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master10 fields
  • DocNo string - Optional AutoCount document number.
  • DocDate date - Document date.
  • CreditorCode string - Supplier/creditor code.
  • DNType string - Debit note type.
  • Reason string - Credit/debit note reason.
  • Ref string - Reference.
  • Description string - Header description.
  • JournalType string - Journal type.
  • SupplierDNNo string - Supplier debit note number.
  • SupplierInvoiceNo string - Supplier invoice number.
Details7 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • Description string - Line description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Amount number - Line amount.
  • TaxCode string - Tax code.
KnockOffDetails5 fields
  • DocType string - AutoCount knock-off document type.
  • DocKey number - AutoCount outstanding document key.
  • DocNo string - Outstanding document number.
  • KnockOffDate date - Knock-off date.
  • KnockOffAmount number - Allocated amount.
TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.

Notes: AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP. Use read-ap-outstanding-documents first when a knock-off needs docKey. For simple invoices, amount/accountNo still works. For multiple posting accounts, send lines and put accountNo on each line. AR/AP invoice/note posting account order is: lines[].accountNo/top-level accountNo, AutoCount default account only when needed, then safe recent same-party history where the connector has a proven read path.

create-ap-debit-notewrite

Create an AP debit note; guarded MyInvois type 13 self-billed recovery is supported for TSM.

Full payload schema: /v1/schema/commands/create-ap-debit-note

Simple Payload Fields

creditorCode
required AutoCount creditor/supplier code
supplierDebitNoteNo
supplier debit note number optional
docDate
required or optional YYYY-MM-DD document date
amount
optional single-line amount; lines is preferred for multiple lines
restoreMode
optional internal recovery value recover-existing-myinvois-direct
confirmNoLhdnSubmit
required true in recovery mode
taxEntity
supplier taxpayer identity required in recovery mode
buyerTaxEntity
buyer taxpayer identity required in recovery mode
eInvoiceRecovery
required UUID, timestamps, status, link, totals and tax in recovery mode
_arApRule
AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP.
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
dueDate
optional YYYY-MM-DD due date
description
optional document description/narration
ref
optional reference
branchCode
optional creditor/supplier branch code/name where the customer uses branches
attention
optional attention/contact person
contact
optional contact person alias for attention
currencyCode
optional currency code such as MYR
currencyRate
optional exchange rate
inclusiveTax
optional boolean
taxDate
optional YYYY-MM-DD tax date
accountNo
required for simple one-line AP payload unless every line has accountNo; use a valid purchase/expense GL account
taxType
optional tax type/code
lines
recommended array of AP GL/account rows; each AP line must choose a valid posting account with accountNo / accNo / glAccount / postingAccountNo
knockOffs
optional array for credit/debit note knock-off where AutoCount supports it
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "creditorCode": "400-S001",
  "supplierDebitNoteNo": "SDN-001",
  "docDate": "2026-06-24",
  "amount": 100,
  "dueDate": "2026-07-24",
  "description": "AP document created through API",
  "ref": "API-REF-1001",
  "branchCode": "MAIN",
  "attention": "Accounts Department",
  "contact": "Accounts Department",
  "currencyCode": "MYR",
  "inclusiveTax": false,
  "lines": [
    {
      "accountNo": "610-0000",
      "description": "Service line 1",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "taxAmount": 0,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    },
    {
      "accountNo": "620-0000",
      "description": "Different posting account line",
      "amount": 50,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022"
    }
  ],
  "knockOffs": [
    {
      "docType": "PB",
      "docKey": "424508",
      "docNo": "PI-000001",
      "amount": 100,
      "discountAmount": 0,
      "taxAdjustment": 0
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master10 fields
  • DocNo string - Optional AutoCount document number.
  • DocDate date - Document date.
  • CreditorCode string - Supplier/creditor code.
  • DNType string - Debit note type.
  • Reason string - Credit/debit note reason.
  • Ref string - Reference.
  • Description string - Header description.
  • JournalType string - Journal type.
  • SupplierDNNo string - Supplier debit note number.
  • SupplierInvoiceNo string - Supplier invoice number.
Details7 fields
  • DtlKey number - Existing detail key for updates.
  • AccNo string - Posting GL account.
  • Description string - Line description.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • Amount number - Line amount.
  • TaxCode string - Tax code.
KnockOffDetails5 fields
  • DocType string - AutoCount knock-off document type.
  • DocKey number - AutoCount outstanding document key.
  • DocNo string - Outstanding document number.
  • KnockOffDate date - Knock-off date.
  • KnockOffAmount number - Allocated amount.
TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • DocNoFormatName string - Optional AutoCount numbering format.
  • SaveAsDraft boolean - Draft/save behavior where AutoCount supports it.

Notes: Normal create uses AutoCount SDK. Recovery is companyId=tsm only, UUID guarded, native SelfBilled-linked, reload verified, and does not submit to LHDN. AP = supplier/creditor. Use creditorCode only for AP commands; do not send debtorCode for AP. Use read-ap-outstanding-documents first when a knock-off needs docKey. For simple invoices, amount/accountNo still works. For multiple posting accounts, send lines and put accountNo on each line. AR/AP invoice/note posting account order is: lines[].accountNo/top-level accountNo, AutoCount default account only when needed, then safe recent same-party history where the connector has a proven read path.

AR/AP Contra Contra documents and related AR/AP allocation support. 7 commands

Command Native Sections

get-arap-contraread

Get one AR/AP contra document by document number.

Full payload schema: /v1/schema/commands/get-arap-contra

Simple Payload Fields

docNo
required contra document number

Example Payload

{
  "docNo": "CON-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

update-arap-contrawrite

Update AR/AP contra header/simple fields.

Full payload schema: /v1/schema/commands/update-arap-contra

Simple Payload Fields

docNo
required existing document number
reason
required audit reason
debtorCode
required AutoCount debtor/customer code
creditorCode
required AutoCount creditor/supplier code
docDate
required or optional YYYY-MM-DD document date
description
optional description; null or empty clears optional text
ref
optional reference
amount
required total contra amount
arKnockOffs
optional AR side documents to knock off; docKey recommended
apKnockOffs
optional AP side documents to knock off; docKey recommended
knockOffs
optional combined knock-off rows when connector command accepts one array
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values
detailMode
explicit update | append | replace | delete for detail edits

Example Payload

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification. Positive contra knock-off allocation remains guarded; this is not a new allocation workflow.

void-arap-contrawrite

Guarded AR/AP contra void request.

Full payload schema: /v1/schema/commands/void-arap-contra

Simple Payload Fields

docNo
required
reason
required

Example Payload

{
  "docNo": "CON-000001",
  "reason": "void/correct document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked until module-specific AutoCount void/cancel safety is proven.

delete-arap-contrawrite

Guarded AR/AP contra delete request.

Full payload schema: /v1/schema/commands/delete-arap-contra

Simple Payload Fields

docNo
required
reason
required

Example Payload

{
  "docNo": "CON-000001",
  "reason": "remove/correct document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked. Use reversal, cancellation, or replacement workflow until module-specific AutoCount delete safety is proven.

list-arap-contrasread

List AR/AP contra documents.

Full payload schema: /v1/schema/commands/list-arap-contras

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

validate-arap-contraread

Validate an AR/AP contra document without saving. Invoice knock-off allocation is guarded until proven with AutoCount SDK.

Full payload schema: /v1/schema/commands/validate-arap-contra

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
creditorCode
required AutoCount creditor/supplier code
amount
required total contra amount
knockOffs
optional combined knock-off rows when connector command accepts one array
docNo
optional contra document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional contra narration
ref
optional reference
arKnockOffs
optional AR side documents to knock off; docKey recommended
apKnockOffs
optional AP side documents to knock off; docKey recommended

Example Payload

{
  "debtorCode": "300-A001",
  "creditorCode": "400-S001",
  "amount": 100,
  "docDate": "2026-06-24",
  "description": "API AR/AP contra",
  "ref": "API-CONTRA-1001",
  "arKnockOffs": [
    {
      "docType": "RI",
      "docKey": "424501",
      "docNo": "IV-000001",
      "amount": 100
    }
  ],
  "apKnockOffs": [
    {
      "docType": "PB",
      "docKey": "424508",
      "docNo": "PI-000001",
      "amount": 100
    }
  ],
  "knockOffs": [
    {
      "side": "AR",
      "docType": "RI",
      "docKey": "424501",
      "docNo": "IV-000001",
      "amount": 100
    },
    {
      "side": "AP",
      "docType": "PB",
      "docKey": "424508",
      "docNo": "PI-000001",
      "amount": 100
    }
  ]
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master9 fields
  • DocNo string - Optional AutoCount document number.
  • DocDate date - Contra date.
  • DebtorCode string - Customer/debtor code.
  • CreditorCode string - Supplier/creditor code.
  • Description string - Contra description.
  • Ref string - Reference.
  • TempAccNo string - Temporary GL account.
  • JournalType string - Journal type.
  • NetTotal number - Contra amount.
Details0 fields

No field names are published for this section yet.

KnockOffDetails4 fields
  • DocType string - AutoCount knock-off document type.
  • DocKey number - AutoCount outstanding document key.
  • DocNo string - Outstanding document number.
  • KnockOffAmount number - Allocated amount.
TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options1 fields
  • DocNoFormatName string - Optional AutoCount numbering format.

Notes: Plain contra validation is supported. Use payment/credit-note commands for invoice allocation and refund commands for credit-note allocation until contra allocation is proven. Use read-ar-outstanding-documents and read-ap-outstanding-documents first to get docKey values for contra knock-off rows.

create-arap-contrawrite

Create an AR/AP contra document. Invoice knock-off allocation is guarded until proven with AutoCount SDK.

Full payload schema: /v1/schema/commands/create-arap-contra

Simple Payload Fields

debtorCode
required AutoCount debtor/customer code
creditorCode
required AutoCount creditor/supplier code
docDate
required or optional YYYY-MM-DD document date
amount
required total contra amount
knockOffs
optional combined knock-off rows when connector command accepts one array
docNo
optional contra document number; omit to let AutoCount numbering generate it
description
optional contra narration
ref
optional reference
arKnockOffs
optional AR side documents to knock off; docKey recommended
apKnockOffs
optional AP side documents to knock off; docKey recommended

Example Payload

{
  "debtorCode": "300-A001",
  "creditorCode": "400-S001",
  "docDate": "2026-06-24",
  "amount": 100,
  "description": "API AR/AP contra",
  "ref": "API-CONTRA-1001",
  "arKnockOffs": [
    {
      "docType": "RI",
      "docKey": "424501",
      "docNo": "IV-000001",
      "amount": 100
    }
  ],
  "apKnockOffs": [
    {
      "docType": "PB",
      "docKey": "424508",
      "docNo": "PI-000001",
      "amount": 100
    }
  ],
  "knockOffs": [
    {
      "side": "AR",
      "docType": "RI",
      "docKey": "424501",
      "docNo": "IV-000001",
      "amount": 100
    },
    {
      "side": "AP",
      "docType": "PB",
      "docKey": "424508",
      "docNo": "PI-000001",
      "amount": 100
    }
  ]
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master9 fields
  • DocNo string - Optional AutoCount document number.
  • DocDate date - Contra date.
  • DebtorCode string - Customer/debtor code.
  • CreditorCode string - Supplier/creditor code.
  • Description string - Contra description.
  • Ref string - Reference.
  • TempAccNo string - Temporary GL account.
  • JournalType string - Journal type.
  • NetTotal number - Contra amount.
Details0 fields

No field names are published for this section yet.

KnockOffDetails4 fields
  • DocType string - AutoCount knock-off document type.
  • DocKey number - AutoCount outstanding document key.
  • DocNo string - Outstanding document number.
  • KnockOffAmount number - Allocated amount.
TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options1 fields
  • DocNoFormatName string - Optional AutoCount numbering format.

Notes: Requires write access permission. Use payment/credit-note commands for invoice allocation and refund commands for credit-note allocation until contra allocation is proven. Use read-ar-outstanding-documents and read-ap-outstanding-documents first to get docKey values for contra knock-off rows.

Stock Stock item reads and stock transaction documents. 140 commands

Command Native Sections

change-item-batchwrite

Change an item's batch number.

Full payload schema: /v1/schema/commands/change-item-batch

Simple Payload Fields

itemCode
required AutoCount item code
oldBatchNo
required old value for oldBatchNo
newBatchNo
required new value for newBatchNo
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example Payload

{
  "itemCode": "ITEM-001",
  "oldBatchNo": "OLD-BATCH",
  "newBatchNo": "NEW-BATCH",
  "confirm": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

change-item-codewrite

Change an item code across linked stock records.

Full payload schema: /v1/schema/commands/change-item-code

Simple Payload Fields

oldItemCode
required old value for oldItemCode
newItemCode
required new value for newItemCode
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example Payload

{
  "oldItemCode": "OLD-ITEM",
  "newItemCode": "NEW-ITEM",
  "confirm": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

change-item-uomwrite

Change an item's unit of measure.

Full payload schema: /v1/schema/commands/change-item-uom

Simple Payload Fields

itemCode
required AutoCount item code
oldUOM
required old value for oldUOM
newUOM
required new value for newUOM
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example Payload

{
  "itemCode": "ITEM-001",
  "oldUOM": "OLD-UOM",
  "newUOM": "NEW-UOM",
  "confirm": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

change-locationwrite

Change a stock location ID.

Full payload schema: /v1/schema/commands/change-location

Simple Payload Fields

oldLocationID
required old value for oldLocationID
newLocationID
required new value for newLocationID
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example Payload

{
  "oldLocationID": "OLD-LOC",
  "newLocationID": "NEW-LOC",
  "confirm": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

change-item-uom-ratewrite

Change an item's UOM conversion rate.

Full payload schema: /v1/schema/commands/change-item-uom-rate

Simple Payload Fields

itemCode
required AutoCount item code
uom
required unit of measure
newRate
required positive new UOM rate
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example Payload

{
  "itemCode": "ITEM-001",
  "uom": "BOX",
  "newRate": 12,
  "confirm": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities. The native Int64 return is an optional POS ChangeLog ID; zero is valid and it is not a job ID. New connectors verify rate/dependent structure before automatic selected-item costing, in separate commits; TOOLS_STKCOST_RECAL_OPEN is also required. Native rate maintenance can repair batch balances book-wide, authorized by confirm:true. Historical guards remain; rateSaved with failed costing requires reconciliation, never an automatic rate retry.

change-serial-numberwrite

Change a serial number for an item.

Full payload schema: /v1/schema/commands/change-serial-number

Simple Payload Fields

itemCode
required AutoCount item code
oldSerialNumber
required existing serial number
newSerialNumber
required replacement serial number
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example Payload

{
  "itemCode": "ITEM-001",
  "oldSerialNumber": "OLD-SN",
  "newSerialNumber": "NEW-SN",
  "confirm": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities. Cloud schema does not prove native runtime support. The connector must preserve the native transaction sequence, linked-document serial lists, and fresh read-back.

swap-item-uom-rateswrite

Swap an item's UOM conversion rates.

Full payload schema: /v1/schema/commands/swap-item-uom-rates

Simple Payload Fields

itemCode
required AutoCount item code
rates
required modified UOM rates; each row has uom, positive newRate, and optional isBaseUOM
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example Payload

{
  "itemCode": "ITEM-001",
  "rates": [
    {
      "uom": "BOX",
      "newRate": 12,
      "isBaseUOM": false
    },
    {
      "uom": "PCS",
      "newRate": 1,
      "isBaseUOM": true
    }
  ],
  "confirm": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities. Native StartSwapUOMRate; isBaseUOM is optional per row. Exactly one resulting base UOM at rate 1 is required. New connectors structurally verify the save before selected-item costing in a separate commit; the native costing right is required. Rate maintenance may repair batch balances book-wide. Historical guards remain; no automatic retry after partial completion.

list-item-batchesread

List item batches with bounded filters.

Full payload schema: /v1/schema/commands/list-item-batches

Simple Payload Fields

itemCode
optional AutoCount item code
batchNo
optional Optional batch-number substring search
limit
optional Page size, default500, maximum5000
manufacturedDateFrom
optional Inclusive manufactured-date lower bound YYYY-MM-DD
manufacturedDateTo
optional Inclusive manufactured-date upper bound YYYY-MM-DD
expiryDateFrom
optional Inclusive expiry lower bound YYYY-MM-DD
expiryDateTo
optional Inclusive expiry upper bound YYYY-MM-DD

Example Payload

{
  "itemCode": "ITEM001",
  "limit": 100
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Connector SDK support and native safety checks are required. Validation never saves. Cloud schema presence is not native persistence proof; existing change-item-batch is separate.

get-item-batchread

Read one exact item batch.

Full payload schema: /v1/schema/commands/get-item-batch

Simple Payload Fields

itemCode
required AutoCount item code
batchNo
required Exact item batch number

Example Payload

{
  "itemCode": "ITEM001",
  "batchNo": "LOT001"
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Connector SDK support and native safety checks are required. Validation never saves. Cloud schema presence is not native persistence proof; existing change-item-batch is separate.

read-item-batch-balancesread

Read item batch balances by location and UOM.

Full payload schema: /v1/schema/commands/read-item-batch-balances

Simple Payload Fields

itemCode
required AutoCount item code
batchNo
optional Exact item batch number
limit
optional Page size, default500, maximum5000
location
optional Optional exact location
uom
optional Optional exact UOM

Example Payload

{
  "itemCode": "ITEM001"
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Connector SDK support and native safety checks are required. Validation never saves. Cloud schema presence is not native persistence proof; existing change-item-batch is separate.

read-item-batch-transactionsread

Read item batch transactions by date.

Full payload schema: /v1/schema/commands/read-item-batch-transactions

Simple Payload Fields

itemCode
required AutoCount item code
batchNo
required Exact item batch number
limit
optional Page size, default500, maximum5000
fromDate
optional Inclusive transaction-date lower bound YYYY-MM-DD
toDate
optional Inclusive transaction-date upper bound YYYY-MM-DD

Example Payload

{
  "itemCode": "ITEM001",
  "batchNo": "LOT001"
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Connector SDK support and native safety checks are required. Validation never saves. Cloud schema presence is not native persistence proof; existing change-item-batch is separate.

validate-item-batchread

Validate batch maintenance without saving.

Full payload schema: /v1/schema/commands/validate-item-batch

Simple Payload Fields

itemCode
required AutoCount item code
batchNo
required Exact item batch number
description
optional Batch description
manufacturedDate
optional YYYY-MM-DD or explicit null to clear; omitted values are unchanged; empty strings rejected
expiryDate
optional YYYY-MM-DD or explicit null to clear; omitted values are unchanged; empty strings rejected
lastSaleDate
optional YYYY-MM-DD or explicit null to clear; omitted values are unchanged; empty strings rejected
mode
required Maintenance mode: create or update

Example Payload

{
  "itemCode": "ITEM001",
  "batchNo": "LOT001",
  "mode": "create"
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Connector SDK support and native safety checks are required. Validation never saves. Cloud schema presence is not native persistence proof; existing change-item-batch is separate.

create-item-batchwrite

Create an item batch master.

Full payload schema: /v1/schema/commands/create-item-batch

Simple Payload Fields

itemCode
required AutoCount item code
batchNo
required Exact item batch number
description
optional Batch description
manufacturedDate
optional YYYY-MM-DD or explicit null to clear; omitted values are unchanged; empty strings rejected
expiryDate
optional YYYY-MM-DD or explicit null to clear; omitted values are unchanged; empty strings rejected
lastSaleDate
optional YYYY-MM-DD or explicit null to clear; omitted values are unchanged; empty strings rejected
validateOnly
optional True validates without saving; write permission is still required on create/update/delete

Example Payload

{
  "itemCode": "ITEM001",
  "batchNo": "LOT001"
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Connector SDK support and native safety checks are required. Validation never saves. Cloud schema presence is not native persistence proof; existing change-item-batch is separate.

update-item-batchwrite

Update batch description and dates; not its identity.

Full payload schema: /v1/schema/commands/update-item-batch

Simple Payload Fields

itemCode
required AutoCount item code
batchNo
required Exact item batch number
description
optional Batch description
manufacturedDate
optional YYYY-MM-DD or explicit null to clear; omitted values are unchanged; empty strings rejected
expiryDate
optional YYYY-MM-DD or explicit null to clear; omitted values are unchanged; empty strings rejected
lastSaleDate
optional YYYY-MM-DD or explicit null to clear; omitted values are unchanged; empty strings rejected
validateOnly
optional True validates without saving; write permission is still required on create/update/delete

Example Payload

{
  "itemCode": "ITEM001",
  "batchNo": "LOT001"
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Connector SDK support and native safety checks are required. Validation never saves. Cloud schema presence is not native persistence proof; existing change-item-batch is separate.

delete-item-batchwrite

Delete an unused item batch subject to native safety checks.

Full payload schema: /v1/schema/commands/delete-item-batch

Simple Payload Fields

itemCode
required AutoCount item code
batchNo
required Exact item batch number
validateOnly
optional True validates without saving; write permission is still required on create/update/delete

Example Payload

{
  "itemCode": "ITEM001",
  "batchNo": "LOT001"
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Connector SDK support and native safety checks are required. Validation never saves. Cloud schema presence is not native persistence proof; existing change-item-batch is separate.

list-stock-adjustmentsread

List stock adjustment records.

Full payload schema: /v1/schema/commands/list-stock-adjustments

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

get-stock-adjustmentread

Get one stock adjustment by document/code.

Full payload schema: /v1/schema/commands/get-stock-adjustment

Simple Payload Fields

docNo
required document number or code

Example Payload

{
  "docNo": "SA-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

validate-stock-adjustmentread

Validate stock adjustment without saving.

Full payload schema: /v1/schema/commands/validate-stock-adjustment

Simple Payload Fields

items
optional alias for lines
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
lines
required array of stock item rows; items is also accepted as a compatibility alias
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1
    }
  ],
  "docDate": "2026-06-24",
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master4 fields
  • DocNo string - Stock document number.
  • DocDate date - Document date.
  • Description string - Document description.
  • UserDefinedFields object - Header UDF object.
Details9 fields
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - From/location code.
  • ToLocation string - Destination location for transfers.
  • Qty number - Quantity.
  • UnitCost number - Unit cost.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • UserDefinedFields object - Detail UDF object.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Validation only; does not save. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

update-stock-adjustmentwrite

Edit stock adjustment header fields and detail lines.

Full payload schema: /v1/schema/commands/update-stock-adjustment

Simple Payload Fields

docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
detailMode
optional: update | append | delete | replace
lines
required array of stock item rows; items is also accepted as a compatibility alias
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "docNo": "STK-000001",
  "description": "Stock document created through API",
  "detailMode": "update",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "reason": "API stock operation",
  "docDate": "2026-06-24",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master4 fields
  • DocNo string - Stock document number.
  • DocDate date - Document date.
  • Description string - Document description.
  • UserDefinedFields object - Header UDF object.
Details9 fields
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - From/location code.
  • ToLocation string - Destination location for transfers.
  • Qty number - Quantity.
  • UnitCost number - Unit cost.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • UserDefinedFields object - Detail UDF object.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Uses AutoCount SDK EditDetail/AddDetail/DeleteDetail/ClearDetails + Save. Supported line fields include itemCode, qty, uom, location, batchNo, unitCost, oldCost, newCost, fromQty, toQty, fromUom, toUom, itemCost, rate, description, projNo, and deptNo where the document type exposes them. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

void-stock-adjustmentwrite

Void/cancel stock adjustment.

Full payload schema: /v1/schema/commands/void-stock-adjustment

Simple Payload Fields

docNo
required document number or code
reason
optional

Example Payload

{
  "docNo": "SA-000001",
  "reason": "void/correct stock document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount SDK CancelDocument.

delete-stock-adjustmentwrite

Delete stock adjustment.

Full payload schema: /v1/schema/commands/delete-stock-adjustment

Simple Payload Fields

docNo
required document number or code
reason
optional

Example Payload

{
  "docNo": "SA-000001",
  "reason": "remove/correct stock document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount SDK Delete. Use carefully because stock transactions affect costing and audit history.

list-stock-receivesread

List stock receive records.

Full payload schema: /v1/schema/commands/list-stock-receives

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

get-stock-receiveread

Get one stock receive by document/code.

Full payload schema: /v1/schema/commands/get-stock-receive

Simple Payload Fields

docNo
required document number or code

Example Payload

{
  "docNo": "SR-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

validate-stock-receiveread

Validate stock receive without saving.

Full payload schema: /v1/schema/commands/validate-stock-receive

Simple Payload Fields

items
optional alias for lines
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
lines
required array of stock item rows; items is also accepted as a compatibility alias
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1
    }
  ],
  "docDate": "2026-06-24",
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master4 fields
  • DocNo string - Stock document number.
  • DocDate date - Document date.
  • Description string - Document description.
  • UserDefinedFields object - Header UDF object.
Details9 fields
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - From/location code.
  • ToLocation string - Destination location for transfers.
  • Qty number - Quantity.
  • UnitCost number - Unit cost.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • UserDefinedFields object - Detail UDF object.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Validation only; does not save. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

update-stock-receivewrite

Edit stock receive header fields and detail lines.

Full payload schema: /v1/schema/commands/update-stock-receive

Simple Payload Fields

docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
detailMode
optional: update | append | delete | replace
lines
required array of stock item rows; items is also accepted as a compatibility alias
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "docNo": "STK-000001",
  "description": "Stock document created through API",
  "detailMode": "update",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "reason": "API stock operation",
  "docDate": "2026-06-24",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master4 fields
  • DocNo string - Stock document number.
  • DocDate date - Document date.
  • Description string - Document description.
  • UserDefinedFields object - Header UDF object.
Details9 fields
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - From/location code.
  • ToLocation string - Destination location for transfers.
  • Qty number - Quantity.
  • UnitCost number - Unit cost.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • UserDefinedFields object - Detail UDF object.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Uses AutoCount SDK EditDetail/AddDetail/DeleteDetail/ClearDetails + Save. Supported line fields include itemCode, qty, uom, location, batchNo, unitCost, oldCost, newCost, fromQty, toQty, fromUom, toUom, itemCost, rate, description, projNo, and deptNo where the document type exposes them. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

void-stock-receivewrite

Void/cancel stock receive.

Full payload schema: /v1/schema/commands/void-stock-receive

Simple Payload Fields

docNo
required document number or code
reason
optional

Example Payload

{
  "docNo": "SR-000001",
  "reason": "void/correct stock document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount SDK CancelDocument.

delete-stock-receivewrite

Delete stock receive.

Full payload schema: /v1/schema/commands/delete-stock-receive

Simple Payload Fields

docNo
required document number or code
reason
optional

Example Payload

{
  "docNo": "SR-000001",
  "reason": "remove/correct stock document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount SDK Delete. Use carefully because stock transactions affect costing and audit history.

list-stock-issuesread

List stock issue records.

Full payload schema: /v1/schema/commands/list-stock-issues

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

get-stock-issueread

Get one stock issue by document/code.

Full payload schema: /v1/schema/commands/get-stock-issue

Simple Payload Fields

docNo
required document number or code

Example Payload

{
  "docNo": "SI-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

validate-stock-issueread

Validate stock issue without saving.

Full payload schema: /v1/schema/commands/validate-stock-issue

Simple Payload Fields

items
optional alias for lines
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
lines
required array of stock item rows; items is also accepted as a compatibility alias
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1
    }
  ],
  "docDate": "2026-06-24",
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master4 fields
  • DocNo string - Stock document number.
  • DocDate date - Document date.
  • Description string - Document description.
  • UserDefinedFields object - Header UDF object.
Details9 fields
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - From/location code.
  • ToLocation string - Destination location for transfers.
  • Qty number - Quantity.
  • UnitCost number - Unit cost.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • UserDefinedFields object - Detail UDF object.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Validation only; does not save. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

update-stock-issuewrite

Edit stock issue header fields and detail lines.

Full payload schema: /v1/schema/commands/update-stock-issue

Simple Payload Fields

docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
detailMode
optional: update | append | delete | replace
lines
required array of stock item rows; items is also accepted as a compatibility alias
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "docNo": "STK-000001",
  "description": "Stock document created through API",
  "detailMode": "update",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "reason": "API stock operation",
  "docDate": "2026-06-24",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master4 fields
  • DocNo string - Stock document number.
  • DocDate date - Document date.
  • Description string - Document description.
  • UserDefinedFields object - Header UDF object.
Details9 fields
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - From/location code.
  • ToLocation string - Destination location for transfers.
  • Qty number - Quantity.
  • UnitCost number - Unit cost.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • UserDefinedFields object - Detail UDF object.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Uses AutoCount SDK EditDetail/AddDetail/DeleteDetail/ClearDetails + Save. Supported line fields include itemCode, qty, uom, location, batchNo, unitCost, oldCost, newCost, fromQty, toQty, fromUom, toUom, itemCost, rate, description, projNo, and deptNo where the document type exposes them. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

void-stock-issuewrite

Void/cancel stock issue.

Full payload schema: /v1/schema/commands/void-stock-issue

Simple Payload Fields

docNo
required document number or code
reason
optional

Example Payload

{
  "docNo": "SI-000001",
  "reason": "void/correct stock document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount SDK CancelDocument.

delete-stock-issuewrite

Delete stock issue.

Full payload schema: /v1/schema/commands/delete-stock-issue

Simple Payload Fields

docNo
required document number or code
reason
optional

Example Payload

{
  "docNo": "SI-000001",
  "reason": "remove/correct stock document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount SDK Delete. Use carefully because stock transactions affect costing and audit history.

list-stock-transfersread

List stock transfer records.

Full payload schema: /v1/schema/commands/list-stock-transfers

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

get-stock-transferread

Get one stock transfer by document/code.

Full payload schema: /v1/schema/commands/get-stock-transfer

Simple Payload Fields

docNo
required document number or code

Example Payload

{
  "docNo": "ST-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

validate-stock-transferread

Validate stock transfer without saving.

Full payload schema: /v1/schema/commands/validate-stock-transfer

Simple Payload Fields

items
optional alias for lines
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
lines
required array of stock item rows; items is also accepted as a compatibility alias
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1
    }
  ],
  "docDate": "2026-06-24",
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master4 fields
  • DocNo string - Stock document number.
  • DocDate date - Document date.
  • Description string - Document description.
  • UserDefinedFields object - Header UDF object.
Details9 fields
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - From/location code.
  • ToLocation string - Destination location for transfers.
  • Qty number - Quantity.
  • UnitCost number - Unit cost.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • UserDefinedFields object - Detail UDF object.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Validation only; does not save. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

update-stock-transferwrite

Edit stock transfer header fields and detail lines.

Full payload schema: /v1/schema/commands/update-stock-transfer

Simple Payload Fields

docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
detailMode
optional: update | append | delete | replace
lines
required array of stock item rows; items is also accepted as a compatibility alias
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "docNo": "STK-000001",
  "description": "Stock document created through API",
  "detailMode": "update",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "reason": "API stock operation",
  "docDate": "2026-06-24",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master4 fields
  • DocNo string - Stock document number.
  • DocDate date - Document date.
  • Description string - Document description.
  • UserDefinedFields object - Header UDF object.
Details9 fields
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - From/location code.
  • ToLocation string - Destination location for transfers.
  • Qty number - Quantity.
  • UnitCost number - Unit cost.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • UserDefinedFields object - Detail UDF object.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Uses AutoCount SDK EditDetail/AddDetail/DeleteDetail/ClearDetails + Save. Supported line fields include itemCode, qty, uom, location, batchNo, unitCost, oldCost, newCost, fromQty, toQty, fromUom, toUom, itemCost, rate, description, projNo, and deptNo where the document type exposes them. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

void-stock-transferwrite

Void/cancel stock transfer.

Full payload schema: /v1/schema/commands/void-stock-transfer

Simple Payload Fields

docNo
required document number or code
reason
optional

Example Payload

{
  "docNo": "ST-000001",
  "reason": "void/correct stock document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount SDK CancelDocument.

delete-stock-transferwrite

Delete stock transfer.

Full payload schema: /v1/schema/commands/delete-stock-transfer

Simple Payload Fields

docNo
required document number or code
reason
optional

Example Payload

{
  "docNo": "ST-000001",
  "reason": "remove/correct stock document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount SDK Delete. Use carefully because stock transactions affect costing and audit history.

list-stock-uom-conversionsread

List stock UOM conversion records.

Full payload schema: /v1/schema/commands/list-stock-uom-conversions

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

get-stock-uom-conversionread

Get one stock UOM conversion by document/code.

Full payload schema: /v1/schema/commands/get-stock-uom-conversion

Simple Payload Fields

docNo
required document number or code

Example Payload

{
  "docNo": "UC-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

validate-stock-uom-conversionread

Validate stock UOM conversion without saving.

Full payload schema: /v1/schema/commands/validate-stock-uom-conversion

Simple Payload Fields

items
optional alias for lines
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
lines
required array of stock item rows; items is also accepted as a compatibility alias
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1
    }
  ],
  "docDate": "2026-06-24",
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Validation only; does not save. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

update-stock-uom-conversionwrite

Edit stock UOM conversion header fields and detail lines.

Full payload schema: /v1/schema/commands/update-stock-uom-conversion

Simple Payload Fields

docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
detailMode
optional: update | append | delete | replace
lines
required array of stock item rows; items is also accepted as a compatibility alias
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "docNo": "STK-000001",
  "description": "Stock document created through API",
  "detailMode": "update",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "reason": "API stock operation",
  "docDate": "2026-06-24",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount SDK EditDetail/AddDetail/DeleteDetail/ClearDetails + Save. Supported line fields include itemCode, qty, uom, location, batchNo, unitCost, oldCost, newCost, fromQty, toQty, fromUom, toUom, itemCost, rate, description, projNo, and deptNo where the document type exposes them. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

void-stock-uom-conversionwrite

Void/cancel stock UOM conversion.

Full payload schema: /v1/schema/commands/void-stock-uom-conversion

Simple Payload Fields

docNo
required document number or code
reason
optional

Example Payload

{
  "docNo": "UC-000001",
  "reason": "void/correct stock document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount SDK CancelDocument.

delete-stock-uom-conversionwrite

Delete stock UOM conversion.

Full payload schema: /v1/schema/commands/delete-stock-uom-conversion

Simple Payload Fields

docNo
required document number or code
reason
optional

Example Payload

{
  "docNo": "UC-000001",
  "reason": "remove/correct stock document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount SDK Delete. Use carefully because stock transactions affect costing and audit history.

list-stock-takesread

List stock take records.

Full payload schema: /v1/schema/commands/list-stock-takes

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

get-stock-takeread

Get one stock take by document/code.

Full payload schema: /v1/schema/commands/get-stock-take

Simple Payload Fields

docNo
required document number or code

Example Payload

{
  "docNo": "STK-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

validate-stock-takeread

Validate stock take without saving.

Full payload schema: /v1/schema/commands/validate-stock-take

Simple Payload Fields

items
optional alias for lines
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
lines
required array of stock item rows; items is also accepted as a compatibility alias
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1
    }
  ],
  "docDate": "2026-06-24",
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master4 fields
  • DocNo string - Stock document number.
  • DocDate date - Document date.
  • Description string - Document description.
  • UserDefinedFields object - Header UDF object.
Details9 fields
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - From/location code.
  • ToLocation string - Destination location for transfers.
  • Qty number - Quantity.
  • UnitCost number - Unit cost.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • UserDefinedFields object - Detail UDF object.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Validation only; does not save. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

update-stock-takewrite

Edit stock take header fields and detail lines.

Full payload schema: /v1/schema/commands/update-stock-take

Simple Payload Fields

docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
detailMode
optional: update | append | delete | replace
lines
required array of stock item rows; items is also accepted as a compatibility alias
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "docNo": "STK-000001",
  "description": "Stock document created through API",
  "detailMode": "update",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "reason": "API stock operation",
  "docDate": "2026-06-24",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master4 fields
  • DocNo string - Stock document number.
  • DocDate date - Document date.
  • Description string - Document description.
  • UserDefinedFields object - Header UDF object.
Details9 fields
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - From/location code.
  • ToLocation string - Destination location for transfers.
  • Qty number - Quantity.
  • UnitCost number - Unit cost.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • UserDefinedFields object - Detail UDF object.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Uses AutoCount SDK EditDetail/AddDetail/DeleteDetail/ClearDetails + Save. Supported line fields include itemCode, qty, uom, location, batchNo, unitCost, oldCost, newCost, fromQty, toQty, fromUom, toUom, itemCost, rate, description, projNo, and deptNo where the document type exposes them. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

void-stock-takewrite

Void/cancel stock take.

Full payload schema: /v1/schema/commands/void-stock-take

Simple Payload Fields

docNo
required document number or code
reason
optional

Example Payload

{
  "docNo": "STK-000001",
  "reason": "void/correct stock document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount SDK CancelDocument.

delete-stock-takewrite

Delete stock take.

Full payload schema: /v1/schema/commands/delete-stock-take

Simple Payload Fields

docNo
required document number or code
reason
optional

Example Payload

{
  "docNo": "STK-000001",
  "reason": "remove/correct stock document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount SDK Delete. Use carefully because stock transactions affect costing and audit history.

list-stock-write-offsread

List stock write-off records.

Full payload schema: /v1/schema/commands/list-stock-write-offs

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

get-stock-write-offread

Get one stock write-off by document/code.

Full payload schema: /v1/schema/commands/get-stock-write-off

Simple Payload Fields

docNo
required document number or code

Example Payload

{
  "docNo": "SWO-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

validate-stock-write-offread

Validate stock write-off without saving.

Full payload schema: /v1/schema/commands/validate-stock-write-off

Simple Payload Fields

items
optional alias for lines
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
lines
required array of stock item rows; items is also accepted as a compatibility alias
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1
    }
  ],
  "docDate": "2026-06-24",
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Validation only; does not save. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

update-stock-write-offwrite

Edit stock write-off header fields and detail lines.

Full payload schema: /v1/schema/commands/update-stock-write-off

Simple Payload Fields

docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
detailMode
optional: update | append | delete | replace
lines
required array of stock item rows; items is also accepted as a compatibility alias
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "docNo": "STK-000001",
  "description": "Stock document created through API",
  "detailMode": "update",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "reason": "API stock operation",
  "docDate": "2026-06-24",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount SDK EditDetail/AddDetail/DeleteDetail/ClearDetails + Save. Supported line fields include itemCode, qty, uom, location, batchNo, unitCost, oldCost, newCost, fromQty, toQty, fromUom, toUom, itemCost, rate, description, projNo, and deptNo where the document type exposes them. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

void-stock-write-offwrite

Void/cancel stock write-off.

Full payload schema: /v1/schema/commands/void-stock-write-off

Simple Payload Fields

docNo
required document number or code
reason
optional

Example Payload

{
  "docNo": "SWO-000001",
  "reason": "void/correct stock document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount SDK CancelDocument.

delete-stock-write-offwrite

Delete stock write-off.

Full payload schema: /v1/schema/commands/delete-stock-write-off

Simple Payload Fields

docNo
required document number or code
reason
optional

Example Payload

{
  "docNo": "SWO-000001",
  "reason": "remove/correct stock document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount SDK Delete. Use carefully because stock transactions affect costing and audit history.

list-stock-update-costsread

List stock update cost records.

Full payload schema: /v1/schema/commands/list-stock-update-costs

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

get-stock-update-costread

Get one stock update cost by document/code.

Full payload schema: /v1/schema/commands/get-stock-update-cost

Simple Payload Fields

docNo
required document number or code

Example Payload

{
  "docNo": "SUC-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

validate-stock-update-costread

Validate stock update cost without saving.

Full payload schema: /v1/schema/commands/validate-stock-update-cost

Simple Payload Fields

items
optional alias for lines
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
lines
required array of stock item rows; items is also accepted as a compatibility alias
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1
    }
  ],
  "docDate": "2026-06-24",
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Validation only; does not save. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

update-stock-update-costwrite

Edit stock update cost header fields and detail lines.

Full payload schema: /v1/schema/commands/update-stock-update-cost

Simple Payload Fields

docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional stock document narration
detailMode
optional: update | append | delete | replace
lines
required array of stock item rows; items is also accepted as a compatibility alias
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "docNo": "STK-000001",
  "description": "Stock document created through API",
  "detailMode": "update",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "reason": "API stock operation",
  "docDate": "2026-06-24",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount SDK EditDetail/AddDetail/DeleteDetail/ClearDetails + Save. Supported line fields include itemCode, qty, uom, location, batchNo, unitCost, oldCost, newCost, fromQty, toQty, fromUom, toUom, itemCost, rate, description, projNo, and deptNo where the document type exposes them. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

void-stock-update-costwrite

Void/cancel stock update cost.

Full payload schema: /v1/schema/commands/void-stock-update-cost

Simple Payload Fields

docNo
required document number or code
reason
optional

Example Payload

{
  "docNo": "SUC-000001",
  "reason": "void/correct stock document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount SDK CancelDocument.

delete-stock-update-costwrite

Delete stock update cost.

Full payload schema: /v1/schema/commands/delete-stock-update-cost

Simple Payload Fields

docNo
required document number or code
reason
optional

Example Payload

{
  "docNo": "SUC-000001",
  "reason": "remove/correct stock document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount SDK Delete. Use carefully because stock transactions affect costing and audit history.

list-item-packagesread

List item package records.

Full payload schema: /v1/schema/commands/list-item-packages

Simple Payload Fields

No payload fields required.

Example Payload

{}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Static Item Package contract, not native persistence proof. Parent native connector owns strict field validation: Master/fields map known columns with support checks and readback verification; unknown/unsupported fields must be rejected, never silently ignored. Installed SDK support and Save/readback must be verified separately.

get-item-packageread

Get one item package by document/code.

Full payload schema: /v1/schema/commands/get-item-package

Simple Payload Fields

packageCode
required Package identity

Example Payload

{
  "packageCode": "PKG-API"
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Static Item Package contract, not native persistence proof. Parent native connector owns strict field validation: Master/fields map known columns with support checks and readback verification; unknown/unsupported fields must be rejected, never silently ignored. Installed SDK support and Save/readback must be verified separately.

validate-item-packageread

Validate item package without saving.

Full payload schema: /v1/schema/commands/validate-item-package

Simple Payload Fields

packageCode
required Package identity
description
optional Package description
barCode
optional Package barcode
unitPrice
optional Package selling price, distinct from component unitPrice; finite invariant decimal, native precision/validation applies
isActive
optional Package active flag; false deactivates without deleting
limitedQty
optional Package limited quantity; numeric value, not a boolean flag; finite invariant decimal, native precision/validation applies
allowDuplicateItemCode
optional Per-request duplicate permission, not stored as a Master flag; set true for creates/edits introducing duplicate component item codes
lines
optional Component rows; use lines OR items OR legacy top-level itemCode, never mix forms. Empty arrays are rejected in every mode; omit arrays for header-only update. Create/append/replace need itemCode. update/delete use existing positive lineKey/dtlKey; append/replace reject keys
items
optional Alias for lines; do not send both
itemCode
optional Legacy single-component item code; do not mix with lines/items
qty
optional Component quantity; legacy default 1; finite invariant decimal, native precision/validation applies
uom
optional Existing component UOM
lineDescription
optional Component description
lineDescription2
optional Component second description; conditional SDK/version availability. TSM Detail lacks Desc2 despite the SDK property; unsupported explicit requests fail before save
furtherDescription
optional Component further description
lineUnitPrice
optional Component selling price; finite invariant decimal, native precision/validation applies
purchasePrice
optional Component purchase price; finite invariant decimal, native precision/validation applies
taxCode
optional Component sales tax code; empty string maps to native null; TSM native save/reload verified, edge2 PASS
purchaseTaxCode
optional Component purchase tax code; empty string maps to native null; TSM native save/reload verified, edge2 PASS
validateOnly
optional True validates without saving; create/update still require write permission
Master
optional Known native header columns only; parent validates support, conflicting aliases and persistence
fields
optional Known native header columns only; parent validates support, conflicting aliases and persistence
detailMode
optional update (default for update commands with lines/items), append, delete, or replace; any detailMode selects edit validation; update/delete target stable lineKey or dtlKey
reason
optional Business reason; not required for validate-item-package edit previews
lineKey
optional Stable native detail key from get-item-package; prefer a string to preserve Int64 precision
dtlKey
optional Stable native detail key from get-item-package; prefer a string to preserve Int64 precision
operation
optional Default create; operation:update selects header-only edit validation. Any detailMode selects edit validation; reason is optional on validate-item-package

Example Payload

{
  "packageCode": "PKG-API",
  "description": "API Package",
  "unitPrice": 120,
  "isActive": true,
  "limitedQty": 10,
  "lines": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT",
      "unitPrice": 100
    },
    {
      "itemCode": "ITEM002",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 10
    }
  ]
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Static Item Package contract, not native persistence proof. Parent native connector owns strict field validation: Master/fields map known columns with support checks and readback verification; unknown/unsupported fields must be rejected, never silently ignored. Installed SDK support and Save/readback must be verified separately. Omitted lines/items preserve all existing details unless legacy component fields are supplied. Omitted header/detail values are preserved. update/delete require stable positive lineKey or dtlKey from get-item-package, not row position or item code alone. append and replace reject keys. append adds components; replace supplies the complete desired non-empty detail set and removes omitted components. Empty arrays are rejected in every mode, including update and previews; omit arrays for header-only update. Legacy component updates also need a stable key. validateOnly:true never saves. Create and create validation require description and lines, items, or legacy top-level itemCode. validate-item-package never saves; select edit validation using detailMode or operation:update for header-only preview; reason is optional. update-item-package requires reason even for validateOnly:true previews. validateOnly:true never saves. Header unitPrice is distinct from legacy lineUnitPrice.

update-item-packagewrite

Update item package header/components or deactivate; requires native support and verification.

Full payload schema: /v1/schema/commands/update-item-package

Simple Payload Fields

packageCode
required Package identity
description
optional Package description
barCode
optional Package barcode
unitPrice
optional Package selling price, distinct from component unitPrice; finite invariant decimal, native precision/validation applies
isActive
optional Package active flag; false deactivates without deleting
limitedQty
optional Package limited quantity; numeric value, not a boolean flag; finite invariant decimal, native precision/validation applies
allowDuplicateItemCode
optional Per-request duplicate permission, not stored as a Master flag; set true for creates/edits introducing duplicate component item codes
lines
optional Component rows; use lines OR items OR legacy top-level itemCode, never mix forms. Empty arrays are rejected in every mode; omit arrays for header-only update. Create/append/replace need itemCode. update/delete use existing positive lineKey/dtlKey; append/replace reject keys
items
optional Alias for lines; do not send both
itemCode
optional Legacy single-component item code; do not mix with lines/items
qty
optional Component quantity; legacy default 1; finite invariant decimal, native precision/validation applies
uom
optional Existing component UOM
lineDescription
optional Component description
lineDescription2
optional Component second description; conditional SDK/version availability. TSM Detail lacks Desc2 despite the SDK property; unsupported explicit requests fail before save
furtherDescription
optional Component further description
lineUnitPrice
optional Component selling price; finite invariant decimal, native precision/validation applies
purchasePrice
optional Component purchase price; finite invariant decimal, native precision/validation applies
taxCode
optional Component sales tax code; empty string maps to native null; TSM native save/reload verified, edge2 PASS
purchaseTaxCode
optional Component purchase tax code; empty string maps to native null; TSM native save/reload verified, edge2 PASS
validateOnly
optional True validates without saving; create/update still require write permission
Master
optional Known native header columns only; parent validates support, conflicting aliases and persistence
fields
optional Known native header columns only; parent validates support, conflicting aliases and persistence
detailMode
optional update (default for update commands with lines/items), append, delete, or replace; any detailMode selects edit validation; update/delete target stable lineKey or dtlKey
reason
required Business reason for update, including deactivation and validateOnly previews
lineKey
optional Stable native detail key from get-item-package; prefer a string to preserve Int64 precision
dtlKey
optional Stable native detail key from get-item-package; prefer a string to preserve Int64 precision

Example Payload

{
  "packageCode": "PKG-API",
  "reason": "Retire package from use",
  "isActive": false
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Static Item Package contract, not native persistence proof. Parent native connector owns strict field validation: Master/fields map known columns with support checks and readback verification; unknown/unsupported fields must be rejected, never silently ignored. Installed SDK support and Save/readback must be verified separately. Omitted lines/items preserve all existing details unless legacy component fields are supplied. Omitted header/detail values are preserved. update/delete require stable positive lineKey or dtlKey from get-item-package, not row position or item code alone. append and replace reject keys. append adds components; replace supplies the complete desired non-empty detail set and removes omitted components. Empty arrays are rejected in every mode, including update and previews; omit arrays for header-only update. Legacy component updates also need a stable key. validateOnly:true never saves.

void-item-packagewrite

Guarded item package void request.

Full payload schema: /v1/schema/commands/void-item-package

Simple Payload Fields

packageCode
required Package identity
reason
required Business reason

Example Payload

{
  "packageCode": "PKG-API",
  "reason": "Retire unused package"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Static Item Package contract, not native persistence proof. Parent native connector owns strict field validation: Master/fields map known columns with support checks and readback verification; unknown/unsupported fields must be rejected, never silently ignored. Installed SDK support and Save/readback must be verified separately. void-item-package stays guarded: no actual native void. Use update-item-package with isActive:false and a reason instead.

delete-item-packagewrite

Delete an unreferenced item package or preview early checks; native maintenance2 PASS.

Full payload schema: /v1/schema/commands/delete-item-package

Simple Payload Fields

packageCode
required Package identity
reason
required Business reason
confirmDelete
optional Explicit true confirmation required for actual deletion; may be omitted when validateOnly:true
validateOnly
optional True runs early reference/usage checks without deleting; incomplete preview, not proof of readiness to delete

Example Payload

{
  "packageCode": "PKG-API",
  "reason": "Retire unused package",
  "validateOnly": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Static Item Package contract, not native persistence proof. Parent native connector owns strict field validation: Master/fields map known columns with support checks and readback verification; unknown/unsupported fields must be rejected, never silently ignored. Installed SDK support and Save/readback must be verified separately. Referenced packages are blocked from deletion. Early guards use recorded SoldQty/PurchasedQty/OpeningQty usage and GetPackageTransaction(code,string.Empty); this inquiry is permission-filtered, so an empty result is not proof of no references. Do not rely on the Master UsedQty getter: it throws for a missing column in TSM. Parent SDK IL inspection proves native DeleteData checks 22 tables including SO, PO, QT, ADVQT and consignment before its transaction/write, without inquiry permission filters. There is no reusable read-only helper for those comprehensive checks; actual native Delete performs them. reason is required; confirmDelete:true is required only for actual deletion. validateOnly:true checks without deleting or saving and may omit confirmDelete; preview returns saved:false, deleted:false, referenceCheckComplete:false, readyToDelete:false, nativeDeleteChecksReferences:true. No connector-owned SQL was added. Native maintenance2 PASS: unused package IPT0C160407583AA deleted with absence proof; used package IPT0C160407583AB and SO KHSO2606/0339 preserved after delete refusal. Native absence readback remains required for future deletions. Prefer update-item-package with isActive:false. Successful actual delete returns saved:true, deleted:true, verified:true, validateOnly:false, referenceCheckComplete:true, readyToDelete:false, nativeDeleteChecksReferences:true. readyToDelete stays false because the deletion has already completed; preview also returns verified:false and validateOnly:true.

list-bom-itemsread

List item BOM records.

Full payload schema: /v1/schema/commands/list-bom-items

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

get-item-bomread

Get one item BOM by document/code.

Full payload schema: /v1/schema/commands/get-item-bom

Simple Payload Fields

docNo
required document number or code

Example Payload

{
  "docNo": "BOM-API"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

validate-item-bomread

Validate item BOM without saving.

Full payload schema: /v1/schema/commands/validate-item-bom

Simple Payload Fields

itemCode
required finished item code
description
optional expected existing description; differing values are not supported for BOM persistence
assemblyCost
optional assembly cost
finishGoodCost
optional finished-good cost
autoUpdateMethod
unsupported company-wide setting; omit this field
detailMode
existing BOM only: update (default for update command) or replace; replace removes omitted lines
validateOnly
optional boolean; true prevents saving even on create/update and retains their write permission
updateBOMCost
true required for all lines[] including previews: acknowledges native save sets parent UOM Cost = FinishGoodCost * Rate; false unsupported
lines
array of {subItemCode?, qty?, lineKey?, seq?, remove?, overheadCost?, fields?, nativeFields?}; new lines need code and qty, keyed update preserves omitted values
subItemCode
legacy single component code; cannot be mixed with lines
qty
legacy single component positive quantity, default 1; cannot be mixed with lines
overheadCost
optional legacy component overhead cost

Example Payload

{
  "itemCode": "FINISHED-API",
  "updateBOMCost": true,
  "lines": [
    {
      "subItemCode": "RAW-API-1",
      "qty": 2
    },
    {
      "subItemCode": "RAW-API-2",
      "qty": 3
    }
  ]
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Use lines or legacy subItemCode, never both. Update preserves omitted details/values; remove:true requires stable lineKey and permits optional matching subItemCode, never subItemCode alone. Replace supplies the complete desired detail set. Description changes and company-wide autoUpdateMethod changes are unsupported and must be rejected before native mutation. Native costing can change costs during saves; no no-cost-change guarantee is made. Native connector validates references, performs a single Save and reload verification; validate-item-bom never saves. Schema availability alone does not prove native support.

update-item-bomwrite

Update item BOM definition.

Full payload schema: /v1/schema/commands/update-item-bom

Simple Payload Fields

reason
optional business reason
itemCode
required finished item code
description
optional expected existing description; differing values are not supported for BOM persistence
assemblyCost
optional assembly cost
finishGoodCost
optional finished-good cost
autoUpdateMethod
unsupported company-wide setting; omit this field
detailMode
existing BOM only: update (default for update command) or replace; replace removes omitted lines
validateOnly
optional boolean; true prevents saving even on create/update and retains their write permission
updateBOMCost
true required for all lines[] including previews: acknowledges native save sets parent UOM Cost = FinishGoodCost * Rate; false unsupported
lines
array of {subItemCode?, qty?, lineKey?, seq?, remove?, overheadCost?, fields?, nativeFields?}; new lines need code and qty, keyed update preserves omitted values
subItemCode
legacy single component code; cannot be mixed with lines
qty
legacy single component positive quantity, default 1; cannot be mixed with lines
overheadCost
optional legacy component overhead cost

Example Payload

{
  "reason": "correct BOM",
  "itemCode": "FINISHED-API",
  "updateBOMCost": true,
  "lines": [
    {
      "subItemCode": "RAW-API-1",
      "qty": 2
    },
    {
      "subItemCode": "RAW-API-2",
      "qty": 3
    }
  ]
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Use lines or legacy subItemCode, never both. Update preserves omitted details/values; remove:true requires stable lineKey and permits optional matching subItemCode, never subItemCode alone. Replace supplies the complete desired detail set. Description changes and company-wide autoUpdateMethod changes are unsupported and must be rejected before native mutation. Native costing can change costs during saves; no no-cost-change guarantee is made. Native connector validates references, performs a single Save and reload verification; validate-item-bom never saves. Schema availability alone does not prove native support.

void-item-bomwrite

Guarded item BOM void request.

Full payload schema: /v1/schema/commands/void-item-bom

Simple Payload Fields

itemCode
required finished item
reason
required

Example Payload

{
  "itemCode": "FINISHED-API",
  "reason": "void BOM"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Master definitions do not have a proven safe void path; request is guarded.

delete-item-bomwrite

Delete an unreferenced item BOM or preview native reference checks.

Full payload schema: /v1/schema/commands/delete-item-bom

Simple Payload Fields

itemCode
required finished item code
validateOnly
optional boolean; true checks references without deleting
reason
optional business reason

Example Payload

{
  "itemCode": "FINISHED-API",
  "validateOnly": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Stock/Delete and write queue apply even to validateOnly:true. Native checks require the BOM to exist and reject use as another BOM component before Delete. Preview returns saved:false/deleted:false. Actual deletion reloads parent/detail absence; installed connector capability and native acceptance must be verified separately.

list-stock-assembliesread

List stock assembly records.

Full payload schema: /v1/schema/commands/list-stock-assemblies

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

get-stock-assemblyread

Get one stock assembly by document/code.

Full payload schema: /v1/schema/commands/get-stock-assembly

Simple Payload Fields

docNo
required document number or code

Example Payload

{
  "docNo": "ASM-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

validate-stock-assemblyread

Validate stock assembly without saving.

Full payload schema: /v1/schema/commands/validate-stock-assembly

Simple Payload Fields

items
module-specific stock lines
docNo
optional stock assembly document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
itemCode
required finished/main item code
description
optional document description
location
required or optional stock location
qty
required finished/main quantity
uom
optional finished/main UOM
unitCost
optional finished/main unit cost
detailMode
optional update mode such as replace or update
lines
required component/detail rows
reason
optional business reason for update requests

Example Payload

{
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1
    }
  ],
  "docDate": "2026-06-24",
  "itemCode": "FINISHED-API",
  "description": "Stock assembly created through API",
  "location": "HQ",
  "qty": 1,
  "uom": "UNIT",
  "unitCost": 100,
  "detailMode": "replace",
  "lines": [
    {
      "lineNo": 1,
      "itemCode": "RAW-API-1",
      "description": "Raw material 1",
      "qty": 2,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 10,
      "batchNo": "BATCH-001",
      "serialNo": ""
    },
    {
      "lineNo": 2,
      "itemCode": "RAW-API-2",
      "description": "Raw material 2",
      "qty": 3,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 5,
      "batchNo": "",
      "serialNo": ""
    }
  ],
  "reason": "correct assembly detail"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Validation only; does not save. Full human payload reference for stock assembly/order/disassembly. Batch, serial, and costing behavior depends on item and account-book settings.

update-stock-assemblywrite

Edit stock assembly header fields and detail lines.

Full payload schema: /v1/schema/commands/update-stock-assembly

Simple Payload Fields

docNo
optional stock assembly document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional document description
detailMode
optional update mode such as replace or update
lines
required component/detail rows
reason
optional business reason for update requests
itemCode
required finished/main item code
location
required or optional stock location
qty
required finished/main quantity
uom
optional finished/main UOM
unitCost
optional finished/main unit cost

Example Payload

{
  "docNo": "ASM-000001",
  "description": "Stock assembly created through API",
  "detailMode": "replace",
  "lines": [
    {
      "lineNo": 1,
      "itemCode": "RAW-API-1",
      "description": "Raw material 1",
      "qty": 2,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 10,
      "batchNo": "BATCH-001",
      "serialNo": ""
    },
    {
      "lineNo": 2,
      "itemCode": "RAW-API-2",
      "description": "Raw material 2",
      "qty": 3,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 5,
      "batchNo": "",
      "serialNo": ""
    }
  ],
  "reason": "correct assembly detail",
  "docDate": "2026-06-24",
  "itemCode": "FINISHED-API",
  "location": "HQ",
  "qty": 1,
  "uom": "UNIT",
  "unitCost": 100
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount SDK EditDetail/AddDetail/DeleteDetail/ClearDetails + Save. Supported line fields include itemCode, qty, uom, location, batchNo, unitCost, oldCost, newCost, fromQty, toQty, fromUom, toUom, itemCost, rate, description, projNo, and deptNo where the document type exposes them. Full human payload reference for stock assembly/order/disassembly. Batch, serial, and costing behavior depends on item and account-book settings.

void-stock-assemblywrite

Void/cancel stock assembly.

Full payload schema: /v1/schema/commands/void-stock-assembly

Simple Payload Fields

docNo
required document number or code
reason
optional

Example Payload

{
  "docNo": "ASM-000001",
  "reason": "void/correct stock document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount SDK CancelDocument.

delete-stock-assemblywrite

Delete stock assembly.

Full payload schema: /v1/schema/commands/delete-stock-assembly

Simple Payload Fields

docNo
required document number or code
reason
optional

Example Payload

{
  "docNo": "ASM-000001",
  "reason": "remove/correct stock document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount SDK Delete. Use carefully because stock transactions affect costing and audit history.

list-stock-assembly-ordersread

List stock assembly order records.

Full payload schema: /v1/schema/commands/list-stock-assembly-orders

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

get-stock-assembly-orderread

Get one stock assembly order by document/code.

Full payload schema: /v1/schema/commands/get-stock-assembly-order

Simple Payload Fields

docNo
required document number or code

Example Payload

{
  "docNo": "ASO-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

validate-stock-assembly-orderread

Validate stock assembly order without saving.

Full payload schema: /v1/schema/commands/validate-stock-assembly-order

Simple Payload Fields

items
module-specific stock lines
docNo
optional stock assembly document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
itemCode
required finished/main item code
description
optional document description
location
required or optional stock location
qty
required finished/main quantity
uom
optional finished/main UOM
unitCost
optional finished/main unit cost
detailMode
optional update mode such as replace or update
lines
required component/detail rows
reason
optional business reason for update requests

Example Payload

{
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1
    }
  ],
  "docDate": "2026-06-24",
  "itemCode": "FINISHED-API",
  "description": "Stock assembly order created through API",
  "location": "HQ",
  "qty": 1,
  "uom": "UNIT",
  "unitCost": 100,
  "detailMode": "replace",
  "lines": [
    {
      "lineNo": 1,
      "itemCode": "RAW-API-1",
      "description": "Raw material 1",
      "qty": 2,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 10,
      "batchNo": "BATCH-001",
      "serialNo": ""
    },
    {
      "lineNo": 2,
      "itemCode": "RAW-API-2",
      "description": "Raw material 2",
      "qty": 3,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 5,
      "batchNo": "",
      "serialNo": ""
    }
  ],
  "reason": "correct assembly detail"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Validation only; does not save. Full human payload reference for stock assembly/order/disassembly. Batch, serial, and costing behavior depends on item and account-book settings.

update-stock-assembly-orderwrite

Edit stock assembly order header fields and detail lines.

Full payload schema: /v1/schema/commands/update-stock-assembly-order

Simple Payload Fields

docNo
optional stock assembly document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional document description
detailMode
optional update mode such as replace or update
lines
required component/detail rows
reason
optional business reason for update requests
itemCode
required finished/main item code
location
required or optional stock location
qty
required finished/main quantity
uom
optional finished/main UOM
unitCost
optional finished/main unit cost

Example Payload

{
  "docNo": "ASM-000001",
  "description": "Stock assembly order created through API",
  "detailMode": "replace",
  "lines": [
    {
      "lineNo": 1,
      "itemCode": "RAW-API-1",
      "description": "Raw material 1",
      "qty": 2,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 10,
      "batchNo": "BATCH-001",
      "serialNo": ""
    },
    {
      "lineNo": 2,
      "itemCode": "RAW-API-2",
      "description": "Raw material 2",
      "qty": 3,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 5,
      "batchNo": "",
      "serialNo": ""
    }
  ],
  "reason": "correct assembly detail",
  "docDate": "2026-06-24",
  "itemCode": "FINISHED-API",
  "location": "HQ",
  "qty": 1,
  "uom": "UNIT",
  "unitCost": 100
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount SDK EditDetail/AddDetail/DeleteDetail/ClearDetails + Save. Supported line fields include itemCode, qty, uom, location, batchNo, unitCost, oldCost, newCost, fromQty, toQty, fromUom, toUom, itemCost, rate, description, projNo, and deptNo where the document type exposes them. Full human payload reference for stock assembly/order/disassembly. Batch, serial, and costing behavior depends on item and account-book settings.

void-stock-assembly-orderwrite

Void/cancel stock assembly order.

Full payload schema: /v1/schema/commands/void-stock-assembly-order

Simple Payload Fields

docNo
required document number or code
reason
optional

Example Payload

{
  "docNo": "ASO-000001",
  "reason": "void/correct stock document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount SDK CancelDocument.

delete-stock-assembly-orderwrite

Delete stock assembly order.

Full payload schema: /v1/schema/commands/delete-stock-assembly-order

Simple Payload Fields

docNo
required document number or code
reason
optional

Example Payload

{
  "docNo": "ASO-000001",
  "reason": "remove/correct stock document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount SDK Delete. Use carefully because stock transactions affect costing and audit history.

list-stock-disassembliesread

List stock disassembly records.

Full payload schema: /v1/schema/commands/list-stock-disassemblies

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

get-stock-disassemblyread

Get one stock disassembly by document/code.

Full payload schema: /v1/schema/commands/get-stock-disassembly

Simple Payload Fields

docNo
required document number or code

Example Payload

{
  "docNo": "DSA-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

validate-stock-disassemblyread

Validate stock disassembly without saving.

Full payload schema: /v1/schema/commands/validate-stock-disassembly

Simple Payload Fields

items
module-specific stock lines
docNo
optional stock assembly document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
itemCode
required finished/main item code
description
optional document description
location
required or optional stock location
qty
required finished/main quantity
uom
optional finished/main UOM
unitCost
optional finished/main unit cost
detailMode
optional update mode such as replace or update
lines
required component/detail rows
reason
optional business reason for update requests

Example Payload

{
  "items": [
    {
      "itemCode": "ITEM001",
      "qty": 1
    }
  ],
  "docDate": "2026-06-24",
  "itemCode": "FINISHED-API",
  "description": "Stock disassembly created through API",
  "location": "HQ",
  "qty": 1,
  "uom": "UNIT",
  "unitCost": 100,
  "detailMode": "replace",
  "lines": [
    {
      "lineNo": 1,
      "itemCode": "RAW-API-1",
      "description": "Raw material 1",
      "qty": 2,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 10,
      "batchNo": "BATCH-001",
      "serialNo": ""
    },
    {
      "lineNo": 2,
      "itemCode": "RAW-API-2",
      "description": "Raw material 2",
      "qty": 3,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 5,
      "batchNo": "",
      "serialNo": ""
    }
  ],
  "reason": "correct assembly detail"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Validation only; does not save. Full human payload reference for stock assembly/order/disassembly. Batch, serial, and costing behavior depends on item and account-book settings.

update-stock-disassemblywrite

Edit stock disassembly header fields and detail lines.

Full payload schema: /v1/schema/commands/update-stock-disassembly

Simple Payload Fields

docNo
optional stock assembly document number; omit to let AutoCount numbering generate it
docDate
required or optional YYYY-MM-DD document date
description
optional document description
detailMode
optional update mode such as replace or update
lines
required component/detail rows
reason
optional business reason for update requests
itemCode
required finished/main item code
location
required or optional stock location
qty
required finished/main quantity
uom
optional finished/main UOM
unitCost
optional finished/main unit cost

Example Payload

{
  "docNo": "ASM-000001",
  "description": "Stock disassembly created through API",
  "detailMode": "replace",
  "lines": [
    {
      "lineNo": 1,
      "itemCode": "RAW-API-1",
      "description": "Raw material 1",
      "qty": 2,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 10,
      "batchNo": "BATCH-001",
      "serialNo": ""
    },
    {
      "lineNo": 2,
      "itemCode": "RAW-API-2",
      "description": "Raw material 2",
      "qty": 3,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 5,
      "batchNo": "",
      "serialNo": ""
    }
  ],
  "reason": "correct assembly detail",
  "docDate": "2026-06-24",
  "itemCode": "FINISHED-API",
  "location": "HQ",
  "qty": 1,
  "uom": "UNIT",
  "unitCost": 100
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount SDK EditDetail/AddDetail/DeleteDetail/ClearDetails + Save. Supported line fields include itemCode, qty, uom, location, batchNo, unitCost, oldCost, newCost, fromQty, toQty, fromUom, toUom, itemCost, rate, description, projNo, and deptNo where the document type exposes them. Full human payload reference for stock assembly/order/disassembly. Batch, serial, and costing behavior depends on item and account-book settings.

void-stock-disassemblywrite

Void/cancel stock disassembly.

Full payload schema: /v1/schema/commands/void-stock-disassembly

Simple Payload Fields

docNo
required document number or code
reason
optional

Example Payload

{
  "docNo": "DSA-000001",
  "reason": "void/correct stock document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount SDK CancelDocument.

delete-stock-disassemblywrite

Delete stock disassembly.

Full payload schema: /v1/schema/commands/delete-stock-disassembly

Simple Payload Fields

docNo
required document number or code
reason
optional

Example Payload

{
  "docNo": "DSA-000001",
  "reason": "remove/correct stock document"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount SDK Delete. Use carefully because stock transactions affect costing and audit history.

recalculate-stock-costingwrite

Recalculate native stock costing for one exact item.

Full payload schema: /v1/schema/commands/recalculate-stock-costing

Simple Payload Fields

itemCode
required exact string item code; preserve leading zeros, no wildcard/list/range
validateOnly
optional boolean; true is no-change preflight and still requires Stock Edit
confirm
boolean; required true for execution unless validateOnly is true

Example Payload

{
  "itemCode": "000013",
  "validateOnly": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Requires connector local-mvp-2026.09.27.01 or later, Stock Edit and native TOOLS_STKCOST_RECAL_OPEN. Calculation version 1 only; full history; both document-cost update flags false. Item method/settings are preserved. No all-items/range/date selector, cancellation or automatic retry. Preflight first, then send confirm:true with a distinct execution commandId. Identical requests reuse their commandId; partial/uncertain results require reconciliation, never a new-ID retry. Scoped native readback is not an independent valuation audit. Existing UOM rate/history guards are unchanged.

read-itemsread

List stock items quickly with limit/search filters.

Full payload schema: /v1/schema/commands/read-items

Simple Payload Fields

limit
optional row limit; default 100, max 500
search
optional keyword matched against item code/description
itemCode
optional item code contains search
itemGroup
optional exact item group
itemType
optional exact item type
activeOnly
optional boolean

Example Payload

{
  "limit": 50,
  "search": "V274",
  "activeOnly": true
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Bounded by default so AI tools do not block the connector queue with full item exports. Use read-items-all/export-items only when a full item master export is required.

read-items-allread

Explicit full stock item export.

Full payload schema: /v1/schema/commands/read-items-all

Simple Payload Fields

search
optional keyword filter
itemGroup
optional exact item group
itemType
optional exact item type
activeOnly
optional boolean

Example Payload

{
  "activeOnly": true
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Can be slow on large account books. Prefer read-items with limit/search for normal AI lookup.

export-itemsread

Alias for read-items-all explicit full stock item export.

Full payload schema: /v1/schema/commands/export-items

Simple Payload Fields

activeOnly
optional boolean

Example Payload

{
  "activeOnly": true
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Use only for export/sync jobs, not repeated quick lookups.

get-stock-item-detailread

Read one stock item with all public SDK fields and child tables.

Full payload schema: /v1/schema/commands/get-stock-item-detail

Simple Payload Fields

itemCode
required stock item code
maxTableRows
optional child-table row limit; maxTableRows: 0 is guarded for stock item detail unless confirmFullDetail: true is sent
confirmFullDetail
optional boolean; required with maxTableRows: 0 to return every child-table row
includeTableData
optional boolean, default true

Example Payload

{
  "itemCode": "ITEM001",
  "maxTableRows": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount.Stock.Item.ItemDataAccess.LoadItem(View). Returns fields and child tables such as ItemUomTable, ItemPriceBook, ItemCustomerPrice, ItemSupplierPrice, ItemOpeningBalance, ItemBOMTable, ItemBatchTable, and sub-code/replacement/ingredient tables when available. If maxTableRows: 0 is requested without confirmFullDetail: true, the connector returns a bounded result with fullDetailBlocked so AI/customer calls do not hang accidentally.

stock-balanceread

Inquire stock balance by item/location using AutoCount stock balance by location logic, with non-serial fallback through AutoCount.Stock.StockBalance.StockBalanceHelper.

Full payload schema: /v1/schema/commands/stock-balance

Simple Payload Fields

itemCode
optional stock item code
location
optional stock location code
includeZeroBalance
optional true/false
includeInactiveItem
optional true/false
maxRows
optional row limit, default 500

Example Payload

{
  "itemCode": "ITEM001",
  "location": "HQ",
  "maxRows": 100
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns authoritative AutoCount stock quantity by location rows from the first non-empty AutoCount result table plus table summaries. Serial items may return ItemSerialNo rows. Non-serial items may return stockBalanceFallback/nonSerialFallback rows from StockBalanceHelper. If AutoCount exposes no location allocation for the item, the result sets locationBalanceUnavailable=true; AI must not guess a location split from item master total.

stock-balance-batchread

Read live stock balances for many items and locations in one connector execution. This is the recommended command for 100-150 item stock checks.

Full payload schema: /v1/schema/commands/stock-balance-batch

Simple Payload Fields

itemCodes
required array of 1-500 stock item codes
locations
optional array of stock location codes
includeZeroBalance
optional true/false; when true, requested item/location pairs with no AutoCount rows return explicit zero-stock rows
asOfDate
optional YYYY-MM-DD; defaults to connector machine today
maxRows
optional per item/location row limit, default 500

Example Payload

{
  "itemCodes": [
    "FI0779",
    "FI0780"
  ],
  "locations": [
    "HQ",
    "GM"
  ],
  "includeZeroBalance": true
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Use this for WhatsApp orders with many items. Returns one batch asOf timestamp, per-item location balances, missingItemCodes, failedItemCodes, and diagnostics.fallbackCallCount. The connector uses AutoCount StockLevel array lookup first, then reports per-location timing/source so AI can explain slow account books without creating 50-200 cloud commands.

read-stock-movementread

Read stock movement.

Full payload schema: /v1/schema/commands/read-stock-movement

Simple Payload Fields

itemCode
optional item code
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional

Example Payload

{
  "itemCode": "ITEM001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-stock-detail-linesread

Read stock transaction lines together, or filter with document.

Full payload schema: /v1/schema/commands/read-stock-detail-lines

Simple Payload Fields

document
optional: stock-adjustment | stock-receive | stock-issue | stock-transfer | stock-uom-conversion | stock-take | stock-write-off | stock-update-cost
itemCode
optional
docNo
optional
location
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "document": "stock-adjustment",
  "itemCode": "ITEM001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-stock-adjustment-linesread

Read stock adjustment detail lines only.

Full payload schema: /v1/schema/commands/read-stock-adjustment-lines

Simple Payload Fields

itemCode
optional
docNo
optional
location
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "itemCode": "ITEM001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-stock-receive-linesread

Read stock receive detail lines only.

Full payload schema: /v1/schema/commands/read-stock-receive-lines

Simple Payload Fields

itemCode
optional
docNo
optional
location
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "itemCode": "ITEM001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-stock-issue-linesread

Read stock issue detail lines only.

Full payload schema: /v1/schema/commands/read-stock-issue-lines

Simple Payload Fields

itemCode
optional
docNo
optional
location
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "itemCode": "ITEM001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-stock-transfer-linesread

Read stock transfer detail lines only.

Full payload schema: /v1/schema/commands/read-stock-transfer-lines

Simple Payload Fields

itemCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "itemCode": "ITEM001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-stock-uom-conversion-linesread

Read stock UOM conversion detail lines only.

Full payload schema: /v1/schema/commands/read-stock-uom-conversion-lines

Simple Payload Fields

itemCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "itemCode": "ITEM001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-stock-take-linesread

Read stock take detail lines only.

Full payload schema: /v1/schema/commands/read-stock-take-lines

Simple Payload Fields

itemCode
optional
docNo
optional
location
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "itemCode": "ITEM001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-stock-write-off-linesread

Read stock write-off detail lines only.

Full payload schema: /v1/schema/commands/read-stock-write-off-lines

Simple Payload Fields

itemCode
optional
docNo
optional
location
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "itemCode": "ITEM001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-stock-update-cost-linesread

Read stock update cost detail lines only.

Full payload schema: /v1/schema/commands/read-stock-update-cost-lines

Simple Payload Fields

itemCode
optional
docNo
optional
dateFrom
YYYY-MM-DD optional
dateTo
YYYY-MM-DD optional
limit
optional

Example Payload

{
  "itemCode": "ITEM001",
  "limit": 50
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-locationsread

List stock locations.

Full payload schema: /v1/schema/commands/read-locations

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

list-stock-item-groupsread

List Stock Item Group Maintenance records.

Full payload schema: /v1/schema/commands/list-stock-item-groups

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

get-stock-item-groupread

Get one Stock Item Group Maintenance record.

Full payload schema: /v1/schema/commands/get-stock-item-group

Simple Payload Fields

code
required item group code

Example Payload

{
  "code": "FG"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-stock-item-groupwrite

Create a Stock Item Group Maintenance record.

Full payload schema: /v1/schema/commands/create-stock-item-group

Simple Payload Fields

code
required item group code
description
required description

Example Payload

{
  "code": "FG",
  "description": "Finished Goods"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount stock item group maintenance SDK where available.

update-stock-item-groupwrite

Update a Stock Item Group Maintenance record.

Full payload schema: /v1/schema/commands/update-stock-item-group

Simple Payload Fields

code
required item group code
description
description to update

Example Payload

{
  "code": "FG",
  "description": "Finished Goods"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount stock item group maintenance SDK where available.

list-stock-item-typesread

List Stock Item Type Maintenance records.

Full payload schema: /v1/schema/commands/list-stock-item-types

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

get-stock-item-typeread

Get one Stock Item Type Maintenance record.

Full payload schema: /v1/schema/commands/get-stock-item-type

Simple Payload Fields

code
required item type code

Example Payload

{
  "code": "RAW"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-stock-item-typewrite

Create a Stock Item Type Maintenance record.

Full payload schema: /v1/schema/commands/create-stock-item-type

Simple Payload Fields

code
required item type code
description
required description

Example Payload

{
  "code": "RAW",
  "description": "Raw Material"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount stock item type maintenance SDK where available.

update-stock-item-typewrite

Update a Stock Item Type Maintenance record.

Full payload schema: /v1/schema/commands/update-stock-item-type

Simple Payload Fields

code
required item type code
description
description to update

Example Payload

{
  "code": "RAW",
  "description": "Raw Material"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount stock item type maintenance SDK where available.

list-stock-item-brandsread

List Stock Item Brand Maintenance records.

Full payload schema: /v1/schema/commands/list-stock-item-brands

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

get-stock-item-brandread

Get one Stock Item Brand Maintenance record.

Full payload schema: /v1/schema/commands/get-stock-item-brand

Simple Payload Fields

code
required item brand code

Example Payload

{
  "code": "BRAND1"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-stock-item-brandwrite

Create a Stock Item Brand Maintenance record.

Full payload schema: /v1/schema/commands/create-stock-item-brand

Simple Payload Fields

code
required item brand code
description
required description

Example Payload

{
  "code": "BRAND1",
  "description": "Brand 1"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount stock item brand maintenance SDK where available.

update-stock-item-brandwrite

Update a Stock Item Brand Maintenance record.

Full payload schema: /v1/schema/commands/update-stock-item-brand

Simple Payload Fields

code
required item brand code
description
description to update

Example Payload

{
  "code": "BRAND1",
  "description": "Brand 1"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount stock item brand maintenance SDK where available.

list-stock-item-categoriesread

List Stock Item Category Maintenance records.

Full payload schema: /v1/schema/commands/list-stock-item-categories

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

get-stock-item-categoryread

Get one Stock Item Category Maintenance record.

Full payload schema: /v1/schema/commands/get-stock-item-category

Simple Payload Fields

code
required item category code

Example Payload

{
  "code": "CAT1"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

create-stock-item-categorywrite

Create a Stock Item Category Maintenance record.

Full payload schema: /v1/schema/commands/create-stock-item-category

Simple Payload Fields

code
required item category code
description
required description

Example Payload

{
  "code": "CAT1",
  "description": "Category 1"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount stock item category maintenance SDK where available.

update-stock-item-categorywrite

Update a Stock Item Category Maintenance record.

Full payload schema: /v1/schema/commands/update-stock-item-category

Simple Payload Fields

code
required item category code
description
description to update

Example Payload

{
  "code": "CAT1",
  "description": "Category 1"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount stock item category maintenance SDK where available.

create-stock-adjustmentwrite

Create stock adjustment.

Full payload schema: /v1/schema/commands/create-stock-adjustment

Simple Payload Fields

docDate
required or optional YYYY-MM-DD document date
lines
required array of stock item rows; items is also accepted as a compatibility alias
itemCode
single-line fallback still accepted
qty
single-line fallback
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
description
optional stock document narration
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "docDate": "2026-06-24",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master4 fields
  • DocNo string - Stock document number.
  • DocDate date - Document date.
  • Description string - Document description.
  • UserDefinedFields object - Header UDF object.
Details9 fields
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - From/location code.
  • ToLocation string - Destination location for transfers.
  • Qty number - Quantity.
  • UnitCost number - Unit cost.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • UserDefinedFields object - Detail UDF object.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Creates one or many stock adjustment detail lines through AutoCount stock document logic. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

create-stock-receivewrite

Create stock receive.

Full payload schema: /v1/schema/commands/create-stock-receive

Simple Payload Fields

docDate
required or optional YYYY-MM-DD document date
lines
required array of stock item rows; items is also accepted as a compatibility alias
itemCode
single-line fallback still accepted
qty
single-line fallback
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
description
optional stock document narration
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "docDate": "2026-06-24",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master4 fields
  • DocNo string - Stock document number.
  • DocDate date - Document date.
  • Description string - Document description.
  • UserDefinedFields object - Header UDF object.
Details9 fields
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - From/location code.
  • ToLocation string - Destination location for transfers.
  • Qty number - Quantity.
  • UnitCost number - Unit cost.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • UserDefinedFields object - Detail UDF object.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Creates one or many stock receive detail lines through AutoCount stock document logic. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

create-stock-issuewrite

Create stock issue.

Full payload schema: /v1/schema/commands/create-stock-issue

Simple Payload Fields

docDate
required or optional YYYY-MM-DD document date
lines
required array of stock item rows; items is also accepted as a compatibility alias
itemCode
single-line fallback still accepted
qty
single-line fallback
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
description
optional stock document narration
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "docDate": "2026-06-24",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master4 fields
  • DocNo string - Stock document number.
  • DocDate date - Document date.
  • Description string - Document description.
  • UserDefinedFields object - Header UDF object.
Details9 fields
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - From/location code.
  • ToLocation string - Destination location for transfers.
  • Qty number - Quantity.
  • UnitCost number - Unit cost.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • UserDefinedFields object - Detail UDF object.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Creates one or many stock issue detail lines through AutoCount stock document logic. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

create-stock-transferwrite

Create stock transfer.

Full payload schema: /v1/schema/commands/create-stock-transfer

Simple Payload Fields

docDate
required or optional YYYY-MM-DD document date
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
lines
required array of stock item rows; items is also accepted as a compatibility alias
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
description
optional stock document narration
reason
optional reason/remark
location
optional default stock location
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "docDate": "2026-06-24",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "location": "HQ",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master4 fields
  • DocNo string - Stock document number.
  • DocDate date - Document date.
  • Description string - Document description.
  • UserDefinedFields object - Header UDF object.
Details9 fields
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - From/location code.
  • ToLocation string - Destination location for transfers.
  • Qty number - Quantity.
  • UnitCost number - Unit cost.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • UserDefinedFields object - Detail UDF object.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Creates one or many stock transfer detail lines through AutoCount stock document logic. Fresh account books need at least two active stock locations before transfer. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

create-stock-uom-conversionwrite

Create stock UOM conversion.

Full payload schema: /v1/schema/commands/create-stock-uom-conversion

Simple Payload Fields

docDate
required or optional YYYY-MM-DD document date
lines
required array of stock item rows; items is also accepted as a compatibility alias
itemCode
single-line fallback still accepted
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
description
optional stock document narration
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "docDate": "2026-06-24",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Creates one or many stock UOM conversion detail lines through AutoCount stock document logic. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

create-stock-takewrite

Create stock take.

Full payload schema: /v1/schema/commands/create-stock-take

Simple Payload Fields

docDate
required or optional YYYY-MM-DD document date
location
optional default stock location
lines
required array of stock item rows; items is also accepted as a compatibility alias
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
description
optional stock document narration
reason
optional reason/remark
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "docDate": "2026-06-24",
  "location": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master4 fields
  • DocNo string - Stock document number.
  • DocDate date - Document date.
  • Description string - Document description.
  • UserDefinedFields object - Header UDF object.
Details9 fields
  • ItemCode string - Stock item code.
  • UOM string - Unit of measure.
  • Location string - From/location code.
  • ToLocation string - Destination location for transfers.
  • Qty number - Quantity.
  • UnitCost number - Unit cost.
  • BatchNo string - Batch number.
  • SerialNo string - Serial number where supported.
  • UserDefinedFields object - Detail UDF object.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Creates one or many stock take detail lines through AutoCount stock document logic. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

create-stock-write-offwrite

Create stock write-off.

Full payload schema: /v1/schema/commands/create-stock-write-off

Simple Payload Fields

docDate
required or optional YYYY-MM-DD document date
location
optional default stock location
lines
required array of stock item rows; items is also accepted as a compatibility alias
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
description
optional stock document narration
reason
optional reason/remark
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "docDate": "2026-06-24",
  "location": "HQ",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Creates one or many stock write-off detail lines through AutoCount stock document logic. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

create-stock-update-costwrite

Create stock update cost document.

Full payload schema: /v1/schema/commands/create-stock-update-cost

Simple Payload Fields

docDate
required or optional YYYY-MM-DD document date
lines
required array of stock item rows; items is also accepted as a compatibility alias
docNo
optional AutoCount document number; omit to let AutoCount numbering generate it
description
optional stock document narration
reason
optional reason/remark
location
optional default stock location
fromLocation
optional source location for transfer/conversion documents
toLocation
optional destination location for transfer/conversion documents
project
optional project code
department
optional department code
items
optional alias for lines
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "docDate": "2026-06-24",
  "lines": [
    {
      "itemCode": "ITEM001",
      "description": "Stock line 1",
      "description2": "Stock line second description",
      "barCode": "9550000000011",
      "qty": 2,
      "uom": "UNIT",
      "unitCost": 80,
      "unitPrice": 100,
      "location": "HQ",
      "fromLocation": "HQ",
      "toLocation": "STORE",
      "batchNo": "BATCH-001",
      "serialNo": "SN-0001",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "description": "Stock document created through API",
  "reason": "API stock operation",
  "location": "HQ",
  "fromLocation": "HQ",
  "toLocation": "STORE",
  "project": "PRJAPI",
  "department": "HQ",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Creates one or many stock update-cost detail lines through AutoCount stock document logic. Batch, serial, UOM, project, department, and location fields depend on AutoCount item/account-book settings. The connector validates through AutoCount SDK before saving.

create-item-packagewrite

Create item package definition.

Full payload schema: /v1/schema/commands/create-item-package

Simple Payload Fields

packageCode
required Package identity
description
required Package description
barCode
optional Package barcode
unitPrice
optional Package selling price, distinct from component unitPrice; finite invariant decimal, native precision/validation applies
isActive
optional Package active flag; false deactivates without deleting
limitedQty
optional Package limited quantity; numeric value, not a boolean flag; finite invariant decimal, native precision/validation applies
allowDuplicateItemCode
optional Per-request duplicate permission, not stored as a Master flag; set true for creates/edits introducing duplicate component item codes
lines
optional Component rows; use lines OR items OR legacy top-level itemCode, never mix forms. Empty arrays are rejected in every mode; omit arrays for header-only update. Create/append/replace need itemCode. update/delete use existing positive lineKey/dtlKey; append/replace reject keys
items
optional Alias for lines; do not send both
itemCode
optional Legacy single-component item code; do not mix with lines/items
qty
optional Component quantity; legacy default 1; finite invariant decimal, native precision/validation applies
uom
optional Existing component UOM
lineDescription
optional Component description
lineDescription2
optional Component second description; conditional SDK/version availability. TSM Detail lacks Desc2 despite the SDK property; unsupported explicit requests fail before save
furtherDescription
optional Component further description
lineUnitPrice
optional Component selling price; finite invariant decimal, native precision/validation applies
purchasePrice
optional Component purchase price; finite invariant decimal, native precision/validation applies
taxCode
optional Component sales tax code; empty string maps to native null; TSM native save/reload verified, edge2 PASS
purchaseTaxCode
optional Component purchase tax code; empty string maps to native null; TSM native save/reload verified, edge2 PASS
validateOnly
optional True validates without saving; create/update still require write permission
Master
optional Known native header columns only; parent validates support, conflicting aliases and persistence
fields
optional Known native header columns only; parent validates support, conflicting aliases and persistence

Example Payload

{
  "packageCode": "PKG-API",
  "description": "API Package",
  "unitPrice": 120,
  "isActive": true,
  "limitedQty": 10,
  "lines": [
    {
      "itemCode": "ITEM001",
      "qty": 1,
      "uom": "UNIT",
      "unitPrice": 100
    },
    {
      "itemCode": "ITEM002",
      "qty": 2,
      "uom": "UNIT",
      "unitPrice": 10
    }
  ]
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Static Item Package contract, not native persistence proof. Parent native connector owns strict field validation: Master/fields map known columns with support checks and readback verification; unknown/unsupported fields must be rejected, never silently ignored. Installed SDK support and Save/readback must be verified separately. Create and create validation require description and lines, items, or legacy top-level itemCode. validate-item-package never saves; select edit validation using detailMode or operation:update for header-only preview; reason is optional. update-item-package requires reason even for validateOnly:true previews. validateOnly:true never saves. Header unitPrice is distinct from legacy lineUnitPrice.

create-item-bomwrite

Create item BOM definition.

Full payload schema: /v1/schema/commands/create-item-bom

Simple Payload Fields

itemCode
required finished item code
description
optional expected existing description; differing values are not supported for BOM persistence
assemblyCost
optional assembly cost
finishGoodCost
optional finished-good cost
autoUpdateMethod
unsupported company-wide setting; omit this field
detailMode
existing BOM only: update (default for update command) or replace; replace removes omitted lines
validateOnly
optional boolean; true prevents saving even on create/update and retains their write permission
updateBOMCost
true required for all lines[] including previews: acknowledges native save sets parent UOM Cost = FinishGoodCost * Rate; false unsupported
lines
array of {subItemCode?, qty?, lineKey?, seq?, remove?, overheadCost?, fields?, nativeFields?}; new lines need code and qty, keyed update preserves omitted values
subItemCode
legacy single component code; cannot be mixed with lines
qty
legacy single component positive quantity, default 1; cannot be mixed with lines
overheadCost
optional legacy component overhead cost

Example Payload

{
  "itemCode": "FINISHED-API",
  "updateBOMCost": true,
  "lines": [
    {
      "subItemCode": "RAW-API-1",
      "qty": 2
    },
    {
      "subItemCode": "RAW-API-2",
      "qty": 3
    }
  ]
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Use lines or legacy subItemCode, never both. Update preserves omitted details/values; remove:true requires stable lineKey and permits optional matching subItemCode, never subItemCode alone. Replace supplies the complete desired detail set. Description changes and company-wide autoUpdateMethod changes are unsupported and must be rejected before native mutation. Native costing can change costs during saves; no no-cost-change guarantee is made. Native connector validates references, performs a single Save and reload verification; validate-item-bom never saves. Schema availability alone does not prove native support.

create-stock-assemblywrite

Create stock assembly.

Full payload schema: /v1/schema/commands/create-stock-assembly

Simple Payload Fields

docDate
required or optional YYYY-MM-DD document date
itemCode
required finished/main item code
qty
required finished/main quantity
location
required or optional stock location
lines
required component/detail rows
docNo
optional stock assembly document number; omit to let AutoCount numbering generate it
description
optional document description
uom
optional finished/main UOM
unitCost
optional finished/main unit cost
detailMode
optional update mode such as replace or update
reason
optional business reason for update requests

Example Payload

{
  "docDate": "2026-06-24",
  "itemCode": "FINISHED-API",
  "location": "HQ",
  "qty": 1,
  "lines": [
    {
      "lineNo": 1,
      "itemCode": "RAW-API-1",
      "description": "Raw material 1",
      "qty": 2,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 10,
      "batchNo": "BATCH-001",
      "serialNo": ""
    },
    {
      "lineNo": 2,
      "itemCode": "RAW-API-2",
      "description": "Raw material 2",
      "qty": 3,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 5,
      "batchNo": "",
      "serialNo": ""
    }
  ],
  "description": "Stock assembly created through API",
  "uom": "UNIT",
  "unitCost": 100,
  "detailMode": "replace",
  "reason": "correct assembly detail"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Creates stock assembly with optional multiple component/detail lines through AutoCount manufacturing/stock logic. Full human payload reference for stock assembly/order/disassembly. Batch, serial, and costing behavior depends on item and account-book settings.

create-stock-assembly-orderwrite

Create stock assembly order.

Full payload schema: /v1/schema/commands/create-stock-assembly-order

Simple Payload Fields

docDate
required or optional YYYY-MM-DD document date
itemCode
required finished/main item code
qty
required finished/main quantity
location
required or optional stock location
lines
required component/detail rows
docNo
optional stock assembly document number; omit to let AutoCount numbering generate it
description
optional document description
uom
optional finished/main UOM
unitCost
optional finished/main unit cost
detailMode
optional update mode such as replace or update
reason
optional business reason for update requests

Example Payload

{
  "docDate": "2026-06-24",
  "itemCode": "FINISHED-API",
  "location": "HQ",
  "qty": 1,
  "lines": [
    {
      "lineNo": 1,
      "itemCode": "RAW-API-1",
      "description": "Raw material 1",
      "qty": 2,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 10,
      "batchNo": "BATCH-001",
      "serialNo": ""
    },
    {
      "lineNo": 2,
      "itemCode": "RAW-API-2",
      "description": "Raw material 2",
      "qty": 3,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 5,
      "batchNo": "",
      "serialNo": ""
    }
  ],
  "description": "Stock assembly order created through API",
  "uom": "UNIT",
  "unitCost": 100,
  "detailMode": "replace",
  "reason": "correct assembly detail"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Creates stock assembly order with optional multiple component/detail lines through AutoCount manufacturing/stock logic. Full human payload reference for stock assembly/order/disassembly. Batch, serial, and costing behavior depends on item and account-book settings.

create-stock-disassemblywrite

Create stock disassembly.

Full payload schema: /v1/schema/commands/create-stock-disassembly

Simple Payload Fields

docDate
required or optional YYYY-MM-DD document date
itemCode
required finished/main item code
qty
required finished/main quantity
location
required or optional stock location
lines
required component/detail rows
docNo
optional stock assembly document number; omit to let AutoCount numbering generate it
description
optional document description
uom
optional finished/main UOM
unitCost
optional finished/main unit cost
detailMode
optional update mode such as replace or update
reason
optional business reason for update requests

Example Payload

{
  "docDate": "2026-06-24",
  "itemCode": "FINISHED-API",
  "location": "HQ",
  "qty": 1,
  "lines": [
    {
      "lineNo": 1,
      "itemCode": "RAW-API-1",
      "description": "Raw material 1",
      "qty": 2,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 10,
      "batchNo": "BATCH-001",
      "serialNo": ""
    },
    {
      "lineNo": 2,
      "itemCode": "RAW-API-2",
      "description": "Raw material 2",
      "qty": 3,
      "uom": "UNIT",
      "location": "HQ",
      "unitCost": 5,
      "batchNo": "",
      "serialNo": ""
    }
  ],
  "description": "Stock disassembly created through API",
  "uom": "UNIT",
  "unitCost": 100,
  "detailMode": "replace",
  "reason": "correct assembly detail"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Creates stock disassembly with optional multiple detail lines through AutoCount manufacturing/stock logic. Full human payload reference for stock assembly/order/disassembly. Batch, serial, and costing behavior depends on item and account-book settings.

POS Raw POS sales and receipt detail reads through AutoCount POS DLL only. 3 commands

Command Native Sections

change-member-nowrite

Change a POS member number.

Full payload schema: /v1/schema/commands/change-member-no

Simple Payload Fields

oldMemberNo
required old value for oldMemberNo
newMemberNo
required new value for newMemberNo
validateOnly
optional boolean; true runs this command as a no-change preflight and still requires Edit permission
confirm
required true for an actual save; not required when validateOnly is true

Example Payload

{
  "oldMemberNo": "OLD-MEMBER",
  "newMemberNo": "NEW-MEMBER",
  "confirm": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cloud validates and queues this typed command; it does not perform accounting work. Set validateOnly:true for preflight, then use a distinct commandId for the actual save. Reuse an ID only for an identical request. Runtime availability is connector-specific and reported by read-change-code-capabilities.

list-pos-raw-transactionsread

List POS sales/receipt rows through AutoCount POS DLL only.

Full payload schema: /v1/schema/commands/list-pos-raw-transactions

Simple Payload Fields

fromDate
optional YYYY-MM-DD, default connector PC today; normal calendar-day mode
toDate
optional YYYY-MM-DD, inclusive end-of-day in normal calendar-day mode
fromDateTime
optional exact start date/time, for example 2026-08-01T00:00:00
toDateTime
optional exact end date/time, for example 2026-08-02T02:00:00
businessDate
optional POS business date. Use this when a shop opens past midnight and 1AM sales should belong to the previous business day.
businessDayStartTime
optional HH:mm start time for businessDate, default 00:00
businessDayEndTime
optional HH:mm close time for businessDate. Early-morning close times up to 06:00 automatically mean next calendar day, e.g. 02:00 means businessDate+1 02:00.
businessDayEndHour
optional shortcut integer 0-23, e.g. 2 means businessDayEndTime 02:00
businessDayEndNextDay
optional boolean override. Default true for early-morning close times up to 06:00; set false only when 02:00 means same calendar day.
filterByDateType
optional PaymentTime, CreatedTime, or TaxInvoiceDate. Do not use DocDate because AutoCount POS DLL reports it as ambiguous.
transactionStatus
optional Valid, All, or Void; default Valid
maxRows
optional output row limit, default 100, max 1000

Example Payload

{
  "businessDate": "2026-08-01",
  "businessDayEndTime": "02:00",
  "filterByDateType": "PaymentTime",
  "transactionStatus": "Valid",
  "maxRows": 100
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master7 fields
  • businessDate date - POS business date. Use with businessDayEndTime when the shop closes after midnight.
  • dateFrom date - Optional start date/time filter.
  • dateTo date - Optional end date/time filter.
  • businessDayEndTime string - Optional close time such as 02:00 for shops that close after midnight.
  • docNo string - POS receipt/document number for get.
  • docKey number - AutoCount POS document key for get.
  • maxRows number - Maximum POS rows to return. Use bounded reads for large POS books.
Details8 fields
  • ItemCode string - POS item code returned by AutoCount POS DLL.
  • Description string - POS item/line description.
  • Qty number - Quantity sold.
  • UOM string - Unit of measure.
  • UnitPrice number - Unit price.
  • Discount string - Discount text/amount where returned.
  • TaxCode string - Tax code where returned.
  • Amount number - Line amount.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails3 fields
  • PaymentMethod string - POS payment method returned by AutoCount POS DLL.
  • PaymentAmount number - Payment amount.
  • ReferenceNo string - Payment/reference number where returned.
Options1 fields
  • includeRawTables boolean - Return raw DLL tables where supported.

Notes: Connector auto-detects AutoCount POS 5.2 Backend and calls AutoCount.POS.Report.CashReceipt.CashReceiptReport.Inquire. Returns raw DLL DataTables: CashReceiptReportDataTable, PaymentDetailDataTable, and CashReceiptReportDistinctDataTable. For shops closing after midnight, use businessDate + businessDayEndTime so receipts after 12AM, such as 00:00-02:00, are included in the previous business day. No direct SQL read is used.

get-pos-raw-transactionread

Get one POS receipt raw AutoCount bundle through AutoCount POS DLL only.

Full payload schema: /v1/schema/commands/get-pos-raw-transaction

Simple Payload Fields

docKey
required AutoCount POS DocKey from list-pos-raw-transactions, unless guid is supplied
guid
optional POS Guid alternative to docKey

Example Payload

{
  "docKey": 3000152
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master7 fields
  • businessDate date - POS business date. Use with businessDayEndTime when the shop closes after midnight.
  • dateFrom date - Optional start date/time filter.
  • dateTo date - Optional end date/time filter.
  • businessDayEndTime string - Optional close time such as 02:00 for shops that close after midnight.
  • docNo string - POS receipt/document number for get.
  • docKey number - AutoCount POS document key for get.
  • maxRows number - Maximum POS rows to return. Use bounded reads for large POS books.
Details8 fields
  • ItemCode string - POS item code returned by AutoCount POS DLL.
  • Description string - POS item/line description.
  • Qty number - Quantity sold.
  • UOM string - Unit of measure.
  • UnitPrice number - Unit price.
  • Discount string - Discount text/amount where returned.
  • TaxCode string - Tax code where returned.
  • Amount number - Line amount.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails3 fields
  • PaymentMethod string - POS payment method returned by AutoCount POS DLL.
  • PaymentAmount number - Payment amount.
  • ReferenceNo string - Payment/reference number where returned.
Options1 fields
  • includeRawTables boolean - Return raw DLL tables where supported.

Notes: Connector auto-detects AutoCount POS 5.2 Backend and calls AutoCount.POS.Data.PosCommand.GetPos(docKey/guid). Returns raw header, detail, payment, promotion, modifier, delivery, serial, and related child DataTables exposed by the DLL. No direct SQL read is used.

GL Chart of accounts, GL account maintenance, journal entries, and balances. 22 commands

Command Native Sections

void-journal-entrywrite

Cancel/void a journal entry.

Full payload schema: /v1/schema/commands/void-journal-entry

Simple Payload Fields

docNo
required unless docKey is provided
docKey
optional numeric document key
reason
optional audit reason

Example Payload

{
  "docNo": "JV-000001",
  "reason": "void/correct journal"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount JournalEntryCommand.CancelDocument.

delete-journal-entrywrite

Hard delete a journal entry.

Full payload schema: /v1/schema/commands/delete-journal-entry

Simple Payload Fields

docNo
required unless docKey is provided
docKey
optional numeric document key
reason
optional audit reason

Example Payload

{
  "docNo": "JV-000001",
  "reason": "delete incorrect journal"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount JournalEntryCommand.Delete. Use void-journal-entry when audit-trail cancellation is required.

get-gl-accountread

Get one GL Account Maintenance account.

Full payload schema: /v1/schema/commands/get-gl-account

Simple Payload Fields

accNo
required account code

Example Payload

{
  "accNo": "610-0000"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Reads from AutoCount AccountInquiry chart data.

read-gl-opening-balancesread

Read GL Opening Balance Maintenance for one fiscal period and project/department scope.

Full payload schema: /v1/schema/commands/read-gl-opening-balances

Simple Payload Fields

periodDate
required YYYY-MM-DD date inside the fiscal period
projectNo
optional exact project; blank means no project
departmentNo
optional exact department; blank means no department
limit
optional row limit, maximum 10000

Example Payload

{
  "periodDate": "2026-01-01",
  "projectNo": "",
  "departmentNo": "",
  "limit": 5000
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount OpeningBalanceCommand.Edit. Rows include AccNo, currency, debit/credit, home debit/credit, and CanEdit. Blank project/department selects the editable no-project/no-department scope, not the read-only all-scope aggregate.

update-gl-opening-balanceswrite

Validate or save selected GL opening-balance rows and verify them by SDK reload.

Full payload schema: /v1/schema/commands/update-gl-opening-balances

Simple Payload Fields

periodDate
required YYYY-MM-DD date inside the fiscal period
projectNo
optional exact project; blank means no project
departmentNo
optional exact department; blank means no department
localCurrencyCode
optional only when AutoCount local currency cannot be detected
balances
required array of {accNo, debit, credit, homeDebit?, homeCredit?}; home values are required for foreign-currency accounts
validateOnly
optional true to validate without saving
confirmWrite
required true for an actual save

Example Payload

{
  "periodDate": "2026-01-01",
  "balances": [
    {
      "accNo": "100-0000",
      "debit": 0,
      "credit": 1000
    }
  ],
  "validateOnly": true
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: SDK only. It rejects non-editable accounts and foreign-currency rows without home amounts. A save returns success only after exact AutoCount reload verification.

read-gl-year-to-date-balancesread

Read Year-to-Date Balance Maintenance rows.

Full payload schema: /v1/schema/commands/read-gl-year-to-date-balances

Simple Payload Fields

months
optional number of periods, 1 to 24; default 12
projectNo
optional project code
departmentNo
optional department code
limit
optional row limit, maximum 10000

Example Payload

{
  "months": 12,
  "projectNo": "",
  "departmentNo": "",
  "limit": 5000
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount YearToDate.LoadData in normal read mode and returns native PeriodNo, AccNo, DR, CR, HomeDR, and HomeCR rows. The SDK ZeroPBalance reset flag is intentionally never exposed.

update-gl-year-to-date-balanceswrite

Validate or save selected Year-to-Date Balance Maintenance rows and verify them by SDK reload.

Full payload schema: /v1/schema/commands/update-gl-year-to-date-balances

Simple Payload Fields

months
optional number of periods, 1 to 24; default 12
projectNo
optional project code
departmentNo
optional department code
balances
required array of {accNo, periodNo, debit, credit, homeDebit?, homeCredit?}
validateOnly
optional true to validate without saving
confirmWrite
required true for an actual save

Example Payload

{
  "months": 12,
  "balances": [
    {
      "accNo": "500-0000",
      "periodNo": 1,
      "debit": 1000,
      "credit": 0
    }
  ],
  "validateOnly": true
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: SDK only. Unknown accounts and periods outside the requested month range are rejected. The dangerous SDK ZeroPBalance reset flag is not exposed. A save returns success only after exact AutoCount reload verification.

update-gl-accountwrite

Guarded GL account edit request.

Full payload schema: /v1/schema/commands/update-gl-account

Simple Payload Fields

accNo
required GL account number
reason
required
description
required account description/name
desc2
optional second description
accType
required AutoCount account type
parentAccNo
optional parent account number
currencyCode
optional currency code
cashFlowCategory
optional cash flow category
specialAccType
optional special account type such as Normal, Bank, Cash, FixedAsset/SFA, AccumulatedDepreciation/SAD, DebtorControl, or CreditorControl
isActive
optional boolean active flag
remark1
optional remark field 1
remark2
optional remark field 2

Example Payload

{
  "accNo": "690-9000",
  "reason": "correct account description",
  "description": "API Expense Account",
  "desc2": "API expense second description",
  "accType": "EP",
  "parentAccNo": "610-0000",
  "currencyCode": "MYR",
  "cashFlowCategory": "OperatingActivities",
  "specialAccType": "Normal",
  "isActive": true,
  "remark1": "Created by API",
  "remark2": "GL account setup example"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns editBlocked until AccountCommand edit/save safety is proven. Full human payload reference for GL Account Maintenance. Account type, parent account, and special account type must match the account book's chart of accounts rules. Use list-general-account-types to discover valid account type codes. For a fixed asset GL account, use a valid Asset accType returned by list-general-account-types and set specialAccType: "SFA" or "FixedAsset". Do not put fixed asset into accType unless that exact AccType code exists in the account book.

void-gl-accountwrite

Guarded GL account void request.

Full payload schema: /v1/schema/commands/void-gl-account

Simple Payload Fields

accNo
required account code
reason
required

Example Payload

{
  "accNo": "610-0000",
  "reason": "deactivate account"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked; chart accounts may be linked to posted transactions.

delete-gl-accountwrite

Guarded GL account delete request.

Full payload schema: /v1/schema/commands/delete-gl-account

Simple Payload Fields

accNo
required account code
reason
required

Example Payload

{
  "accNo": "610-0000",
  "reason": "remove unused account"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns deleteBlocked; chart accounts may be linked to posted transactions.

list-journal-entriesread

List journal entries.

Full payload schema: /v1/schema/commands/list-journal-entries

Simple Payload Fields

status
optional AutoCount document status
columns
optional comma-separated master columns

Example Payload

{
  "columns": "DocKey,DocNo,DocDate,JournalType,Description,TotalDR,TotalCR,Cancelled,LastModified"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount JournalEntryCommand.InquireAllMaster.

get-journal-entryread

Get one journal entry with detail lines.

Full payload schema: /v1/schema/commands/get-journal-entry

Simple Payload Fields

docNo
required unless docKey is supplied
docKey
optional numeric document key

Example Payload

{
  "docNo": "JV-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount JournalEntryCommand.View.

read-chart-accountsread

List GL chart of accounts.

Full payload schema: /v1/schema/commands/read-chart-accounts

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-gl-account-balanceread

Read one GL account balance.

Full payload schema: /v1/schema/commands/read-gl-account-balance

Simple Payload Fields

accNo
required
fromDate
YYYY-MM-DD required
toDate
YYYY-MM-DD required

Example Payload

{
  "accNo": "500-0000",
  "fromDate": "2026-01-01",
  "toDate": "2026-06-15"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-gl-account-balancesread

Read many/all GL account balances in one connector execution.

Full payload schema: /v1/schema/commands/read-gl-account-balances

Simple Payload Fields

fromDate
YYYY-MM-DD required
toDate
YYYY-MM-DD required
limit
optional, default 5000, max 10000
accountType
optional AccType filter
includeZeroBalance
optional boolean, default true

Example Payload

{
  "fromDate": "2026-08-01",
  "toDate": "2026-08-31",
  "limit": 5000,
  "includeZeroBalance": true
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns account metadata plus numeric balance for every returned account. Use this instead of calling read-gl-account-balance thousands of times.

read-financial-reportread

Read a native AutoCount financial report.

Full payload schema: /v1/schema/commands/read-financial-report

Simple Payload Fields

reportType
required exact value: trial-balance | balance-sheet | profit-loss | cash-flow | group-statement
fromDate
period start date in YYYY-MM-DD; use with trial-balance, profit-loss, or cash-flow, and with group-statement when bs is false or omitted
toDate
period end date in YYYY-MM-DD; use with trial-balance, profit-loss, or cash-flow, and with group-statement when bs is false or omitted
asOfDate
point-in-time date in YYYY-MM-DD; use with balance-sheet or group-statement when bs is true
project
optional scalar or comma-separated project dimension filter
department
optional scalar or comma-separated department dimension filter
includeZeroBalance
optional boolean; maps to native ShowZeroBalance and defaults to true
showAccountNumbers
optional boolean; maps to native ShowAccNo and defaults to true
accNo
required for group-statement: GL account number
accountNo
group-statement alias for accNo
bs
optional boolean for group-statement; maps to native GSReportOption.BS and defaults to false

Example Payload

{
  "reportType": "trial-balance",
  "fromDate": "2026-01-01",
  "toDate": "2026-06-30"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses the native AutoCount financial report factory and does not calculate report totals in the cloud. reportType is required and must be one of trial-balance, balance-sheet, profit-loss, cash-flow, or group-statement. trial-balance, profit-loss, and cash-flow are period reports and require both fromDate and toDate; asOfDate is rejected for them and fromDate must not be after toDate. balance-sheet is point-in-time and requires asOfDate; fromDate and toDate are rejected. group-statement requires accNo (accountNo is an accepted alias) and supports optional bs; with bs true use asOfDate, while bs false or omitted uses fromDate and toDate. It is a single-account report, not multi-company consolidation. project and department accept only a scalar or comma-separated individual dimension filter. includeZeroBalance and showAccountNumbers default to true. Unsupported fields or shapes are rejected rather than ignored.

financial-report-autocount-pdfreport

Generate a native AutoCount financial report PDF.

Full payload schema: /v1/schema/commands/financial-report-autocount-pdf

Simple Payload Fields

reportType
required exact value: trial-balance | balance-sheet | profit-loss | cash-flow | group-statement
fromDate
period start date in YYYY-MM-DD; use with trial-balance, profit-loss, or cash-flow, and with group-statement when bs is false or omitted
toDate
period end date in YYYY-MM-DD; use with trial-balance, profit-loss, or cash-flow, and with group-statement when bs is false or omitted
asOfDate
point-in-time date in YYYY-MM-DD; use with balance-sheet or group-statement when bs is true
project
optional scalar or comma-separated project dimension filter
department
optional scalar or comma-separated department dimension filter
includeZeroBalance
optional boolean; maps to native ShowZeroBalance and defaults to true
showAccountNumbers
optional boolean; maps to native ShowAccNo and defaults to true
accNo
required for group-statement: GL account number
accountNo
group-statement alias for accNo
bs
optional boolean for group-statement; maps to native GSReportOption.BS and defaults to false
out
optional PDF output path under the connector reports output root; .pdf extension only

Example Payload

{
  "reportType": "trial-balance",
  "fromDate": "2026-01-01",
  "toDate": "2026-06-30"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses the native AutoCount financial report factory and does not calculate report totals in the cloud. reportType is required and must be one of trial-balance, balance-sheet, profit-loss, cash-flow, or group-statement. trial-balance, profit-loss, and cash-flow are period reports and require both fromDate and toDate; asOfDate is rejected for them and fromDate must not be after toDate. balance-sheet is point-in-time and requires asOfDate; fromDate and toDate are rejected. group-statement requires accNo (accountNo is an accepted alias) and supports optional bs; with bs true use asOfDate, while bs false or omitted uses fromDate and toDate. It is a single-account report, not multi-company consolidation. project and department accept only a scalar or comma-separated individual dimension filter. includeZeroBalance and showAccountNumbers default to true. Unsupported fields or shapes are rejected rather than ignored. The PDF result is returned through the authenticated command artifact endpoint. out is optional and must remain under the connector reports output root with a .pdf extension.

create-gl-accountwrite

Create a GL Account Maintenance account.

Full payload schema: /v1/schema/commands/create-gl-account

Simple Payload Fields

accNo
required GL account number
description
required account description/name
accType
required AutoCount account type
parentAccNo
optional parent account number
currencyCode
optional currency code
cashFlowCategory
optional cash flow category
specialAccType
optional special account type such as Normal, Bank, Cash, FixedAsset/SFA, AccumulatedDepreciation/SAD, DebtorControl, or CreditorControl
desc2
optional second description
isActive
optional boolean active flag
remark1
optional remark field 1
remark2
optional remark field 2

Example Payload

{
  "accNo": "690-9000",
  "description": "API Expense Account",
  "accType": "EP",
  "parentAccNo": "610-0000",
  "cashFlowCategory": "OperatingActivities",
  "specialAccType": "Normal",
  "desc2": "API expense second description",
  "currencyCode": "MYR",
  "isActive": true,
  "remark1": "Created by API",
  "remark2": "GL account setup example"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Requires write access permission. Uses AutoCount.GL.AccountMaintenance.AccountCommand.NewAccount and AccountCommand.SaveAccount, with duplicate account check before save. Use list-general-account-types to discover valid account type codes for the account book. For fixed asset, use a valid Asset accType returned by list-general-account-types and set specialAccType: "SFA" or "FixedAsset". Do not put fixed asset into accType unless that exact AccType code exists. Full human payload reference for GL Account Maintenance. Account type, parent account, and special account type must match the account book's chart of accounts rules. Use list-general-account-types to discover valid account type codes. For a fixed asset GL account, use a valid Asset accType returned by list-general-account-types and set specialAccType: "SFA" or "FixedAsset". Do not put fixed asset into accType unless that exact AccType code exists in the account book.

create-fixed-asset-gl-accountswrite

Create the two GL accounts from AutoCount's Create New Fixed Asset Account screen.

Full payload schema: /v1/schema/commands/create-fixed-asset-gl-accounts

Simple Payload Fields

fixedAsset
{"accNo":"required fixed asset GL account number","description":"required fixed asset GL account description","accType":"required valid Asset account type code from list-general-account-types","parentAccNo":"optional fixed asset parent account","currencyCode":"optional currency code, for example MYR","cashFlowCategory":"optional, defaults to InvestingActivities","specialAccType":"optional, defaults to SFA / FixedAsset"}
accumulatedDepreciation
{"accNo":"required accumulated depreciation GL account number","description":"required accumulated depreciation GL account description","accType":"required valid Asset account type code from list-general-account-types","parentAccNo":"optional accumulated depreciation parent account","currencyCode":"optional currency code, for example MYR","cashFlowCategory":"optional, defaults to OperatingActivities","specialAccType":"optional, defaults to SAD / AccumulatedDepreciation"}

Example Payload

{
  "fixedAsset": {
    "accNo": "150-1000",
    "description": "Motor Vehicle",
    "accType": "use an Asset code from list-general-account-types",
    "parentAccNo": "<<FIXED ASSETS>>",
    "currencyCode": "MYR",
    "cashFlowCategory": "InvestingActivities",
    "specialAccType": "SFA"
  },
  "accumulatedDepreciation": {
    "accNo": "159-1000",
    "description": "Accumulated Depreciation - Motor Vehicle",
    "accType": "use an Asset code from list-general-account-types",
    "parentAccNo": "<<FIXED ASSETS>>",
    "currencyCode": "MYR",
    "cashFlowCategory": "OperatingActivities",
    "specialAccType": "SAD"
  }
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Creates both GL Account Maintenance records through AutoCount AccountCommand.NewAccount and SaveAccount. The connector checks both account numbers before saving either record. Use create-gl-account only when creating one account. Matches AutoCount Create New Fixed Asset Account screen. It saves two GL Account Maintenance records through AutoCount AccountCommand: the fixed asset account with specialAccType SFA and the accumulated depreciation account with specialAccType SAD. Use list-general-account-types first; accType must be a real account type code in that account book.

validate-journal-entryread

Validate a GL journal entry without saving. Supports the same multi-line payload as create-journal-entry.

Full payload schema: /v1/schema/commands/validate-journal-entry

Simple Payload Fields

docDate
required YYYY-MM-DD journal date
description
optional journal narration
lines
required array of debit/credit rows; total debit must equal total credit
docNo
optional journal voucher number; omit to let AutoCount numbering generate it
journalType
optional AutoCount journal type
refNo
optional reference number
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "docDate": "2026-06-24",
  "description": "API journal entry",
  "lines": [
    {
      "accNo": "610-0000",
      "accountNo": "610-0000",
      "description": "Debit expense",
      "debit": 100,
      "credit": 0,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "taxType": "S-0",
      "taxCode": "S-0",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    },
    {
      "accNo": "500-1000",
      "accountNo": "500-1000",
      "description": "Credit control",
      "debit": 0,
      "credit": 100,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "taxType": "S-0",
      "taxCode": "S-0",
      "classification": "022"
    }
  ],
  "journalType": "JV",
  "refNo": "API-JV-1001",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master4 fields
  • DocNo string - Journal document number.
  • DocDate date - Journal date.
  • JournalType string - Journal type.
  • Description string - Journal description.
Details7 fields
  • AccNo string - GL account number.
  • Description string - Line description.
  • Debit number - Debit amount.
  • Credit number - Credit amount.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • TaxCode string - Tax code.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Validation only. Total debit must equal total credit. Multiple lines are supported. Debit and credit totals must balance before AutoCount will save.

create-journal-entrywrite

Create GL journal entry. Supports one or many debit/credit lines.

Full payload schema: /v1/schema/commands/create-journal-entry

Simple Payload Fields

docDate
required YYYY-MM-DD journal date
description
optional journal narration
lines
required array of debit/credit rows; total debit must equal total credit
docNo
optional journal voucher number; omit to let AutoCount numbering generate it
journalType
optional AutoCount journal type
refNo
optional reference number
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "docDate": "2026-06-24",
  "description": "API journal entry",
  "lines": [
    {
      "accNo": "610-0000",
      "accountNo": "610-0000",
      "description": "Debit expense",
      "debit": 100,
      "credit": 0,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "taxType": "S-0",
      "taxCode": "S-0",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    },
    {
      "accNo": "500-1000",
      "accountNo": "500-1000",
      "description": "Credit control",
      "debit": 0,
      "credit": 100,
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "taxType": "S-0",
      "taxCode": "S-0",
      "classification": "022"
    }
  ],
  "journalType": "JV",
  "refNo": "API-JV-1001",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master4 fields
  • DocNo string - Journal document number.
  • DocDate date - Journal date.
  • JournalType string - Journal type.
  • Description string - Journal description.
Details7 fields
  • AccNo string - GL account number.
  • Description string - Line description.
  • Debit number - Debit amount.
  • Credit number - Credit amount.
  • ProjNo string - Project code.
  • DeptNo string - Department code.
  • TaxCode string - Tax code.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Requires write access permission. Total debit must equal total credit. Old debitAccNo/creditAccNo/amount payload still works. Multiple lines are supported. Debit and credit totals must balance before AutoCount will save.

update-journal-entrywrite

Update a journal entry editable SDK fields and supported detail rows with persisted verification.

Full payload schema: /v1/schema/commands/update-journal-entry

Simple Payload Fields

docNo
required existing document number
docKey
optional existing document key
reason
required audit reason
docDate
optional YYYY-MM-DD document date
description
optional description; null or empty clears optional text
ref
optional reference where the AutoCount document exposes it
note
optional note where the AutoCount document exposes it
journalType
optional journal type where the AutoCount document exposes it
detailMode
explicit update | append | replace | delete for detail edits
lines
optional posting/detail updates selected by dtlKey
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values

Example Payload

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification. Journal debit/credit and Cash Book posting/payment totals must balance. Reconciled rows and source-linked documents remain protected.

GL Cash Book Cash book payment vouchers, official receipts, payment methods, bank/cash accounts, cheques, and cash flow. 14 commands

Command Native Sections

get-gl-cash-book-entryread

Get one G/L Cash Book entry with detail and payment rows.

Full payload schema: /v1/schema/commands/get-gl-cash-book-entry

Simple Payload Fields

docNo
required unless docKey is supplied
docKey
optional numeric document key

Example Payload

{
  "docNo": "PV-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount CashBookCommand.View.

validate-gl-cash-book-paymentread

Validate a G/L Cash Book payment voucher without saving.

Full payload schema: /v1/schema/commands/validate-gl-cash-book-payment

Simple Payload Fields

docDate
required or optional YYYY-MM-DD document date
payTo
optional payee name
taxEntityID
optional numeric Tax Entity Maintenance ID for the cash book header
lines
required array of GL posting rows
payments
required or optional array of payment method rows
docNo
optional voucher number; omit to let AutoCount numbering generate it
receiveFrom
optional receipt payer name
description
optional cash book narration
chequeNo
optional cheque/reference number
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "docDate": "2026-06-24",
  "payTo": "API Supplier",
  "taxEntityID": 1,
  "description": "API payment voucher",
  "lines": [
    {
      "accNo": "610-0000",
      "accountNo": "610-0000",
      "description": "Expense line",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 100,
      "chequeNo": "PV-API-1001",
      "bankCharge": 0,
      "bankAccount": "110-0010",
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    }
  ],
  "chequeNo": "PV-API-1001",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master5 fields
  • DocNo string - Cash book document number.
  • DocDate date - Cash book date.
  • PayTo string - Payment payee.
  • TaxEntityID number - Tax entity maintenance id.
  • Description string - Cash book description.
Details2 fields
  • AccNo string - GL account number.
  • Amount number - Cash book line amount.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails2 fields
  • PaymentMethod string - Payment method code.
  • PaymentAmount number - Payment amount.
Options0 fields

No field names are published for this section yet.

Notes: Validation only; uses CashBookCommand.AddNew + CashBook.Validate. Cash book supports one or many posting lines and one or many payment rows when AutoCount payment method setup allows it.

validate-gl-cash-book-receiptread

Validate a G/L Cash Book official receipt without saving.

Full payload schema: /v1/schema/commands/validate-gl-cash-book-receipt

Simple Payload Fields

docDate
required or optional YYYY-MM-DD document date
receiveFrom
optional receipt payer name
taxEntityID
optional numeric Tax Entity Maintenance ID for the cash book header
lines
required array of GL posting rows
payments
required or optional array of payment method rows
docNo
optional voucher number; omit to let AutoCount numbering generate it
payTo
optional payee name
description
optional cash book narration
chequeNo
optional cheque/reference number
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "docDate": "2026-06-24",
  "receiveFrom": "API Customer",
  "taxEntityID": 1,
  "description": "API official receipt",
  "lines": [
    {
      "accNo": "610-0000",
      "accountNo": "610-0000",
      "description": "Expense line",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 100,
      "chequeNo": "PV-API-1001",
      "bankCharge": 0,
      "bankAccount": "110-0010",
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    }
  ],
  "chequeNo": "PV-API-1001",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master5 fields
  • DocNo string - Cash book document number.
  • DocDate date - Cash book date.
  • ReceiveFrom string - Receipt payer.
  • TaxEntityID number - Tax entity maintenance id.
  • Description string - Cash book description.
Details2 fields
  • AccNo string - GL account number.
  • Amount number - Cash book line amount.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails2 fields
  • PaymentMethod string - Payment method code.
  • PaymentAmount number - Payment amount.
Options0 fields

No field names are published for this section yet.

Notes: Validation only; uses CashBookCommand.AddNew + CashBook.Validate. Cash book supports one or many posting lines and one or many payment rows when AutoCount payment method setup allows it.

create-gl-cash-book-paymentwrite

Create a G/L Cash Book payment voucher. Supports one or many account lines and payment rows.

Full payload schema: /v1/schema/commands/create-gl-cash-book-payment

Simple Payload Fields

docDate
required or optional YYYY-MM-DD document date
payTo
optional payee name
taxEntityID
optional numeric Tax Entity Maintenance ID for the cash book header
lines
required array of GL posting rows
payments
required or optional array of payment method rows
docNo
optional voucher number; omit to let AutoCount numbering generate it
receiveFrom
optional receipt payer name
description
optional cash book narration
chequeNo
optional cheque/reference number
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "docDate": "2026-06-24",
  "payTo": "API Supplier",
  "taxEntityID": 1,
  "description": "API payment voucher",
  "lines": [
    {
      "accNo": "610-0000",
      "accountNo": "610-0000",
      "description": "Expense line",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 100,
      "chequeNo": "PV-API-1001",
      "bankCharge": 0,
      "bankAccount": "110-0010",
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    }
  ],
  "chequeNo": "PV-API-1001",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master5 fields
  • DocNo string - Cash book document number.
  • DocDate date - Cash book date.
  • PayTo string - Payment payee.
  • TaxEntityID number - Tax entity maintenance id.
  • Description string - Cash book description.
Details2 fields
  • AccNo string - GL account number.
  • Amount number - Cash book line amount.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails2 fields
  • PaymentMethod string - Payment method code.
  • PaymentAmount number - Payment amount.
Options0 fields

No field names are published for this section yet.

Notes: Creates through AutoCount CashBookCommand.AddNew(CashPayment) + CashBook.Save. Cash book supports one or many posting lines and one or many payment rows when AutoCount payment method setup allows it.

create-gl-cash-book-receiptwrite

Create a G/L Cash Book official receipt. Supports one or many account lines and payment rows.

Full payload schema: /v1/schema/commands/create-gl-cash-book-receipt

Simple Payload Fields

docDate
required or optional YYYY-MM-DD document date
receiveFrom
optional receipt payer name
taxEntityID
optional numeric Tax Entity Maintenance ID for the cash book header
lines
required array of GL posting rows
payments
required or optional array of payment method rows
docNo
optional voucher number; omit to let AutoCount numbering generate it
payTo
optional payee name
description
optional cash book narration
chequeNo
optional cheque/reference number
userDefinedFields
optional object of AutoCount user-defined fields

Example Payload

{
  "docDate": "2026-06-24",
  "receiveFrom": "API Customer",
  "taxEntityID": 1,
  "description": "API official receipt",
  "lines": [
    {
      "accNo": "610-0000",
      "accountNo": "610-0000",
      "description": "Expense line",
      "amount": 100,
      "taxType": "S-0",
      "taxCode": "S-0",
      "project": "PRJAPI",
      "projNo": "PRJAPI",
      "department": "HQ",
      "deptNo": "HQ",
      "classification": "022",
      "userDefinedFields": {
        "APITEST": "API-LINE"
      }
    }
  ],
  "payments": [
    {
      "paymentMethod": "CASH",
      "paymentBy": "Cash",
      "paymentAmount": 100,
      "chequeNo": "PV-API-1001",
      "bankCharge": 0,
      "bankAccount": "110-0010",
      "paymentAccountNo": "110-0010",
      "bankChargeAccountNo": "810-0000",
      "creditCardApprovalCode": ""
    }
  ],
  "chequeNo": "PV-API-1001",
  "userDefinedFields": {
    "APITEST": "API"
  }
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master5 fields
  • DocNo string - Cash book document number.
  • DocDate date - Cash book date.
  • ReceiveFrom string - Receipt payer.
  • TaxEntityID number - Tax entity maintenance id.
  • Description string - Cash book description.
Details2 fields
  • AccNo string - GL account number.
  • Amount number - Cash book line amount.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails2 fields
  • PaymentMethod string - Payment method code.
  • PaymentAmount number - Payment amount.
Options0 fields

No field names are published for this section yet.

Notes: Creates through AutoCount CashBookCommand.AddNew(CashReceipt) + CashBook.Save. Cash book supports one or many posting lines and one or many payment rows when AutoCount payment method setup allows it.

update-gl-cash-book-entrywrite

Update G/L Cash Book header/simple fields.

Full payload schema: /v1/schema/commands/update-gl-cash-book-entry

Simple Payload Fields

docNo
required existing document number
docKey
optional existing document key
reason
required audit reason
docDate
optional YYYY-MM-DD document date
description
optional description; null or empty clears optional text
ref
optional reference where the AutoCount document exposes it
note
optional note where the AutoCount document exposes it
journalType
optional journal type where the AutoCount document exposes it
detailMode
explicit update | append | replace | delete for detail edits
taxEntityID
optional numeric Tax Entity Maintenance ID for the cash book header
lines
optional posting/detail updates selected by dtlKey
paymentLines
optional payment detail updates selected by dtlKey
Master
optional native header scalar fields
nativeFields
optional native header container with Master
validateOnly
optional native preflight without Save
userDefinedFields
optional existing header UDF values

Example Payload

{
  "docNo": "EXISTING-DOC-NO",
  "reason": "Correct description",
  "description": "Updated description"
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Install local-mvp-2026.09.30.01 or later on the selected connector before using this update contract; cloud publication does not install or upgrade customer connectors. Check installed capabilities first; never trial writes against an older or unconfirmed build. Editable SDK business fields only, not blanket all-field certification. Omitted fields remain unchanged; explicit null/empty clears optional text/nullable fields only. Unknown, unavailable, protected, calculated and lifecycle fields are rejected before Save. Existing rows require stable dtlKey (or an explicitly supported selector) and explicit detailMode; no implicit replacement. validateOnly:true performs native preflight without Save and returns saved:false. Successful updates need a fresh SDK reload and writeVerification.matched=true. saved:true with ok:false is a saved mismatch/verification failure, not rollback; inspect the original document before retrying. Existing allocation, payment, posting and eInvoice protections remain. Header-only edits omit detail arrays. Existing UDFs need actual SDK columns and persisted verification. See docs/document-update-fields.md. Native save acceptance covers invoice/credit-note headers in four AR/AP families and bounded Journal/Cash Book header/detail edits only. The other nine AR/AP families, including deposits, do not have native save acceptance. Generic native UDF and AR/AP financial-detail mutations remain unproven; no blanket all-fields/native certification. Journal debit/credit and Cash Book posting/payment totals must balance. Reconciled rows and source-linked documents remain protected.

void-gl-cash-book-entrywrite

Cancel/void a G/L Cash Book entry.

Full payload schema: /v1/schema/commands/void-gl-cash-book-entry

Simple Payload Fields

docNo
required unless docKey is provided
docKey
optional numeric document key
reason
optional audit reason

Example Payload

{
  "docNo": "PV-000001",
  "reason": "cancel incorrect voucher"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount CashBookCommand.CancelDocument.

delete-gl-cash-book-entrywrite

Hard delete a G/L Cash Book entry.

Full payload schema: /v1/schema/commands/delete-gl-cash-book-entry

Simple Payload Fields

docNo
required unless docKey is provided
docKey
optional numeric document key
reason
optional audit reason

Example Payload

{
  "docNo": "PV-000001",
  "reason": "delete incorrect voucher"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount CashBookCommand.Delete. Use void-gl-cash-book-entry when audit-trail cancellation is required.

read-payment-methodsread

List payment methods used by AR/AP cashbook-style documents.

Full payload schema: /v1/schema/commands/read-payment-methods

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

list-gl-bank-cash-accountsread

List GL bank and cash accounts used by cash book.

Full payload schema: /v1/schema/commands/list-gl-bank-cash-accounts

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

read-gl-cash-flow-accountsread

List GL accounts with cash-flow category metadata.

Full payload schema: /v1/schema/commands/read-gl-cash-flow-accounts

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

list-gl-chequesread

List issued or received cheque entries.

Full payload schema: /v1/schema/commands/list-gl-cheques

Simple Payload Fields

fromDate
YYYY-MM-DD optional
toDate
YYYY-MM-DD optional
chequeOption
issued | received
cancelled
all | cancelled | uncancelled
showCashAccount
boolean optional

Example Payload

{
  "fromDate": "2026-01-01",
  "toDate": "2026-12-31",
  "chequeOption": "issued",
  "cancelled": "uncancelled",
  "showCashAccount": true
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

list-gl-cash-book-documentsread

List the G/L > Cash Book Entry document grid.

Full payload schema: /v1/schema/commands/list-gl-cash-book-documents

Simple Payload Fields

status
optional AutoCount document status
columns
optional comma-separated master columns

Example Payload

{
  "columns": "DocKey,DocNo,DocDate,Description,DealWith,Total,NetTotal,TotalPayment,Cancelled,LastModified"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

list-gl-cash-book-entriesread

List cash book report/inquiry rows grouped by bank/cash account.

Full payload schema: /v1/schema/commands/list-gl-cash-book-entries

Simple Payload Fields

fromDate
YYYY-MM-DD optional
toDate
YYYY-MM-DD optional
accountNo
optional bank/cash account
accountNos
optional comma-separated bank/cash accounts
showTotal
boolean optional
showDebtorDetails
boolean optional
showCreditorDetails
boolean optional
showInLocalCurrency
boolean optional
sortBy
optional AutoCount account sort enum name

Example Payload

{
  "fromDate": "2026-01-01",
  "toDate": "2026-12-31",
  "showTotal": true,
  "showDebtorDetails": false,
  "showCreditorDetails": false,
  "showInLocalCurrency": false
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Bank Reconciliation Bank reconciliation list, detail, uncleared rows, create, update, and delete. 8 commands

Command Native Sections

list-gl-bank-reconciliationsread

List bank reconciliation records.

Full payload schema: /v1/schema/commands/list-gl-bank-reconciliations

Simple Payload Fields

No payload fields required.

Example Payload

{}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount.GL.BankRecon.BankReconCommand.InquireAllMaster.

get-gl-bank-reconciliationread

Get one bank reconciliation with master/detail/reconciliation rows.

Full payload schema: /v1/schema/commands/get-gl-bank-reconciliation

Simple Payload Fields

accNo
required bank/cash account number
reconDate
required YYYY-MM-DD bank statement/reconciliation date

Example Payload

{
  "accNo": "110-0010",
  "reconDate": "2026-06-30"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount.GL.BankRecon.BankReconCommand.View.

list-gl-bank-reconciliation-unclearedread

List uncleared transactions for a bank/cash account.

Full payload schema: /v1/schema/commands/list-gl-bank-reconciliation-uncleared

Simple Payload Fields

accNo
required bank/cash account number
startDate
optional YYYY-MM-DD

Example Payload

{
  "accNo": "110-0010",
  "startDate": "2026-01-01"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount.GL.BankRecon.BankReconCommand.InquireUnclearedData.

validate-gl-bank-reconciliationread

Create a bank reconciliation draft without saving. If selectedBankTransKeys or clearedRows are supplied, the returned draft shows which rows would be ticked.

Full payload schema: /v1/schema/commands/validate-gl-bank-reconciliation

Simple Payload Fields

accNo
required bank/cash GL account number
reconDate
required YYYY-MM-DD bank statement/reconciliation date
actualBalance
required bank statement actual balance for create/update; optional for validate
selectedBankTransKeys
optional array of BankTransKey values from list-gl-bank-reconciliation-uncleared
clearedRows
optional detailed rows with bankTransKey/sourceType/sourceKey/dtlKey/docNo/lineNo
bankStatementNo
optional bank statement/reference number
description
optional reconciliation narration
unselectedBankTransKeys
optional rows to leave unticked when replacing selection
confirmDelete
required true only for delete-gl-bank-reconciliation
reason
optional audit/business reason for update/delete requests

Example Payload

{
  "accNo": "110-0010",
  "reconDate": "2026-06-30",
  "actualBalance": 2900,
  "selectedBankTransKeys": [
    1,
    2
  ],
  "bankStatementNo": "BS-2026-06",
  "description": "June bank reconciliation by API",
  "clearedRows": [
    {
      "bankTransKey": 1,
      "sourceType": "PV",
      "sourceKey": "1001",
      "dtlKey": "1",
      "docNo": "PV-000001",
      "lineNo": 1
    },
    {
      "bankTransKey": 2,
      "sourceType": "OR",
      "sourceKey": "1002",
      "dtlKey": "1",
      "docNo": "OR-000001",
      "lineNo": 1
    }
  ],
  "unselectedBankTransKeys": [],
  "reason": "match bank statement"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master3 fields
  • AccNo string - Bank/cash account number.
  • ReconDate date - Reconciliation date.
  • ActualBalance number - Actual bank balance.
Details2 fields
  • BankTransKey string - Bank reconciliation transaction key.
  • DocNo string - Document number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Validation only; uses BankReconCommand.AddNew and does not call Save. List uncleared rows first, then pass selectedBankTransKeys or clearedRows. The connector fails before saving if a selected row cannot be found.

create-gl-bank-reconciliationwrite

Create and save a bank reconciliation.

Full payload schema: /v1/schema/commands/create-gl-bank-reconciliation

Simple Payload Fields

accNo
required bank/cash GL account number
reconDate
required YYYY-MM-DD bank statement/reconciliation date
actualBalance
required bank statement actual balance for create/update; optional for validate
selectedBankTransKeys
optional array of BankTransKey values from list-gl-bank-reconciliation-uncleared
clearedRows
optional detailed rows with bankTransKey/sourceType/sourceKey/dtlKey/docNo/lineNo
bankStatementNo
optional bank statement/reference number
description
optional reconciliation narration
unselectedBankTransKeys
optional rows to leave unticked when replacing selection
confirmDelete
required true only for delete-gl-bank-reconciliation
reason
optional audit/business reason for update/delete requests

Example Payload

{
  "accNo": "110-0010",
  "reconDate": "2026-06-30",
  "actualBalance": 2900,
  "selectedBankTransKeys": [
    1,
    2
  ],
  "bankStatementNo": "BS-2026-06",
  "description": "June bank reconciliation by API",
  "clearedRows": [
    {
      "bankTransKey": 1,
      "sourceType": "PV",
      "sourceKey": "1001",
      "dtlKey": "1",
      "docNo": "PV-000001",
      "lineNo": 1
    },
    {
      "bankTransKey": 2,
      "sourceType": "OR",
      "sourceKey": "1002",
      "dtlKey": "1",
      "docNo": "OR-000001",
      "lineNo": 1
    }
  ],
  "unselectedBankTransKeys": [],
  "reason": "match bank statement"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master3 fields
  • AccNo string - Bank/cash account number.
  • ReconDate date - Reconciliation date.
  • ActualBalance number - Actual bank balance.
Details2 fields
  • BankTransKey string - Bank reconciliation transaction key.
  • DocNo string - Document number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Uses AutoCount BankReconCommand.AddNew + BankRecon.Save. The connector fails before saving if any selected row is not found. List uncleared rows first, then pass selectedBankTransKeys or clearedRows. The connector fails before saving if a selected row cannot be found.

update-gl-bank-reconciliationwrite

Edit and re-save an existing bank reconciliation.

Full payload schema: /v1/schema/commands/update-gl-bank-reconciliation

Simple Payload Fields

accNo
required bank/cash GL account number
reconDate
required YYYY-MM-DD bank statement/reconciliation date
actualBalance
required bank statement actual balance for create/update; optional for validate
selectedBankTransKeys
optional array of BankTransKey values from list-gl-bank-reconciliation-uncleared
clearedRows
optional detailed rows with bankTransKey/sourceType/sourceKey/dtlKey/docNo/lineNo
bankStatementNo
optional bank statement/reference number
description
optional reconciliation narration
unselectedBankTransKeys
optional rows to leave unticked when replacing selection
confirmDelete
required true only for delete-gl-bank-reconciliation
reason
optional audit/business reason for update/delete requests

Example Payload

{
  "accNo": "110-0010",
  "reconDate": "2026-06-30",
  "actualBalance": 2900,
  "selectedBankTransKeys": [
    1,
    2
  ],
  "bankStatementNo": "BS-2026-06",
  "description": "June bank reconciliation by API",
  "clearedRows": [
    {
      "bankTransKey": 1,
      "sourceType": "PV",
      "sourceKey": "1001",
      "dtlKey": "1",
      "docNo": "PV-000001",
      "lineNo": 1
    },
    {
      "bankTransKey": 2,
      "sourceType": "OR",
      "sourceKey": "1002",
      "dtlKey": "1",
      "docNo": "OR-000001",
      "lineNo": 1
    }
  ],
  "unselectedBankTransKeys": [],
  "reason": "match bank statement"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master3 fields
  • AccNo string - Bank/cash account number.
  • ReconDate date - Reconciliation date.
  • ActualBalance number - Actual bank balance.
Details2 fields
  • BankTransKey string - Bank reconciliation transaction key.
  • DocNo string - Document number.
KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Uses AutoCount BankReconCommand.Edit + BankRecon.Save. The selected row list replaces the saved tick selection. List uncleared rows first, then pass selectedBankTransKeys or clearedRows. The connector fails before saving if a selected row cannot be found.

void-gl-bank-reconciliationwrite

Guarded bank reconciliation void request.

Full payload schema: /v1/schema/commands/void-gl-bank-reconciliation

Simple Payload Fields

accNo
required
reconDate
required YYYY-MM-DD
reason
required

Example Payload

{
  "accNo": "110-0010",
  "reconDate": "2026-06-30",
  "reason": "reverse reconciliation"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns voidBlocked; no safe Bank Recon void path has been proven.

delete-gl-bank-reconciliationwrite

Delete a bank reconciliation.

Full payload schema: /v1/schema/commands/delete-gl-bank-reconciliation

Simple Payload Fields

accNo
required
reconDate
required YYYY-MM-DD
confirmDelete
required true

Example Payload

{
  "accNo": "110-0010",
  "reconDate": "2026-06-30",
  "confirmDelete": true
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Uses AutoCount BankReconCommand.Delete. confirmDelete=true is required.

Reports AutoCount report templates, PDF exports, statements, and HTML reports. 15 commands

Command Native Sections

sales-invoice-autocount-pdfreport

Legacy sales invoice PDF/export command. Prefer sales-document-autocount-pdf for new integrations.

Full payload schema: /v1/schema/commands/sales-invoice-autocount-pdf

Simple Payload Fields

docNo
required sales invoice document number
out
optional local connector output path

Example Payload

{
  "docNo": "IV-000001"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master6 fields
  • Document string - Document/report family.
  • DocNo string - Document number.
  • DocKey number - Document key.
  • ReportType string - AutoCount report type.
  • FromDate date - From date.
  • ToDate date - To date.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • ReportName string - AutoCount report template name.
  • Out string - Local output path.

Notes: Compatibility command kept for older integrations. Connector 2026.09.11.01 updates native PrintCount after verified PDF generation; Sales/Purchase Edit permission is required. Returns printCountBefore, printCountAfter and printCountVerified. Invoice and purchase invoice tested; other templates require site verification. Retry with the SAME commandId; interrupted output requires manual reconciliation, not a fresh ID. GL/AR/AP/Stock/statement report counting is unchanged.

debtor-aging-reportreport

Read native debtor aging tables at a cutoff date.

Full payload schema: /v1/schema/commands/debtor-aging-report

Simple Payload Fields

asOfDate
optional YYYY-MM-DD cutoff date; default connector today; aliases reportDate/toDate, not a date range
debtorCode
optional single debtor code; omit for all debtors; explicit blank is rejected
currencyMode
optional AccountCurrency | LocalCurrencyByDocument; default AccountCurrency
includeZeroBalance
optional boolean; default false
includeFutureDoc
optional boolean; default false
showGroupCompany
optional boolean; default false
showSubCompany
optional boolean; default false
withDetails
optional boolean; default true
withPDCheque
optional boolean; default false
withSalesAnalysis
optional boolean; default false
maxRows
optional integer rows per table; default -1 for all rows, 0 for metadata only

Example Payload

{
  "asOfDate": "2026-09-30",
  "debtorCode": "300-A001",
  "currencyMode": "AccountCurrency",
  "withDetails": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Requires local-mvp-2026.09.28.04 or later installed on the selected connector; publishing the download does not install it. native DebtorAging.Inquire with native report data. asOfDate is a cutoff, not a fromDate/toDate range; fromDate/startDate and conflicting aliases are rejected. No user-defined exchange rates. Bucket labels come from Report Option AgingWord0..23 and the account-book AgingFormat2, never assumed 30-day periods. Native implementation/template availability and account-book acceptance are separate from schema discovery. Master rows remain in top-level data; tables[].data carries all serialized tables with columns and row counts. maxRows limits each table; artifacts cannot restore excluded rows. Large service results use result-json-gzip (.json.gz, application/octet-stream); download the authenticated artifact and decompress locally. Direct JSON results may use bounded previews with a full JSON artifact.

debtor-aging-autocount-pdfreport

Generate a native debtor aging PDF at a cutoff date.

Full payload schema: /v1/schema/commands/debtor-aging-autocount-pdf

Simple Payload Fields

asOfDate
optional YYYY-MM-DD cutoff date; default connector today; aliases reportDate/toDate, not a date range
debtorCode
optional single debtor code; omit for all debtors; explicit blank is rejected
currencyMode
optional AccountCurrency | LocalCurrencyByDocument; default AccountCurrency
includeZeroBalance
optional boolean; default false
includeFutureDoc
optional boolean; default false
showGroupCompany
optional boolean; default false
showSubCompany
optional boolean; default false
withDetails
optional boolean; default true
withPDCheque
optional boolean; default false
withSalesAnalysis
optional boolean; default false
reportName
optional exact installed Debtor Aging report template; discover with list-autocount-report-templates
out
optional local connector PDF path; omit for cloud use

Example Payload

{
  "asOfDate": "2026-09-30",
  "debtorCode": "300-A001",
  "currencyMode": "AccountCurrency",
  "withDetails": true
}

Sections: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Requires local-mvp-2026.09.28.04 or later installed on the selected connector; publishing the download does not install it. native DebtorAging.Inquire with native report data. asOfDate is a cutoff, not a fromDate/toDate range; fromDate/startDate and conflicting aliases are rejected. No user-defined exchange rates. Bucket labels come from Report Option AgingWord0..23 and the account-book AgingFormat2, never assumed 30-day periods. Native implementation/template availability and account-book acceptance are separate from schema discovery. Exports an installed compatible Debtor Aging template; use result.artifactUrl with the same tenant key. A statement PDF is not a standalone aging report.

list-autocount-report-templatesread

List AutoCount report templates available in this account book.

Full payload schema: /v1/schema/commands/list-autocount-report-templates

Simple Payload Fields

document
optional friendly document/module filter such as statement, sales-invoice, purchase-invoice, stock-adjustment, ar-payment, payment-voucher, journal-entry
reportType
optional exact AutoCount ReportType value when known
reportTypeLike
optional partial AutoCount ReportType search text, for example Statement
maxRows
optional maximum rows to return; default 500

Example Payload

{
  "document": "statement",
  "maxRows": 200
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master6 fields
  • Document string - Document/report family.
  • DocNo string - Document number.
  • DocKey number - Document key.
  • ReportType string - AutoCount report type.
  • FromDate date - From date.
  • ToDate date - To date.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • ReportName string - AutoCount report template name.
  • Out string - Local output path.

Notes: Use this first when a human wants to choose the same report layout they see in AutoCount. Then send the selected ReportName as reportName to the PDF/report command. Lists report templates from AutoCount DefaultReport and Report tables. Pick a ReportName from the result and pass it as reportName to AutoCount PDF/report commands.

debtor-statement-reportread

Read AutoCount debtor statement data.

Full payload schema: /v1/schema/commands/debtor-statement-report

Simple Payload Fields

debtorCode
optional debtor/customer account code; omit to include all debtors
fromDate
optional YYYY-MM-DD start date
toDate
optional YYYY-MM-DD end date; default today
statementType
optional DebtorDefault | OpenItemOnly | BalanceBF
zeroBalanceMethod
optional Exclude | Include | IncludeWithActiveTransactionOnly
showPaidTransaction
optional boolean; default true
showGroupCompany
optional boolean; default true
showSubCompany
optional boolean; default true
showInLocalCurrency
optional boolean; default false
includeZeroAmountTransaction
optional boolean; default true
normalStatement
optional boolean; default true
maxRows
optional integer rows per table; default -1 for all rows, 0 for metadata only

Example Payload

{
  "debtorCode": "300-A001",
  "fromDate": "2026-01-01",
  "toDate": "2026-12-31",
  "statementType": "DebtorDefault",
  "zeroBalanceMethod": "IncludeWithActiveTransactionOnly",
  "showPaidTransaction": true
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master6 fields
  • Document string - Document/report family.
  • DocNo string - Document number.
  • DocKey number - Document key.
  • ReportType string - AutoCount report type.
  • FromDate date - From date.
  • ToDate date - To date.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • ReportName string - AutoCount report template name.
  • Out string - Local output path.

Notes: Uses AutoCount DebtorStatement.Inquire and returns the real statement DataSet tables. This is data output, not a PDF. Requires local-mvp-2026.09.28.04 or later installed on the selected connector; publishing the download does not install it. native statement inquiry adds tables[].data with per-table columns, rows, returnedRows and truncated, preserving legacy top-level data. maxRows limits each table; an artifact cannot recover rows omitted by that limit. Native aging headings and currencies must be retained, not inferred. Large service results use result-json-gzip artifacts (.json.gz, application/octet-stream): download with the same tenant key, decompress locally, then parse the full JSON. Direct JSON results may instead have bounded previews and a full JSON artifact. Cloud performs no gzip decompression. Use arap-statement-autocount-pdf for an official layout; schema availability is not account-book or deployment acceptance.

creditor-statement-reportread

Read AutoCount creditor statement data.

Full payload schema: /v1/schema/commands/creditor-statement-report

Simple Payload Fields

creditorCode
optional supplier account code; omit to include all creditors
fromDate
optional YYYY-MM-DD start date
toDate
optional YYYY-MM-DD end date; default today
statementType
optional CreditorDefault | OpenItemOnly | BalanceBF
zeroBalanceMethod
optional Exclude | Include | IncludeWithActiveTransactionOnly
showPaidTransaction
optional boolean; default true
showGroupCompany
optional boolean; default true
showSubCompany
optional boolean; default true
showInLocalCurrency
optional boolean; default false
includeZeroAmountTransaction
optional boolean; default true
normalStatement
optional boolean; default true
maxRows
optional integer rows per table; default -1 for all rows, 0 for metadata only

Example Payload

{
  "creditorCode": "400-S001",
  "fromDate": "2026-01-01",
  "toDate": "2026-12-31",
  "statementType": "CreditorDefault",
  "zeroBalanceMethod": "IncludeWithActiveTransactionOnly",
  "showPaidTransaction": true
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master6 fields
  • Document string - Document/report family.
  • DocNo string - Document number.
  • DocKey number - Document key.
  • ReportType string - AutoCount report type.
  • FromDate date - From date.
  • ToDate date - To date.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • ReportName string - AutoCount report template name.
  • Out string - Local output path.

Notes: Uses AutoCount CreditorStatement.Inquire and returns the real statement DataSet tables. This is data output, not a PDF. Requires local-mvp-2026.09.28.04 or later installed on the selected connector; publishing the download does not install it. native statement inquiry adds tables[].data with per-table columns, rows, returnedRows and truncated, preserving legacy top-level data. maxRows limits each table; an artifact cannot recover rows omitted by that limit. Large service results use result-json-gzip artifacts (.json.gz, application/octet-stream): download with the same tenant key and decompress locally before parsing. Direct JSON results may instead have bounded previews and a full JSON artifact. Native permissions/templates and account-book acceptance remain separate from schema availability.

statement-report-htmlreport

Export a human-readable debtor or creditor statement HTML report.

Full payload schema: /v1/schema/commands/statement-report-html

Simple Payload Fields

document
debtor-statement | creditor-statement
debtorCode
optional debtor/customer account code when document is debtor-statement; omit to include all
creditorCode
optional supplier account code when document is creditor-statement; omit to include all
fromDate
optional YYYY-MM-DD start date
toDate
optional YYYY-MM-DD end date; default today
maxRows
optional integer transaction rows rendered per account; default 2000, -1 or 0 for all rows (legacy HTML behavior)
out
optional local connector output path ending with .html
statementType
optional DebtorDefault/CreditorDefault | OpenItemOnly | BalanceBF
zeroBalanceMethod
optional Exclude | Include | IncludeWithActiveTransactionOnly
showPaidTransaction
optional boolean; default true
showGroupCompany
optional boolean; default true
showSubCompany
optional boolean; default true
showInLocalCurrency
optional boolean; must remain false for the current HTML renderer
includeZeroAmountTransaction
optional boolean; default true
normalStatement
optional boolean; default true

Example Payload

{
  "document": "debtor-statement",
  "debtorCode": "300-A001",
  "fromDate": "2026-01-01",
  "toDate": "2026-12-31",
  "maxRows": 2000
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master6 fields
  • Document string - Document/report family.
  • DocNo string - Document number.
  • DocKey number - Document key.
  • ReportType string - AutoCount report type.
  • FromDate date - From date.
  • ToDate date - To date.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • ReportName string - AutoCount report template name.
  • Out string - Local output path.

Notes: Statement HTML report uses real AutoCount SDK statement data. For official AutoCount PDF layout, use arap-statement-autocount-pdf. Requires local-mvp-2026.09.28.04 or later installed on the selected connector; publishing the download does not install it. HTML groups single/all-account statements by native account ownership and currency, with per-account totals and aging headings. Ambiguous ownership, mixed currencies and local-currency rendering are rejected; use native PDF or JSON for local-currency data. maxRows applies per account and displayed totals include all its rows. out is a connector-local path, not a public URL; this schema does not promise an HTML artifact. Use arap-statement-autocount-pdf for an official layout.

arap-statement-autocount-pdfreport

Generate official AutoCount debtor or creditor statement PDF.

Full payload schema: /v1/schema/commands/arap-statement-autocount-pdf

Simple Payload Fields

document
debtor-statement | creditor-statement
debtorCode
optional when document is debtor-statement
creditorCode
optional when document is creditor-statement
fromDate
optional YYYY-MM-DD start date
toDate
optional YYYY-MM-DD end date
reportName
optional exact AutoCount statement template, for example Debtor Statement - 12 Months or Creditor Statement - 6 Months
out
optional local connector output path ending with .pdf
statementType
optional DebtorDefault/CreditorDefault | OpenItemOnly | BalanceBF
zeroBalanceMethod
optional Exclude | Include | IncludeWithActiveTransactionOnly
showPaidTransaction
optional boolean; default true
showGroupCompany
optional boolean; default true
showSubCompany
optional boolean; default true
showInLocalCurrency
optional boolean; default false
includeZeroAmountTransaction
optional boolean; default true
normalStatement
optional boolean; default true

Example Payload

{
  "document": "debtor-statement",
  "debtorCode": "300-A001",
  "fromDate": "2026-01-01",
  "toDate": "2026-12-31",
  "reportName": "Debtor Statement - 12 Months"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master6 fields
  • Document string - Document/report family.
  • DocNo string - Document number.
  • DocKey number - Document key.
  • ReportType string - AutoCount report type.
  • FromDate date - From date.
  • ToDate date - To date.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • ReportName string - AutoCount report template name.
  • Out string - Local output path.

Notes: Supported for debtor and creditor statements. Uses AutoCount statement report templates and returns a downloadable PDF artifact. Requires local-mvp-2026.09.28.04 or later installed on the selected connector; publishing the download does not install it. Statement options align with the JSON inquiry. Generate an official AutoCount debtor or creditor statement PDF using an available compatible native template; schema availability does not prove account-book acceptance. Download result.artifactUrl or GET /v1/commands/{commandId}/artifact with the same tenant key. No email, physical printing or standalone aging export is implied.

sales-document-autocount-pdfreport

Generate an AutoCount-looking sales document PDF/report.

Full payload schema: /v1/schema/commands/sales-document-autocount-pdf

Simple Payload Fields

document
invoice | sales-order | delivery-order | cash-sale | quotation | advanced-quotation | sales-credit-note | sales-debit-note
docNo
required
reportName
optional exact AutoCount report template; use list-autocount-report-templates to discover names
reportTimeoutSeconds
optional requested timeout metadata; AutoCount may still use an internal SQL timeout if the DLL exposes no timeout property
out
optional local output path

Example Payload

{
  "document": "invoice",
  "docNo": "IV-000001",
  "reportName": "Invoice"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master6 fields
  • Document string - Document/report family.
  • DocNo string - Document number.
  • DocKey number - Document key.
  • ReportType string - AutoCount report type.
  • FromDate date - From date.
  • ToDate date - To date.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • ReportName string - AutoCount report template name.
  • Out string - Local output path.

Notes: Connector 2026.09.11.01 updates native PrintCount after verified PDF generation; Sales/Purchase Edit permission is required. Returns printCountBefore, printCountAfter and printCountVerified. Invoice and purchase invoice tested; other templates require site verification. Retry with the SAME commandId; interrupted output requires manual reconciliation, not a fresh ID. GL/AR/AP/Stock/statement report counting is unchanged.

diagnose-sales-document-pdfread

Diagnose sales document PDF export without creating a PDF.

Full payload schema: /v1/schema/commands/diagnose-sales-document-pdf

Simple Payload Fields

document
invoice | sales-order | delivery-order | cash-sale | quotation | advanced-quotation | sales-credit-note | sales-debit-note
docNo
required
reportTimeoutSeconds
optional requested timeout metadata

Example Payload

{
  "document": "invoice",
  "docNo": "IV-000001"
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Read-only. Loads the same AutoCount report data source and returns dataSourceLoadMs, reportDataTables, sourceDocumentCounts, and timeoutPropertiesApplied. Use this when PDF export times out, especially invoices transferred from multiple Delivery Orders.

purchase-document-autocount-pdfreport

Generate an AutoCount-looking purchase document PDF/report.

Full payload schema: /v1/schema/commands/purchase-document-autocount-pdf

Simple Payload Fields

document
purchase-order | goods-received-note | purchase-invoice | purchase-return | cash-purchase
docNo
required
reportName
optional AutoCount report template
out
optional local connector output path

Example Payload

{
  "document": "purchase-invoice",
  "docNo": "PI-000001",
  "reportName": "Purchase Invoice"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master6 fields
  • Document string - Document/report family.
  • DocNo string - Document number.
  • DocKey number - Document key.
  • ReportType string - AutoCount report type.
  • FromDate date - From date.
  • ToDate date - To date.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • ReportName string - AutoCount report template name.
  • Out string - Local output path.

Notes: Uses AutoCount purchase report templates for PO, GRN, purchase invoice, purchase return, and cash purchase. Connector 2026.09.11.01 updates native PrintCount after verified PDF generation; Sales/Purchase Edit permission is required. Returns printCountBefore, printCountAfter and printCountVerified. Invoice and purchase invoice tested; other templates require site verification. Retry with the SAME commandId; interrupted output requires manual reconciliation, not a fresh ID. GL/AR/AP/Stock/statement report counting is unchanged.

stock-document-autocount-pdfreport

Generate an AutoCount-looking stock document PDF/report.

Full payload schema: /v1/schema/commands/stock-document-autocount-pdf

Simple Payload Fields

document
stock-adjustment | stock-receive | stock-issue | stock-transfer | stock-uom-conversion | stock-take | stock-write-off | stock-update-cost | stock-assembly | stock-assembly-order | stock-disassembly
docNo
required
reportName
optional AutoCount report template
out
optional local connector output path

Example Payload

{
  "document": "stock-adjustment",
  "docNo": "SA-000001",
  "reportName": "Stock Adjustment"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master6 fields
  • Document string - Document/report family.
  • DocNo string - Document number.
  • DocKey number - Document key.
  • ReportType string - AutoCount report type.
  • FromDate date - From date.
  • ToDate date - To date.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • ReportName string - AutoCount report template name.
  • Out string - Local output path.

Notes: Uses AutoCount stock and manufacturing stock report templates.

arap-document-autocount-pdfreport

Generate AutoCount PDFs for AR/AP invoice, payment, deposit, refund, credit note, debit note, and contra.

Full payload schema: /v1/schema/commands/arap-document-autocount-pdf

Simple Payload Fields

document
ar-invoice | ap-invoice | ar-payment | ap-payment | ar-deposit | ap-deposit | ar-refund | ap-refund | ar-credit-note | ap-credit-note | ar-debit-note | ap-debit-note | arap-contra
docNo
required unless docKey is supplied
docKey
optional numeric document key
reportName
optional AutoCount report template
out
optional local connector output path

Example Payload

{
  "document": "ar-payment",
  "docNo": "OR-000001"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master6 fields
  • Document string - Document/report family.
  • DocNo string - Document number.
  • DocKey number - Document key.
  • ReportType string - AutoCount report type.
  • FromDate date - From date.
  • ToDate date - To date.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • ReportName string - AutoCount report template name.
  • Out string - Local output path.

Notes: Uses AutoCount report templates. Invoice/payment/deposit/refund use single-document listing data sources; credit/debit note and contra use document data sources.

gl-document-autocount-pdfreport

Generate AutoCount-looking GL cash book voucher and journal voucher PDFs.

Full payload schema: /v1/schema/commands/gl-document-autocount-pdf

Simple Payload Fields

document
payment-voucher | official-receipt | cash-book | journal-entry
docNo
required unless docKey is supplied
docKey
optional numeric document key
reportName
optional AutoCount report template
out
optional local connector output path

Example Payload

{
  "document": "payment-voucher",
  "docNo": "PV-000001",
  "reportName": "PV - Half Page"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master6 fields
  • Document string - Document/report family.
  • DocNo string - Document number.
  • DocKey number - Document key.
  • ReportType string - AutoCount report type.
  • FromDate date - From date.
  • ToDate date - To date.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • ReportName string - AutoCount report template name.
  • Out string - Local output path.

Notes: payment-voucher, official-receipt, and journal-entry are supported with AutoCount report templates.

sales-report-htmlreport

Generate readable sales report HTML.

Full payload schema: /v1/schema/commands/sales-report-html

Simple Payload Fields

document
invoice | cash-sale | sales-order | quotation
out
optional local output path

Example Payload

{
  "document": "invoice"
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master6 fields
  • Document string - Document/report family.
  • DocNo string - Document number.
  • DocKey number - Document key.
  • ReportType string - AutoCount report type.
  • FromDate date - From date.
  • ToDate date - To date.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options2 fields
  • ReportName string - AutoCount report template name.
  • Out string - Local output path.
e-Invoice e-Invoice settings, status, consolidated/self-billed reads, and guarded e-Invoice actions. 16 commands

Command Native Sections

einvoice.setting.getread

Read local AutoCount e-Invoice settings summary.

Full payload schema: /v1/schema/commands/einvoice.setting.get

Simple Payload Fields

fromDate
optional YYYY-MM-DD start date for inquiry/listing
toDate
optional YYYY-MM-DD end date for inquiry/listing
status
optional e-Invoice status filter such as all, pending, submitted, valid, invalid, failed, cancelled
document
optional document family such as invoice, cash-sale, credit-note, debit-note, refund-note, consolidated, self-billed
docType
optional AutoCount document type filter
docNo
optional AutoCount document number filter
creditorCode
optional supplier code filter
debtorCode
optional customer code filter
supplierItemCode
optional supplier item code filter
itemCode
optional AutoCount item code filter
handlerName
optional AutoCount e-Invoice handler name
includeRaw
optional boolean to include raw/source fields where the connector returns them
maxRows
optional row limit; maxRows: 0 means return all rows

Example Payload

{
  "fromDate": "2026-01-01",
  "toDate": "2026-12-31",
  "status": "all",
  "document": "all",
  "docType": "IV",
  "docNo": "IV-000001",
  "creditorCode": "400-S001",
  "debtorCode": "300-A001",
  "supplierItemCode": "SUP-ITEM",
  "itemCode": "ITEM001",
  "handlerName": "AutoCount",
  "includeRaw": false,
  "maxRows": 0
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master7 fields
  • FromDate date - From date.
  • ToDate date - To date.
  • DocNo string - Document number.
  • SubmissionUID string - LHDN submission id.
  • UUID string - e-Invoice UUID.
  • SupplierItemCode string - Supplier item code.
  • ItemCode string - AutoCount item code.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Full human payload reference for einvoice.setting.get. Unsupported filters are ignored safely by read-only connector handlers.

einvoice.status.listread

List local AutoCount e-Invoice submission status.

Full payload schema: /v1/schema/commands/einvoice.status.list

Simple Payload Fields

fromDate
optional YYYY-MM-DD start date for inquiry/listing
toDate
optional YYYY-MM-DD end date for inquiry/listing
status
optional e-Invoice status filter such as all, pending, submitted, valid, invalid, failed, cancelled
document
optional document family such as invoice, cash-sale, credit-note, debit-note, refund-note, consolidated, self-billed
docType
optional AutoCount document type filter
docNo
optional AutoCount document number filter
creditorCode
optional supplier code filter
debtorCode
optional customer code filter
supplierItemCode
optional supplier item code filter
itemCode
optional AutoCount item code filter
handlerName
optional AutoCount e-Invoice handler name
includeRaw
optional boolean to include raw/source fields where the connector returns them
maxRows
optional row limit; maxRows: 0 means return all rows

Example Payload

{
  "fromDate": "2026-01-01",
  "toDate": "2026-12-31",
  "status": "all",
  "document": "all",
  "docType": "IV",
  "docNo": "IV-000001",
  "creditorCode": "400-S001",
  "debtorCode": "300-A001",
  "supplierItemCode": "SUP-ITEM",
  "itemCode": "ITEM001",
  "handlerName": "AutoCount",
  "includeRaw": false,
  "maxRows": 0
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master7 fields
  • FromDate date - From date.
  • ToDate date - To date.
  • DocNo string - Document number.
  • SubmissionUID string - LHDN submission id.
  • UUID string - e-Invoice UUID.
  • SupplierItemCode string - Supplier item code.
  • ItemCode string - AutoCount item code.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Full human payload reference for einvoice.status.list. Unsupported filters are ignored safely by read-only connector handlers.

einvoice.consolidated.listread

List consolidated e-Invoice inquiry rows from AutoCount handlers.

Full payload schema: /v1/schema/commands/einvoice.consolidated.list

Simple Payload Fields

fromDate
optional YYYY-MM-DD start date for inquiry/listing
toDate
optional YYYY-MM-DD end date for inquiry/listing
docType
optional AutoCount document type filter
handlerName
optional AutoCount e-Invoice handler name
status
optional e-Invoice status filter such as all, pending, submitted, valid, invalid, failed, cancelled
document
optional document family such as invoice, cash-sale, credit-note, debit-note, refund-note, consolidated, self-billed
docNo
optional AutoCount document number filter
creditorCode
optional supplier code filter
debtorCode
optional customer code filter
supplierItemCode
optional supplier item code filter
itemCode
optional AutoCount item code filter
includeRaw
optional boolean to include raw/source fields where the connector returns them
maxRows
optional row limit; maxRows: 0 means return all rows

Example Payload

{
  "fromDate": "2026-01-01",
  "toDate": "2026-12-31",
  "status": "all",
  "document": "all",
  "docType": "IV",
  "docNo": "IV-000001",
  "creditorCode": "400-S001",
  "debtorCode": "300-A001",
  "supplierItemCode": "SUP-ITEM",
  "itemCode": "ITEM001",
  "handlerName": "AutoCount",
  "includeRaw": false,
  "maxRows": 0
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master7 fields
  • FromDate date - From date.
  • ToDate date - To date.
  • DocNo string - Document number.
  • SubmissionUID string - LHDN submission id.
  • UUID string - e-Invoice UUID.
  • SupplierItemCode string - Supplier item code.
  • ItemCode string - AutoCount item code.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Full human payload reference for einvoice.consolidated.list. Unsupported filters are ignored safely by read-only connector handlers.

einvoice.self-billed.listread

List local self-billed e-Invoice records when the account book has the table.

Full payload schema: /v1/schema/commands/einvoice.self-billed.list

Simple Payload Fields

fromDate
optional YYYY-MM-DD start date for inquiry/listing
toDate
optional YYYY-MM-DD end date for inquiry/listing
maxRows
optional row limit; maxRows: 0 means return all rows
status
optional e-Invoice status filter such as all, pending, submitted, valid, invalid, failed, cancelled
document
optional document family such as invoice, cash-sale, credit-note, debit-note, refund-note, consolidated, self-billed
docType
optional AutoCount document type filter
docNo
optional AutoCount document number filter
creditorCode
optional supplier code filter
debtorCode
optional customer code filter
supplierItemCode
optional supplier item code filter
itemCode
optional AutoCount item code filter
handlerName
optional AutoCount e-Invoice handler name
includeRaw
optional boolean to include raw/source fields where the connector returns them

Example Payload

{
  "maxRows": 0,
  "fromDate": "2026-01-01",
  "toDate": "2026-12-31",
  "status": "all",
  "document": "all",
  "docType": "IV",
  "docNo": "IV-000001",
  "creditorCode": "400-S001",
  "debtorCode": "300-A001",
  "supplierItemCode": "SUP-ITEM",
  "itemCode": "ITEM001",
  "handlerName": "AutoCount",
  "includeRaw": false
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master7 fields
  • FromDate date - From date.
  • ToDate date - To date.
  • DocNo string - Document number.
  • SubmissionUID string - LHDN submission id.
  • UUID string - e-Invoice UUID.
  • SupplierItemCode string - Supplier item code.
  • ItemCode string - AutoCount item code.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Full human payload reference for einvoice.self-billed.list. Unsupported filters are ignored safely by read-only connector handlers.

einvoice.supplier-item-mapping.listread

List local supplier item mapping records when the account book has the table.

Full payload schema: /v1/schema/commands/einvoice.supplier-item-mapping.list

Simple Payload Fields

maxRows
optional row limit; maxRows: 0 means return all rows
fromDate
optional YYYY-MM-DD start date for inquiry/listing
toDate
optional YYYY-MM-DD end date for inquiry/listing
status
optional e-Invoice status filter such as all, pending, submitted, valid, invalid, failed, cancelled
document
optional document family such as invoice, cash-sale, credit-note, debit-note, refund-note, consolidated, self-billed
docType
optional AutoCount document type filter
docNo
optional AutoCount document number filter
creditorCode
optional supplier code filter
debtorCode
optional customer code filter
supplierItemCode
optional supplier item code filter
itemCode
optional AutoCount item code filter
handlerName
optional AutoCount e-Invoice handler name
includeRaw
optional boolean to include raw/source fields where the connector returns them

Example Payload

{
  "maxRows": 0,
  "fromDate": "2026-01-01",
  "toDate": "2026-12-31",
  "status": "all",
  "document": "all",
  "docType": "IV",
  "docNo": "IV-000001",
  "creditorCode": "400-S001",
  "debtorCode": "300-A001",
  "supplierItemCode": "SUP-ITEM",
  "itemCode": "ITEM001",
  "handlerName": "AutoCount",
  "includeRaw": false
}

Sections: Master, Details, KnockOffDetails, TransferDetails, PaymentDetails, Options

Master7 fields
  • FromDate date - From date.
  • ToDate date - To date.
  • DocNo string - Document number.
  • SubmissionUID string - LHDN submission id.
  • UUID string - e-Invoice UUID.
  • SupplierItemCode string - Supplier item code.
  • ItemCode string - AutoCount item code.
Details0 fields

No field names are published for this section yet.

KnockOffDetails0 fields

No field names are published for this section yet.

TransferDetails0 fields

No field names are published for this section yet.

PaymentDetails0 fields

No field names are published for this section yet.

Options0 fields

No field names are published for this section yet.

Notes: Full human payload reference for einvoice.supplier-item-mapping.list. Unsupported filters are ignored safely by read-only connector handlers.

einvoice.status.refreshwrite

Guarded MyInvois/AIP status refresh request.

Full payload schema: /v1/schema/commands/einvoice.status.refresh

Simple Payload Fields

docType
required AutoCount document type, for example IV, CS, CN, DN, RF, PI
docNo
required AutoCount document number where action targets one document
docKey
optional numeric AutoCount document key
documentId
optional MyInvois/AIP document id for import/apply actions
uuid
optional MyInvois UUID
fromDate
optional YYYY-MM-DD start date for list/preview/batch actions
toDate
optional YYYY-MM-DD end date for list/preview/batch actions
creditorCode
optional supplier code for supplier item mapping
supplierItemCode
optional supplier item code
itemCode
optional AutoCount item code
mappingKey
optional mapping row key
reason
optional required reason for cancel/reject actions
payload
optional raw integration payload where a future compliance command requires it

Example Payload

{
  "docType": "IV",
  "docNo": "IV-000001",
  "docKey": "424501",
  "documentId": "AIP-document-id",
  "uuid": "myinvois-uuid",
  "fromDate": "2026-01-01",
  "toDate": "2026-01-31",
  "creditorCode": "400-S001",
  "supplierItemCode": "SUP-ITEM",
  "itemCode": "ITEM001",
  "mappingKey": "1",
  "reason": "einvoice.status.refresh by API",
  "payload": {
    "source": "api",
    "dryRun": true
  }
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Returns eInvoiceActionBlocked until compliance workflow proof is completed. e-Invoice write/compliance actions are deliberately guarded until the exact MyInvois workflow is proven. The payload shows the full human field reference for future/guarded actions.

einvoice.submitwrite

Guarded e-Invoice submit request.

Full payload schema: /v1/schema/commands/einvoice.submit

Simple Payload Fields

docType
required AutoCount document type, for example IV, CS, CN, DN, RF, PI
docNo
required AutoCount document number where action targets one document
docKey
optional numeric AutoCount document key
documentId
optional MyInvois/AIP document id for import/apply actions
uuid
optional MyInvois UUID
fromDate
optional YYYY-MM-DD start date for list/preview/batch actions
toDate
optional YYYY-MM-DD end date for list/preview/batch actions
creditorCode
optional supplier code for supplier item mapping
supplierItemCode
optional supplier item code
itemCode
optional AutoCount item code
mappingKey
optional mapping row key
reason
optional required reason for cancel/reject actions
payload
optional raw integration payload where a future compliance command requires it

Example Payload

{
  "docType": "IV",
  "docNo": "IV-000001",
  "docKey": "424501",
  "documentId": "AIP-document-id",
  "uuid": "myinvois-uuid",
  "fromDate": "2026-01-01",
  "toDate": "2026-01-31",
  "creditorCode": "400-S001",
  "supplierItemCode": "SUP-ITEM",
  "itemCode": "ITEM001",
  "mappingKey": "1",
  "reason": "einvoice.submit by API",
  "payload": {
    "source": "api",
    "dryRun": true
  }
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Submission affects tax/MyInvois compliance and is blocked until separately proven. e-Invoice write/compliance actions are deliberately guarded until the exact MyInvois workflow is proven. The payload shows the full human field reference for future/guarded actions.

submit-sales-invoice-for-approvalwrite

Move an existing Sales Invoice into AutoCount approval workflow only.

Full payload schema: /v1/schema/commands/submit-sales-invoice-for-approval

Simple Payload Fields

docNo
required existing Sales Invoice DocNo
confirmNoLhdnSubmit
required true; confirms this does not call MyInvois/LHDN submit

Example Payload

{
  "docNo": "I-2608-001",
  "confirmNoLhdnSubmit": true
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Use after create-sales-invoice when the user must review/approve in AutoCount first. Alias: einvoice.sales-invoice.submit-for-approval. It calls AutoCount SaveAsAwaitingApproval, verifies DocStatus, and does not call MyInvois/LHDN submit.

einvoice.cancelwrite

Guarded e-Invoice cancel request.

Full payload schema: /v1/schema/commands/einvoice.cancel

Simple Payload Fields

docType
required AutoCount document type, for example IV, CS, CN, DN, RF, PI
docNo
required AutoCount document number where action targets one document
reason
optional required reason for cancel/reject actions
docKey
optional numeric AutoCount document key
documentId
optional MyInvois/AIP document id for import/apply actions
uuid
optional MyInvois UUID
fromDate
optional YYYY-MM-DD start date for list/preview/batch actions
toDate
optional YYYY-MM-DD end date for list/preview/batch actions
creditorCode
optional supplier code for supplier item mapping
supplierItemCode
optional supplier item code
itemCode
optional AutoCount item code
mappingKey
optional mapping row key
payload
optional raw integration payload where a future compliance command requires it

Example Payload

{
  "docType": "IV",
  "docNo": "IV-000001",
  "reason": "einvoice.cancel by API",
  "docKey": "424501",
  "documentId": "AIP-document-id",
  "uuid": "myinvois-uuid",
  "fromDate": "2026-01-01",
  "toDate": "2026-01-31",
  "creditorCode": "400-S001",
  "supplierItemCode": "SUP-ITEM",
  "itemCode": "ITEM001",
  "mappingKey": "1",
  "payload": {
    "source": "api",
    "dryRun": true
  }
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Cancellation affects tax/MyInvois compliance and is blocked until separately proven. e-Invoice write/compliance actions are deliberately guarded until the exact MyInvois workflow is proven. The payload shows the full human field reference for future/guarded actions.

einvoice.reject-request.syncwrite

Guarded sync for MyInvois reject requests.

Full payload schema: /v1/schema/commands/einvoice.reject-request.sync

Simple Payload Fields

fromDate
optional YYYY-MM-DD start date for list/preview/batch actions
toDate
optional YYYY-MM-DD end date for list/preview/batch actions
docType
required AutoCount document type, for example IV, CS, CN, DN, RF, PI
docNo
required AutoCount document number where action targets one document
docKey
optional numeric AutoCount document key
documentId
optional MyInvois/AIP document id for import/apply actions
uuid
optional MyInvois UUID
creditorCode
optional supplier code for supplier item mapping
supplierItemCode
optional supplier item code
itemCode
optional AutoCount item code
mappingKey
optional mapping row key
reason
optional required reason for cancel/reject actions
payload
optional raw integration payload where a future compliance command requires it

Example Payload

{
  "fromDate": "2026-01-01",
  "toDate": "2026-01-31",
  "docType": "IV",
  "docNo": "IV-000001",
  "docKey": "424501",
  "documentId": "AIP-document-id",
  "uuid": "myinvois-uuid",
  "creditorCode": "400-S001",
  "supplierItemCode": "SUP-ITEM",
  "itemCode": "ITEM001",
  "mappingKey": "1",
  "reason": "einvoice.reject-request.sync by API",
  "payload": {
    "source": "api",
    "dryRun": true
  }
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: External sync is blocked until separately proven. e-Invoice write/compliance actions are deliberately guarded until the exact MyInvois workflow is proven. The payload shows the full human field reference for future/guarded actions.

einvoice.supplier-import.previewwrite

Guarded supplier e-Invoice import preview.

Full payload schema: /v1/schema/commands/einvoice.supplier-import.preview

Simple Payload Fields

fromDate
optional YYYY-MM-DD start date for list/preview/batch actions
toDate
optional YYYY-MM-DD end date for list/preview/batch actions
docType
required AutoCount document type, for example IV, CS, CN, DN, RF, PI
docNo
required AutoCount document number where action targets one document
docKey
optional numeric AutoCount document key
documentId
optional MyInvois/AIP document id for import/apply actions
uuid
optional MyInvois UUID
creditorCode
optional supplier code for supplier item mapping
supplierItemCode
optional supplier item code
itemCode
optional AutoCount item code
mappingKey
optional mapping row key
reason
optional required reason for cancel/reject actions
payload
optional raw integration payload where a future compliance command requires it

Example Payload

{
  "fromDate": "2026-01-01",
  "toDate": "2026-01-31",
  "docType": "IV",
  "docNo": "IV-000001",
  "docKey": "424501",
  "documentId": "AIP-document-id",
  "uuid": "myinvois-uuid",
  "creditorCode": "400-S001",
  "supplierItemCode": "SUP-ITEM",
  "itemCode": "ITEM001",
  "mappingKey": "1",
  "reason": "einvoice.supplier-import.preview by API",
  "payload": {
    "source": "api",
    "dryRun": true
  }
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Supplier portal import is blocked until separately proven. e-Invoice write/compliance actions are deliberately guarded until the exact MyInvois workflow is proven. The payload shows the full human field reference for future/guarded actions.

einvoice.supplier-import.applywrite

Guarded supplier e-Invoice import into AutoCount.

Full payload schema: /v1/schema/commands/einvoice.supplier-import.apply

Simple Payload Fields

documentId
optional MyInvois/AIP document id for import/apply actions
docType
required AutoCount document type, for example IV, CS, CN, DN, RF, PI
docNo
required AutoCount document number where action targets one document
docKey
optional numeric AutoCount document key
uuid
optional MyInvois UUID
fromDate
optional YYYY-MM-DD start date for list/preview/batch actions
toDate
optional YYYY-MM-DD end date for list/preview/batch actions
creditorCode
optional supplier code for supplier item mapping
supplierItemCode
optional supplier item code
itemCode
optional AutoCount item code
mappingKey
optional mapping row key
reason
optional required reason for cancel/reject actions
payload
optional raw integration payload where a future compliance command requires it

Example Payload

{
  "documentId": "AIP-document-id",
  "docType": "IV",
  "docNo": "IV-000001",
  "docKey": "424501",
  "uuid": "myinvois-uuid",
  "fromDate": "2026-01-01",
  "toDate": "2026-01-31",
  "creditorCode": "400-S001",
  "supplierItemCode": "SUP-ITEM",
  "itemCode": "ITEM001",
  "mappingKey": "1",
  "reason": "einvoice.supplier-import.apply by API",
  "payload": {
    "source": "api",
    "dryRun": true
  }
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Import can create accounting records and is blocked until separately proven. e-Invoice write/compliance actions are deliberately guarded until the exact MyInvois workflow is proven. The payload shows the full human field reference for future/guarded actions.

einvoice.self-billed.create-draftwrite

Guarded self-billed e-Invoice draft generation.

Full payload schema: /v1/schema/commands/einvoice.self-billed.create-draft

Simple Payload Fields

sourceDocType
required later
sourceDocNo
required later
docType
required AutoCount document type, for example IV, CS, CN, DN, RF, PI
docNo
required AutoCount document number where action targets one document
docKey
optional numeric AutoCount document key
documentId
optional MyInvois/AIP document id for import/apply actions
uuid
optional MyInvois UUID
fromDate
optional YYYY-MM-DD start date for list/preview/batch actions
toDate
optional YYYY-MM-DD end date for list/preview/batch actions
creditorCode
optional supplier code for supplier item mapping
supplierItemCode
optional supplier item code
itemCode
optional AutoCount item code
mappingKey
optional mapping row key
reason
optional required reason for cancel/reject actions
payload
optional raw integration payload where a future compliance command requires it

Example Payload

{
  "sourceDocType": "PI",
  "sourceDocNo": "PI-000001",
  "docType": "IV",
  "docNo": "IV-000001",
  "docKey": "424501",
  "documentId": "AIP-document-id",
  "uuid": "myinvois-uuid",
  "fromDate": "2026-01-01",
  "toDate": "2026-01-31",
  "creditorCode": "400-S001",
  "supplierItemCode": "SUP-ITEM",
  "itemCode": "ITEM001",
  "mappingKey": "1",
  "reason": "einvoice.self-billed.create-draft by API",
  "payload": {
    "source": "api",
    "dryRun": true
  }
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Draft generation is blocked until separately proven. e-Invoice write/compliance actions are deliberately guarded until the exact MyInvois workflow is proven. The payload shows the full human field reference for future/guarded actions.

einvoice.consolidated.create-draftwrite

Guarded consolidated e-Invoice draft generation.

Full payload schema: /v1/schema/commands/einvoice.consolidated.create-draft

Simple Payload Fields

fromDate
optional YYYY-MM-DD start date for list/preview/batch actions
toDate
optional YYYY-MM-DD end date for list/preview/batch actions
docType
required AutoCount document type, for example IV, CS, CN, DN, RF, PI
docNo
required AutoCount document number where action targets one document
docKey
optional numeric AutoCount document key
documentId
optional MyInvois/AIP document id for import/apply actions
uuid
optional MyInvois UUID
creditorCode
optional supplier code for supplier item mapping
supplierItemCode
optional supplier item code
itemCode
optional AutoCount item code
mappingKey
optional mapping row key
reason
optional required reason for cancel/reject actions
payload
optional raw integration payload where a future compliance command requires it

Example Payload

{
  "fromDate": "2026-01-01",
  "toDate": "2026-01-31",
  "docType": "IV",
  "docNo": "IV-000001",
  "docKey": "424501",
  "documentId": "AIP-document-id",
  "uuid": "myinvois-uuid",
  "creditorCode": "400-S001",
  "supplierItemCode": "SUP-ITEM",
  "itemCode": "ITEM001",
  "mappingKey": "1",
  "reason": "einvoice.consolidated.create-draft by API",
  "payload": {
    "source": "api",
    "dryRun": true
  }
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Draft generation is blocked until separately proven. e-Invoice write/compliance actions are deliberately guarded until the exact MyInvois workflow is proven. The payload shows the full human field reference for future/guarded actions.

einvoice.supplier-item-mapping.createwrite

Guarded supplier item mapping create request.

Full payload schema: /v1/schema/commands/einvoice.supplier-item-mapping.create

Simple Payload Fields

creditorCode
optional supplier code for supplier item mapping
supplierItemCode
optional supplier item code
itemCode
optional AutoCount item code
docType
required AutoCount document type, for example IV, CS, CN, DN, RF, PI
docNo
required AutoCount document number where action targets one document
docKey
optional numeric AutoCount document key
documentId
optional MyInvois/AIP document id for import/apply actions
uuid
optional MyInvois UUID
fromDate
optional YYYY-MM-DD start date for list/preview/batch actions
toDate
optional YYYY-MM-DD end date for list/preview/batch actions
mappingKey
optional mapping row key
reason
optional required reason for cancel/reject actions
payload
optional raw integration payload where a future compliance command requires it

Example Payload

{
  "creditorCode": "400-S001",
  "supplierItemCode": "SUP-ITEM",
  "itemCode": "ITEM001",
  "docType": "IV",
  "docNo": "IV-000001",
  "docKey": "424501",
  "documentId": "AIP-document-id",
  "uuid": "myinvois-uuid",
  "fromDate": "2026-01-01",
  "toDate": "2026-01-31",
  "mappingKey": "1",
  "reason": "einvoice.supplier-item-mapping.create by API",
  "payload": {
    "source": "api",
    "dryRun": true
  }
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Write is blocked until the exact AutoCount mapping SDK/table write path is proven. e-Invoice write/compliance actions are deliberately guarded until the exact MyInvois workflow is proven. The payload shows the full human field reference for future/guarded actions.

einvoice.supplier-item-mapping.updatewrite

Guarded supplier item mapping update request.

Full payload schema: /v1/schema/commands/einvoice.supplier-item-mapping.update

Simple Payload Fields

mappingKey
optional mapping row key
itemCode
optional AutoCount item code
docType
required AutoCount document type, for example IV, CS, CN, DN, RF, PI
docNo
required AutoCount document number where action targets one document
docKey
optional numeric AutoCount document key
documentId
optional MyInvois/AIP document id for import/apply actions
uuid
optional MyInvois UUID
fromDate
optional YYYY-MM-DD start date for list/preview/batch actions
toDate
optional YYYY-MM-DD end date for list/preview/batch actions
creditorCode
optional supplier code for supplier item mapping
supplierItemCode
optional supplier item code
reason
optional required reason for cancel/reject actions
payload
optional raw integration payload where a future compliance command requires it

Example Payload

{
  "mappingKey": "1",
  "itemCode": "ITEM001",
  "docType": "IV",
  "docNo": "IV-000001",
  "docKey": "424501",
  "documentId": "AIP-document-id",
  "uuid": "myinvois-uuid",
  "fromDate": "2026-01-01",
  "toDate": "2026-01-31",
  "creditorCode": "400-S001",
  "supplierItemCode": "SUP-ITEM",
  "reason": "einvoice.supplier-item-mapping.update by API",
  "payload": {
    "source": "api",
    "dryRun": true
  }
}

Native payload: Simple JSON only

This command uses the standard simple JSON payload documented in the command reference.

Notes: Write is blocked until the exact AutoCount mapping SDK/table write path is proven. e-Invoice write/compliance actions are deliberately guarded until the exact MyInvois workflow is proven. The payload shows the full human field reference for future/guarded actions.

Common Examples

List sales invoices

{
  "commandId": "sales-invoices-001",
  "connectorId": "customer-main",
  "companyId": "macsofttest",
  "type": "list-sales-invoices",
  "payload": {}
}

List stock items

{
  "commandId": "stock-items-001",
  "connectorId": "customer-main",
  "companyId": "macsofttest",
  "type": "read-items",
  "payload": {
    "limit": 50,
    "search": "item code or keyword"
  }
}

Stock balance

{
  "commandId": "stock-balance-001",
  "connectorId": "customer-main",
  "companyId": "macsofttest",
  "type": "stock-balance",
  "payload": {}
}

Exact command types depend on the connector module coverage installed for that customer. Start with a safe read command, confirm results, then create documents only with unique commandId values and the customer account book intentionally connected.

AI tools may also send common aliases such as sales.invoice.count or sales.invoice.list; the cloud normalizes them to list-sales-invoices before the local connector receives the command.

Need the full JSON list? Open OpenAPI JSON and read x-autocount-command-catalog.commands. It contains command type, mode, payload schema, and example request JSON.

More Command Ideas

NeedCommand typePayload example
Get one sales invoiceget-sales-invoice{ "docNo": "IV-000001" }
Find report layoutslist-autocount-report-templates{ "document": "sales-invoice" }
Sales document PDF/reportsales-document-autocount-pdf{ "document": "invoice", "docNo": "IV-000001", "reportName": "Invoice" }
Purchase document PDF/reportpurchase-document-autocount-pdf{ "document": "purchase-invoice", "docNo": "PI-000001", "reportName": "Purchase Invoice" }
Stock document PDF/reportstock-document-autocount-pdf{ "document": "stock-adjustment", "docNo": "SA-000001", "reportName": "Stock Adjustment" }
GL payment voucher PDFgl-document-autocount-pdf{ "document": "payment-voucher", "docNo": "PV-000001", "reportName": "PV - Half Page" }
GL official receipt PDFgl-document-autocount-pdf{ "document": "official-receipt", "docNo": "OR-000001", "reportName": "OR - Half Page" }
List quotationslist-quotations{}
Create sales invoicecreate-sales-invoice{ "debtorCode": "300-A001", "items": [...] }
Debtor listread-debtors{}
Debtor full detailget-debtor-detail{ "accNo": "300-A001" }
Debtor credit controlget-debtor-credit-control{ "accNo": "300-A001" }
Creditor full detailget-creditor-detail{ "accNo": "400-S001" }
AR outstanding documents for knock-offread-ar-outstanding-documents{ "debtorCode": "300-A001" }
Validate AR payment knock-offvalidate-ar-payment{ "debtorCode": "300-A001", "amount": 100, "knockOffs": [{ "docType": "RI", "docKey": "424496", "amount": 100 }] }
AR credit note listlist-ar-credit-notes{}
AP payment listlist-ap-payments{}
AP outstanding documents for knock-offread-ap-outstanding-documents{ "creditorCode": "400-S001" }
Payment methodsread-payment-methods{}
AR depositcreate-ar-deposit{ "debtorCode": "300-A001", "amount": 100, "paymentMethod": "CASH" }
AP depositcreate-ap-deposit{ "creditorCode": "400-S001", "amount": 100, "paymentMethod": "CASH" }
Stock item quick searchread-items{ "search": "ITEM", "limit": 50 }
Stock item full exportexport-items{ "activeOnly": true }
Stock item full detailget-stock-item-detail{ "itemCode": "ITEM001" }
GL account balanceread-gl-account-balance{ "accNo": "500-0000", "fromDate": "2026-01-01", "toDate": "2026-06-15" }
All GL account balancesread-gl-account-balances{ "fromDate": "2026-08-01", "toDate": "2026-08-31", "limit": 5000, "includeZeroBalance": true }
GL bank/cash accountslist-gl-bank-cash-accounts{}
GL cash-flow accountsread-gl-cash-flow-accounts{}
GL account typeslist-general-account-types{}
GL cheque entrieslist-gl-cheques{ "fromDate": "2026-01-01", "toDate": "2026-12-31", "chequeOption": "issued" }
GL Cash Book Entry gridlist-gl-cash-book-documents{ "columns": "DocKey,DocNo,DocDate,Description,NetTotal" }
GL cash book report/inquirylist-gl-cash-book-entries{ "fromDate": "2026-01-01", "toDate": "2026-12-31", "accountNo": "110-0010" }
Bank reconciliation listlist-gl-bank-reconciliations{}
Bank reconciliation detailget-gl-bank-reconciliation{ "accNo": "110-0010", "reconDate": "2026-06-30" }
Bank reconciliation uncleared rowslist-gl-bank-reconciliation-uncleared{ "accNo": "110-0010", "startDate": "2026-01-01" }
Bank reconciliation draft checkvalidate-gl-bank-reconciliation{ "accNo": "110-0010", "reconDate": "2026-06-30", "actualBalance": 2900, "selectedBankTransKeys": [1, 2] }
Create bank reconciliationcreate-gl-bank-reconciliation{ "accNo": "110-0010", "reconDate": "2026-06-30", "actualBalance": 2900, "selectedBankTransKeys": [1, 2] }
Edit bank reconciliationupdate-gl-bank-reconciliation{ "accNo": "110-0010", "reconDate": "2026-06-30", "actualBalance": 2900, "selectedBankTransKeys": [1, 2] }
Delete bank reconciliationdelete-gl-bank-reconciliation{ "accNo": "110-0010", "reconDate": "2026-06-30", "confirmDelete": true }
GL Account Maintenance createcreate-gl-account{ "accNo": "690-9000", "description": "API Expense Account", "accType": "EP" }
GL fixed asset account createcreate-gl-account{ "accNo": "150-1000", "description": "Motor Vehicle", "accType": "use an Asset code from list-general-account-types", "specialAccType": "SFA" }
Create New Fixed Asset Accountcreate-fixed-asset-gl-accounts{ "fixedAsset": { "accNo": "150-1000", "description": "Motor Vehicle", "accType": "Asset AccType", "specialAccType": "SFA" }, "accumulatedDepreciation": { "accNo": "159-1000", "description": "Accumulated Depreciation - Motor Vehicle", "accType": "Asset AccType", "specialAccType": "SAD" } }
Quotation to sales ordertransfer-quotation-to-sales-order{ "fromDocNo": "QT-000001" }
Quotation to delivery ordertransfer-quotation-to-delivery-order{ "fromDocNo": "QT-000001" }
Quotation to invoicetransfer-quotation-to-sales-invoice{ "fromDocNo": "QT-000001" }
Sales order to delivery ordertransfer-sales-order-to-delivery-order{ "fromDocNo": "SO-000001" }
Sales order to invoicetransfer-sales-order-to-sales-invoice{ "fromDocNo": "SO-000001" }
Delivery order to invoice drafttransfer-delivery-order-to-sales-invoice{ "fromDocNo": "DO-000001", "saveAsDraft": true }
Delivery order into existing invoice drafttransfer-delivery-order-to-existing-sales-invoice{ "targetDocNo": "I-000001", "sourceDocNo": "DO-000001", "saveAsDraft": true, "lines": [{ "sourceLineNo": 1 }] }
Invoice to credit notetransfer-sales-invoice-to-sales-credit-note{ "fromDocNo": "IV-000001" }
Purchase order to GRNtransfer-purchase-order-to-goods-received-note{ "fromDocNo": "PO-000001" }
Purchase order to purchase invoicetransfer-purchase-order-to-purchase-invoice{ "fromDocNo": "PO-000001" }
GRNs to one purchase invoicetransfer-goods-received-note-to-purchase-invoice{ "fromDocNos": ["GR-000001", "GR-000002"] }; optional source-qualified lines for partial quantities. Requires an updated connector.
Purchase invoice to returntransfer-purchase-invoice-to-purchase-return{ "fromDocNo": "PI-000001" }
Validate GL Cash Book paymentvalidate-gl-cash-book-payment{ "payTo": "API Supplier", "taxEntityID": 1, "lines": [{ "accNo": "610-0000", "amount": 100 }], "payments": [{ "paymentMethod": "CASH", "paymentAmount": 100 }] }
Create GL Cash Book paymentcreate-gl-cash-book-payment{ "payTo": "API Supplier", "taxEntityID": 1, "lines": [{ "accNo": "610-0000", "amount": 100 }], "payments": [{ "paymentMethod": "CASH", "paymentAmount": 100 }] }
Create GL Cash Book receiptcreate-gl-cash-book-receipt{ "receiveFrom": "API Customer", "taxEntityID": 1, "lines": [{ "accNo": "500-0000", "amount": 100 }], "payments": [{ "paymentMethod": "CASH", "paymentAmount": 100 }] }
Void/cancel GL Cash Book entryvoid-gl-cash-book-entry{ "docNo": "PV-000001", "reason": "Cancel incorrect voucher" }
Bulk create GL Cash Book paymentsbulk-create-gl-cash-book-payments{ "records": [{ "externalId": "pv-001", "payTo": "API Supplier", "lines": [{ "accNo": "610-0000", "amount": 100 }] }] }
Validate multi-line journalvalidate-journal-entry{ "lines": [{ "accNo": "610-0000", "debit": 60 }, { "accNo": "620-0000", "debit": 40 }, { "accNo": "500-1000", "credit": 100 }] }
Create multi-line journalcreate-journal-entry{ "lines": [{ "accNo": "610-0000", "debit": 60 }, { "accNo": "620-0000", "debit": 40 }, { "accNo": "500-1000", "credit": 100 }] }

Customer Portal Endpoints

EndpointPurpose
GET /loginCustomer login page.
GET /forgot-passwordRequest password reset email.
GET /portalDashboard with subscription, connector config usage, computers, account books, installer, config download, API keys, a copy-ready developer/Mac Soft AI message, API example, and commands.
GET /app/stateAuthenticated JSON state for the customer dashboard.
POST /app/test-apiDashboard button that queues a read-only list-sales-invoices test command.
GET /app/connector-config.jsonAuthenticated default connector config JSON for one-click import. Requires verified email.
POST /app/connectorsCreate another connector config, subject to the subscription connector limit.
GET /app/connectors/:id/config.jsonDownload a specific connector config for a PC/server or branch.

Tenant API Endpoints

EndpointPurpose
POST /v1/commandsQueue a read or write command for a connector and account book.
GET /v1/commands/:idCheck command status and read final result.
GET /v1/connectors/:connectorId/statusCheck connector online state, installed build, latest version, updateRequired, computers, and account books. Safe for Mac Soft AI with tenant/app API key.
GET /v1/schema/modulesList canonical modules and each module's supported schema-aware commands.
GET /v1/schema/modules/:moduleIdRead one module and its schema-aware commands by canonical module id.
GET /v1/schema/commands/:commandTypeRead payload schema, example, notes, and native field sections for one command type.

Connector API Endpoints

The local connector uses these cloud endpoints with its connector key. Customers do not call these directly.

EndpointPurpose
GET /connectors/:id/commands/nextConnector polls for the next command.
POST /connectors/:id/commands/:commandId/resultConnector posts command result or error.
POST /connectors/:id/companiesConnector reports configured account books.
POST /connectors/:id/heartbeatConnector reports service health.

Safety Rules

Common Errors

ErrorMeaningWhat to do
401 UnauthorizedMissing or wrong API key.Check tenant/app key or connector key.
402 Subscription is not activeTenant is not active/trialing.Renew or activate subscription.
403 Please verify your email firstCustomer email is not verified.Open verification email or resend from portal.
409 ConnectorUpdateRequiredThe command needs a newer Local Connector build than the customer PC is running.Download and install the latest connector from the portal, restart the service, then retry with a new commandId.
Connector offlineCloud has not received recent heartbeat.Start Windows Service or check connector internet access.
AutoCount login failedConfigured AutoCount credentials are wrong or changed.Open connector setup and update account book credentials.
Command failedAutoCount SDK returned validation or business logic error.Check command result message and AutoCount document rules.

FAQ

QuestionAnswer
Does the customer need to open router ports?No. The Local Connector polls outbound to the cloud.
What does connector count mean?It means connector configs / command queues, not computers. One config on three computers still counts as one connector, but production branches should use separate connector configs.
Can one customer connect many account books?Yes. Connectors can report multiple configured account books. Subscription limits decide how many are allowed.
Can the same config run on many computers?Yes for monitoring or backup, but they share one command queue. For multiple active PCs or branches, create separate connector configs.
Can AI use this API?Yes. Mac Soft AI can read the human docs and OpenAPI JSON, then call tenant/app API keys to queue commands.
Can the connector run after Windows logout?Yes, it is designed as a Windows Service, so it can keep running without an interactive Windows login.
Why not cloud-only?AutoCount desktop account books are private/local. The connector is required to run SDK calls inside the licensed AutoCount environment.
Can write commands create real documents?Yes. New account books are write-enabled by default, while guarded direct edits stay blocked until safe SDK behavior is proven.
What must exist in a blank account book?Create or confirm debtor, creditor, item/UOM, and stock locations first. Stock transfer needs two locations, AP invoice needs a valid posting account, and BOM/manufacturing needs valid BOM item/component records.