Operations
Every sync and intake run, including the ones that went wrong. The MYOB sync runs on a schedule and can be triggered by hand; both are logged the same way.
2 runs did not complete cleanly
- 28/08/2026, 5:00:00 am — myob-sync — 2 record(s) failed
- 27/08/2026, 10:11:00 pm — myob-sync — MYOB login failed: 401 — credentials rejected. Nothing was written.
| When | Job | Trigger | Outcome | Pulled | Created | Updated | Failed | Source |
|---|---|---|---|---|---|---|---|---|
| 29/08/2026, 5:00:00 am2140ms | myob-sync | schedule | Succeeded | 40 | 0 | 3 | 0 | demo fixture |
| 29/08/2026, 4:30:00 am380ms | email-intake | schedule | Succeeded | 5 | 0 | 0 | 0 | demo fixture |
| 28/08/2026, 5:00:00 am3010ms | myob-sync | schedule | With errors | 40 | 1 | 6 | 2 | demo fixture |
| 27/08/2026, 10:11:00 pm122ms | myob-sync | manual | Failed | 0 | 0 | 0 | 0 | demo fixture |
How the sync behaves
- MYOB owns six fields — SKU, status and the four price levels. The sync writes nothing else, so a price change cannot revert somebody’s sales copy.
- A price change does not un-approve. It is data arriving, not an editorial change. Only an enrichment edit sends a record back for review.
- A stock item with no product record arrives as a Draft with no enrichment. MYOB cannot publish to the website.
- Runs are incremental, continuing from the last good run’s watermark. A failed run does not advance it, so nothing is silently skipped.
Currently reading the fixture adapter. Set MYOB_ADAPTER=acumatica with credentials to point it at a real MYOB Advanced tenant — no code changes.
