Deleting records via the MYOB Business API
The API can delete one invoice at a time. The bulk delete — and the safety a destructive operation needs — are yours to build. Here is the shape of it.
The MYOB Business API is a REST API with a single-record DELETE. You can delete a sale invoice (or order, or customer) by its identifier over OAuth 2.0 — but there is no bulk endpoint, and no preview, export or dry run attached. If you are scripting a cleanup through it, the safety spine is the part you have to add.
What the API gives you
MYOB describes the MYOB Business API as a REST cloud API that covers AccountRight, Essentials and MYOB Business — so it reaches both the cloud product and the desktop file, through MYOB’s gateway. The sale invoice resource is the one relevant here:
| Resource | Methods | Delete granularity |
|---|---|---|
| /Sale/Invoice | GET, PUT, POST, DELETE | One record per call |
| /Sale/CustomerPayment | GET, PUT, POST, DELETE | One record per call |
| Sale orders, credit notes, refunds | GET, PUT, POST, DELETE | One record per call |
Read from MYOB’s API reference at developer.myob.com on 3 October 2026. MYOB’s EXO product has a separate API with restricted, application-only access — it is not open the way the Business API is.
What the API does not give you
- No bulk delete. Every record is its own call. A five-hundred-record cleanup is five hundred DELETE calls, and you own the pacing.
- No preview. The API returns what you ask for; it does not tell you what is about to be lost.
- No export. Nothing saves the records before they go — that is your job, before the first delete.
- No dry run. A DELETE either happens or it does not; there is no rehearsal mode.
- No log. If a call fails halfway through a run, nothing records what was skipped and why unless you wrote it.
The safety you have to build yourself
This is the whole reason a purpose-built tool exists rather than a five-line script. A safe bulk delete is the same five gates the API leaves you to assemble:
- Read the exact set you intend to delete, and show it to the user.
- Export it first, so there is a record if anything goes wrong.
- Dry run — report what would be deleted, and what would be refused.
- Check for changes since the export, and skip anything that moved rather than deleting a record the user never saw.
- Delete, then log every record, every skip and the reason.
What a safe bulk delete looks like
You cannot delete what you have not exported. Reconciled lines and closed periods are reported as skipped, never forced — QuickBooks will not allow it, and a tool that tried would be the harm this design exists to avoid.
What we have not measured
To be honest about the limits of this page: we have not tested MYOB’s API rate limits, and we have not confirmed whether it enforces the product’s own rules on locked periods and linked records. The QBO equivalent of this page carries measured fault codes and call limits; this one does not, because we have not run those tests. Treat the endpoint shape above as verified and the behaviour as unproven.
Is there a better way?
We build Multi-Delete for QuickBooks Online, not MYOB — so there is no MYOB tool from us, API or otherwise. If you are on QuickBooks, our API page and measured findings cover the same job with real numbers. For MYOB, the content cluster starts at how to delete multiple transactions in MYOB.
The pages you are reading stay free and need no signup. We store nothing about you — no accounts, no email gate, no tracking.
Questions people actually ask
Does the MYOB API let you delete invoices?
Yes. The MYOB Business API exposes the sale invoice resource (Sale/Invoice) with GET, PUT, POST and DELETE, so a connected app can delete an invoice on the user’s behalf. It is one record per call — there is no bulk endpoint.
Does the MYOB API have a bulk delete?
Not that we could find. The API is resource-oriented: you delete a single invoice, order or customer by its identifier. To clear hundreds of records you call DELETE hundreds of times, and everything that makes that safe — preview, export, dry run, a log — is logic you write yourself.
Which MYOB products does the API cover?
The MYOB Business API is described by MYOB as covering AccountRight, Essentials and MYOB Business — so the “cloud enabled” API reaches the desktop AccountRight file too, through MYOB’s gateway. That makes it the API for all of MYOB’s small-business accounting products, not just the cloud one.
What authentication does the MYOB API use?
OAuth 2.0, with scopes that a partner app requests when it connects to a business (sales scopes for invoices, for example). The user authorises your app once, and your app acts on their file. That is the standard model, and it is the reason a tool like this needs to be a registered integration rather than a script the user runs locally.
Does the MYOB API enforce the same rules as the product — locked periods, reconciled records?
We have not tested this, so treat it as a question rather than a fact. MYOB’s product blocks a delete in a locked period or a linked record, and the sensible assumption is that the API applies the same business rules — but “sensible assumption” is not “measured”, and any tool built on the API has to check it rather than trust it.
Is deleting through the API as safe as a purpose-built tool?
No. The API is a primitive: it does what you tell it, once, with no preview and no undo. A safe bulk delete is the API call plus everything around it — reading the exact set first, exporting it before anything moves, a dry run, a change-detection check so you do not delete a record that changed since the export, and a per-record log of what happened.
Does Multi-Delete use the MYOB API?
No. Multi-Delete is a QuickBooks Online tool. This page is here because the same question gets asked about MYOB and the honest answer is worth writing down — not because a MYOB connector exists.