confirm_payment_claim
ChatGPTApprove an 'I have paid' claim submitted by the customer on the hosted page (after checking the bank). Records the payment and issues the receipt. Omit claim_id to list pending claims.
convert_quotation
ChatGPTTurn an issued/accepted quotation into a draft invoice (to=invoice), a draft delivery order (to=delivery_order) or a billing schedule with manual milestones (to=schedule; Pro plan). Also turns an issued delivery order into its draft invoice (to=invoice), and an issued invoice into a draft delivery order (to=delivery_order) when goods ship after billing. Delivery orders carry the lines and quantities; they are not paid and not sent to LHDN.
create_contact
ChatGPTCreate a customer or supplier. For e-invoicing, give a business's TIN and SSM registration number (reg_no); they are validated against LHDN when configured.
create_draft
ChatGPTCreate a draft quotation, proforma, invoice, credit/debit/refund note. Drafts have no number until issued. Amounts in RM strings. For a proposal + quotation pass proposal_body (Markdown). Returns totals, preview_url and the number the document will get on issue.
find_tin
ChatGPTLook up a Malaysian business's e-invoice tax number (TIN) in the LHDN MyInvois registry by its SSM registration number (preferred) or registered name; a name-only search fails when LHDN finds more than one taxpayer. Businesses only. Returns {tin|null, environment}. Does not change the contact — call update_contact to save the TIN.
get_contact
ChatGPTFull contact record plus billing summary (outstanding, overdue, invoiced/paid totals, recent documents).
get_document
ChatGPTFull document: lines, totals, payments, receipts, e-invoice status, voidability, preview/hosted/PDF URLs.
get_receivables
ChatGPTOutstanding invoices bucketed by days overdue (current, 1–30, 31–60, 61–90, 90+) with per-customer totals.
issue_document
ChatGPTIssue a draft after the owner approved it: allocates the number, freezes a snapshot, renders the PDF. Requires the approval_token from request_issue.
list_catalogue_items
ChatGPTProducts/services with default unit price (RM), tax type and LHDN classification code. Use item_id on draft lines. Pass contact_id to also get that customer's price from their price list (customer_price; price_source set = a price fixed on the list, adjusted = the list's percentage, standard = no list). Put customer_price on the draft line when drafting for that customer.
list_contacts
ChatGPTList customers/suppliers with outstanding balances. Supports search, tag and kind filters, paginated.
list_documents
ChatGPTQuotations, invoices, receipts, credit notes and delivery orders with totals and balances. Filter by type, status, contact, issue-date range; open_only = unpaid invoices; overdue_only = past due date.
record_payment
ChatGPTRecord money received against an invoice (bank transfer, CHIP, cash, cheque). Confirms immediately, updates the invoice to partially_paid/paid and issues a receipt.
request_einvoice_submit
ChatGPTAsk the owner to approve submitting an issued invoice/credit note to LHDN MyInvois. Returns pending_approval with approval_url + approval_token.
request_issue
ChatGPTAsk the owner to approve issuing a draft. Returns pending_approval with approval_url + approval_token (24 h). If the company's auto-approve threshold applies, the document is issued immediately.
search_contacts
ChatGPTQuick name/company/email/phone search — use this to resolve a customer name to a contact_id before drafting.
send_document
ChatGPTEmail an issued document (hosted link + PDF) to the customer and return a prefilled WhatsApp link for one-tap manual sending.
submit_einvoice
ChatGPTQueue the MyInvois submission after approval (approval_token from request_einvoice_submit). Validation runs asynchronously; check einvoice.status via get_document.
trigger_schedule_item
ChatGPTCreate the draft invoice for a manual billing-schedule item (e.g. 'on signing', 'go-live'). Anchors any 'after this item' recurrences. Never issues: when the schedule has auto_issue it returns pending_approval with approval_url + approval_token (24 h) — after the owner approves, call issue_document and then send_document. Billing schedules need the Pro plan (error code plan_limit otherwise).
update_contact
ChatGPTPatch contact fields; only the fields provided change.
update_draft
ChatGPTReplace fields of a draft (lines are replaced wholesale when provided). Issued documents cannot be edited — revise or credit-note them instead.
void_document
ChatGPTVoid an issued document. Without approval_token this requests approval (returns pending_approval); with the token it voids. LHDN rule: a validated e-invoice can only be cancelled within 72 hours of validation — after that voiding is refused and you should create a credit note. Invoices with confirmed payments cannot be voided.