MYOB logo MYOB automation · runs daily

Record MYOB customer payments automatically

Money lands in the bank account, and someone has to find each open invoice in MYOB, enter the amount and the payment date, and save it, one customer at a time.

Cotlet does it in your own MYOB account with list_bank_accounts, list_invoices, get_invoice and record_invoice_payment, called by your AI agent, an n8n workflow or a script.

Hosted · nothing to install or maintain

Can MYOB do this on its own?

MYOB's Business API has a Sale/CustomerPayment resource that applies a payment to one or more invoices (checked 14 Oct 2026), with the deposit account, payment method, memo and the amount applied per invoice. It needs a registered app and OAuth consent per company file, and it does not match a payment list from your bank or payment processor to invoices. MYOB's bank feeds suggest matches inside the app, but a payment export from another system still means keying each one.

How you do it in MYOB today

  1. Open Sales > Record invoice payment and choose the customer from the Customer list; their unpaid invoices appear under it.
  2. Set Bank account to the account or credit card that received the money, and check the Date and the Reference number, because changing the reference also changes the automatic numbering of later payments.
  3. Select the invoices being paid. The Amount received calculates by itself, and an early-payment discount goes into the Discount ($) field of the invoice.
  4. Click Save. If the customer paid more than the invoices add up to, enter the full amount and MYOB creates a customer credit for the excess, which you can refund or apply to another open invoice.
  5. A payment that is already reconciled or matched cannot be changed, so an invoice settled against the wrong customer has to be unmatched in Banking before it is fixed.

How to record MYOB customer payments automatically

Prompt

Here are yesterday's incoming payments. Find the matching open invoice in MYOB by invoice number or by customer and exact amount, record the payment into the bank account I name, and list anything that does not match.
  1. 01

    Pick the bank account

    list_bank_accounts returns the accounts MYOB offers in the Bank account field. The agent uses the one you named and stops if it matches none, rather than recording money into a different account.

  2. 02

    Collect open invoices

    list_invoices runs with status open, and with the customer when your list names one, so payments are only compared with invoices that still have a balance.

  3. 03

    Match by number, then by amount

    A payment is matched on invoice number first. Without one, the agent matches on customer plus exact balance, and only when exactly one open invoice fits.

  4. 04

    Read the balance before paying

    get_invoice shows the balance due. A short payment is recorded as a partial payment and the invoice stays open. An amount above the balance is not recorded, because MYOB would create a customer credit that you may not want.

  5. 05

    Record and report

    record_invoice_payment saves the payment with the date you gave, not today's date, so the books follow the bank statement. Each call asks for your OK by default, and unmatched payments are listed with the reason.

What you get back

Example data

Payments in the list: 9
Recorded 7, e.g. invoice 00000142 Harbour Cafe Pty Ltd: AUD 1,100.00, now closed
Partial: 1 (invoice 00000139, AUD 500.00 of AUD 1,320.00, AUD 820.00 left)
Left for you 1: AUD 640.00 from "Coast Hardware" fits two open invoices

Other ways to ask

  • Every morning, record the payments in the bank export in this folder and show me what did not match.
  • Only match payments by invoice number and list everything else without recording it.
  • List invoices that were paid late last month with the days late, but record nothing.

What MYOB allows, and what to know first

  • MYOB Business records a payment under Sales > Record invoice payment, and the Reference number it suggests drives the automatic numbering of later payments.
  • An overpayment is allowed: MYOB creates a customer credit for the excess, which can be refunded or applied to another open invoice.
  • A discount can be entered per invoice in the Discount ($) field when a customer pays early.
  • A payment that is reconciled or matched to a bank transaction cannot be changed or deleted until it is unmatched.
  • MYOB lets you record the payment against an account or a credit card in the Bank account field, so card payments follow the same path.

record_invoice_payment asks for your OK by default. To run it daily without you, switch confirmation off for that tool in your dashboard.

Sources: MYOB Help: Receiving payments · MYOB Help: Customer overpayments · MYOB Help: Deleting a customer payment · MYOB Developer Centre: Sale/CustomerPayment

Call record_invoice_payment from a script

curl

curl -X POST https://cotlet.dev/api/v1/myob/customers/CUS000012/invoice-payments \
  -H "Authorization: Bearer $COTLET_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"bank_account":"1-1110","date":"2026-10-13","reference":"00000087","payments":[{"invoice_number":"00000142","amount":1100}]}'

Example response

{
  "payment_reference": "00000087",
  "customer_id": "CUS000012",
  "bank_account": "1-1110",
  "date": "2026-10-13",
  "amount_received": 1100,
  "applied": [
    {
      "invoice_number": "00000142",
      "amount": 1100,
      "balance_due": 0,
      "status": "closed"
    }
  ]
}

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is myob_write → record_invoice_payment. Example data.

Schedule it in n8n, Make, Zapier or cron

MYOB tools this automation uses

Cotlet MYOB tools used to record MYOB customer payments automatically
Tool Parameters
list_bank_accounts none
list_invoices status, customer_id, due_before, limit, cursor
get_invoice invoice_number
record_invoice_payment customer_id, bank_account, date, reference, payments, description
All 12 MYOB tools with descriptions

Frequently asked questions

Is it safe to connect MYOB to Cotlet?

Yes. You sign in to MYOB yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get MYOB once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.

Give your agent access to MYOB.

Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with MYOB.