{"ok":true,"commandType":"update-cash-purchase","module":"Purchase","mode":"write","summary":"Update cash purchase header/contact fields and supported detail rows.","payloadSchema":{"docNo":"optional AutoCount document number; omit to let AutoCount numbering generate it","reason":"required business reason","docDate":"required or optional YYYY-MM-DD document date depending on account-book numbering rules","description":"optional document description/narration","ref":"optional reference","yourPONo":"optional customer/supplier PO/reference number where AutoCount exposes it","creditorCode":"required AutoCount creditor/supplier code","contact":"optional contact person alias for attention","attention":"optional attention/contact person","phone":"optional phone alias for phone1","phone1":"optional phone 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","deliverContact":"optional delivery contact","deliverPhone1":"optional delivery phone","deliverAddress1":"optional delivery address line 1","deliverAddress2":"optional delivery address line 2","deliverAddress3":"optional delivery address line 3","deliverAddress4":"optional delivery address line 4","salesAgent":"optional sales agent where AutoCount exposes it","displayTerm":"optional credit term such as C.O.D. or 30 DAYS","dueDate":"optional YYYY-MM-DD due date","detailMode":"optional detail edit mode: replace | append | update | delete","lines":"required array of item rows; items is also accepted as a compatibility alias","items":"optional alias for lines","supplierInvoiceNo":"optional supplier invoice number","supplierDONo":"optional supplier delivery order number","creditorName":"optional supplier display name; AutoCount creditor name is used when omitted","branchCode":"optional creditor branch code/name where the customer uses branches","purchaseLocation":"optional purchase/stock location such as HQ","purchaseAgent":"optional Purchase Agent Maintenance code","phone2":"optional secondary phone/mobile number","fax1":"optional fax number printed on document","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","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 }"},"examplePayload":{"docNo":"CA-000001","reason":"correct document detail","creditorCode":"400-S001","contact":"Supplier Sales Department","attention":"Supplier Sales Department","phone":"03-33333333","ref":"API-REF-UPDATED","yourPONo":"PO-UPDATED-001","deliverContact":"Warehouse","deliverPhone1":"03-22222222","deliverAddress1":"Warehouse 1","detailMode":"replace","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"}}],"supplierInvoiceNo":"SUP-INV-1001","supplierDONo":"SUP-DO-UPDATED-001","docDate":"2026-06-24","displayTerm":"30 DAYS","branchCode":"MAIN","purchaseLocation":"HQ","purchaseAgent":"PA01","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,"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":"Uses AutoCount SDK Edit(string) + Save(). Supports header/contact changes plus detailMode replace | append | update | delete for purchase detail rows. AutoCount may reject edits for posted, transferred, linked, or permission-blocked documents. Full payload example is for human/Postman reference. 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. The connector sends supported fields into AutoCount SDK and ignores unsupported optional fields where the exact document SDK does not expose them. 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.","nativePayload":{"supported":true,"sections":[{"name":"Master","fields":[{"name":"DocNo","type":"string","description":"Purchase invoice document number.","aliases":["docNo"]},{"name":"DocDate","type":"date","description":"Document date.","aliases":["docDate"]},{"name":"CreditorCode","type":"string","description":"Supplier/creditor code.","aliases":["creditorCode"]},{"name":"CreditorName","type":"string","description":"Supplier display name.","aliases":["creditorName"]},{"name":"Agent","type":"string","description":"Purchase agent.","aliases":["purchaseAgent","agent"]},{"name":"PurchaseLocation","type":"string","description":"Purchase stock location.","aliases":["purchaseLocation","location"]},{"name":"Ref","type":"string","description":"Reference.","aliases":["ref"]},{"name":"Description","type":"string","description":"Header description.","aliases":["description"]},{"name":"DisplayTerm","type":"string","description":"Credit term.","aliases":["displayTerm","term"]},{"name":"InvAddr1","type":"string","description":"Invoice address line 1.","aliases":["address1","invAddr1"]},{"name":"Phone1","type":"string","description":"Phone.","aliases":["phone1","phone"]},{"name":"Attention","type":"string","description":"Attention/contact.","aliases":["attention","contact"]},{"name":"BranchCode","type":"string","description":"Branch code.","aliases":["branchCode"]},{"name":"CurrencyCode","type":"string","description":"Currency code.","aliases":["currencyCode"]},{"name":"CurrencyRate","type":"number","description":"Currency rate.","aliases":["currencyRate"]},{"name":"Note","type":"string","description":"Note.","aliases":["note"]},{"name":"Remark1","type":"string","description":"Remark 1.","aliases":["remark1"]},{"name":"Remark2","type":"string","description":"Remark 2.","aliases":["remark2"]},{"name":"Remark3","type":"string","description":"Remark 3.","aliases":["remark3"]},{"name":"Remark4","type":"string","description":"Remark 4.","aliases":["remark4"]},{"name":"RefDocNo","type":"string","description":"Reference document number.","aliases":["refDocNo"]},{"name":"ShipVia","type":"string","description":"Shipping method.","aliases":["shipVia"]},{"name":"ShipInfo","type":"string","description":"Shipping info.","aliases":["shipInfo"]},{"name":"SupplierDONo","type":"string","description":"Supplier delivery order number.","aliases":["supplierDONo"]},{"name":"SupplierInvoiceNo","type":"string","description":"Supplier invoice number.","aliases":["supplierInvoiceNo"]}]},{"name":"Details","fields":[{"name":"DtlKey","type":"number","description":"Existing detail key for updates.","aliases":["dtlKey"]},{"name":"AccNo","type":"string","description":"Posting GL account.","aliases":["accNo","accountNo"]},{"name":"ItemCode","type":"string","description":"Stock item code.","aliases":["itemCode"]},{"name":"UOM","type":"string","description":"Unit of measure.","aliases":["uom"]},{"name":"Location","type":"string","description":"Stock location.","aliases":["location"]},{"name":"Description","type":"string","description":"Line description.","aliases":["description"]},{"name":"Desc2","type":"string","description":"Line description 2.","aliases":["desc2"]},{"name":"FurtherDescription","type":"string","description":"Further description.","aliases":["furtherDescription"]},{"name":"ProjNo","type":"string","description":"Project code.","aliases":["projNo","project"]},{"name":"DeptNo","type":"string","description":"Department code.","aliases":["deptNo","department"]},{"name":"Qty","type":"number","description":"Quantity.","aliases":["qty"]},{"name":"FOCQty","type":"number","description":"FOC quantity.","aliases":["focQty"]},{"name":"UnitPrice","type":"number","description":"Unit price.","aliases":["unitPrice"]},{"name":"Discount","type":"string","description":"Discount.","aliases":["discount"]},{"name":"TaxCode","type":"string","description":"Tax code.","aliases":["taxCode"]},{"name":"TaxRate","type":"number","description":"Tax rate.","aliases":["taxRate"]},{"name":"TaxAdjustment","type":"number","description":"Tax adjustment.","aliases":["taxAdjustment"]},{"name":"DeliveryDate","type":"date","description":"Delivery date.","aliases":["deliveryDate"]},{"name":"SalesExemptionNo","type":"string","description":"Sales exemption number.","aliases":["salesExemptionNo"]}]},{"name":"KnockOffDetails","fields":[]},{"name":"TransferDetails","fields":[{"name":"DocType","type":"string","description":"Source document type such as PO or GRN.","aliases":["docType"]},{"name":"DocNo","type":"string","description":"Source document number.","aliases":["docNo","fromDocNo"]}]},{"name":"PaymentDetails","fields":[]},{"name":"Options","fields":[{"name":"DocNoFormatName","type":"string","description":"Document number format.","aliases":["docNoFormatName"]},{"name":"SaveAsDraft","type":"boolean","description":"Draft/save option.","aliases":["saveAsDraft"]}]}]}}