{"ok":true,"commandType":"validate-ap-credit-note","module":"AP","mode":"read","summary":"Validate an AP credit note without saving. Supports one or many real supplier invoice knock-offs.","payloadSchema":{"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"},"examplePayload":{"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"}},"examples":[],"payloadEnums":{},"requiredPayloadFields":[],"conditionalPayloadRules":{},"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.","nativePayload":{"supported":true,"sections":[{"name":"Master","fields":[{"name":"DocNo","type":"string","description":"Optional AutoCount document number.","aliases":["docNo"]},{"name":"DocDate","type":"date","description":"Document date.","aliases":["docDate"]},{"name":"CreditorCode","type":"string","description":"Supplier/creditor code.","aliases":["creditorCode"]},{"name":"CNType","type":"string","description":"Credit note type.","aliases":["cnType","creditNoteType"]},{"name":"Reason","type":"string","description":"Credit/debit note reason.","aliases":["reason"]},{"name":"Ref","type":"string","description":"Reference.","aliases":["ref"]},{"name":"Description","type":"string","description":"Header description.","aliases":["description"]},{"name":"JournalType","type":"string","description":"Journal type.","aliases":["journalType"]},{"name":"SupplierCNNo","type":"string","description":"Supplier credit note number.","aliases":["supplierCreditNoteNo","supplierCNNo"]},{"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":"Description","type":"string","description":"Line description.","aliases":["description"]},{"name":"ProjNo","type":"string","description":"Project code.","aliases":["projNo","project"]},{"name":"DeptNo","type":"string","description":"Department code.","aliases":["deptNo","department"]},{"name":"Amount","type":"number","description":"Line amount.","aliases":["amount"]},{"name":"TaxCode","type":"string","description":"Tax code.","aliases":["taxCode"]}]},{"name":"KnockOffDetails","fields":[{"name":"DocType","type":"string","description":"AutoCount knock-off document type.","aliases":["docType"]},{"name":"DocKey","type":"number","description":"AutoCount outstanding document key.","aliases":["docKey"]},{"name":"DocNo","type":"string","description":"Outstanding document number.","aliases":["docNo"]},{"name":"KnockOffDate","type":"date","description":"Knock-off date.","aliases":["knockOffDate"]},{"name":"KnockOffAmount","type":"number","description":"Allocated amount.","aliases":["amount","knockOffAmount"]}]},{"name":"TransferDetails","fields":[]},{"name":"PaymentDetails","fields":[]},{"name":"Options","fields":[{"name":"DocNoFormatName","type":"string","description":"Optional AutoCount numbering format.","aliases":["docNoFormatName"]},{"name":"SaveAsDraft","type":"boolean","description":"Draft/save behavior where AutoCount supports it.","aliases":["saveAsDraft"]}]}]}}