If the stock level in ServiceM8 doesn't match what's on your shelves, the system usually isn't broken. It's working as designed. ServiceM8 doesn't calculate stock itself. It shows quantities imported from your accounting package, and those quantities only change when transactions are processed there.
Below are the five most common causes, how to check each one, and how to stop it happening.
How stock levels get into ServiceM8
It helps to know the chain first:
- A tech adds materials to a job in ServiceM8.
- The job is invoiced, and the invoice syncs to Xero, MYOB or QuickBooks Online.
- The accounting package reduces stock for tracked items once the invoice is processed.
- ServiceM8 imports the new quantity during item syncing.
If any step is delayed or skipped, the number in ServiceM8 is out of date. ServiceM8's help centre notes that the import "may not happen immediately".
Cause 1: The job hasn't been invoiced yet
This is the most common reason. Materials leave the van on Monday, but if the job isn't invoiced until Friday, stock stays unchanged all week.
Check: find jobs with materials that are completed but not yet invoiced.
Fix: invoice promptly, or use a system that deducts stock when the job is completed rather than when it's invoiced.
Cause 2: The invoice hasn't been approved in accounting
In Xero, a draft invoice doesn't change tracked inventory. Stock moves only once the invoice is approved.
Check: look for draft or awaiting-approval invoices in your accounting package.
Fix: agree a daily routine for approving synced invoices.
Cause 3: The item isn't tracked in your accounting package
ServiceM8 can only show stock for items that are tracked in accounting. Untracked items show no quantity, or a stale one.
Check: open the item in Xero, MYOB or QuickBooks and confirm inventory tracking is on.
Fix: turn on tracking in the accounting package. ServiceM8 notes that tracking for integrated items is managed there, not in ServiceM8.
Cause 4: Someone edited stock in ServiceM8
Manual changes to stock in ServiceM8 don't flow back to your accounting package, and the next import can overwrite them. It looks as if the system "undid" your change.
Fix: make stock adjustments in the system that owns stock, never in ServiceM8.
Cause 5: Stock moved without a transaction
Parts used on warranty call-backs, swapped between vans or damaged never pass through an invoice, so accounting never hears about them.
Fix: record these as stock adjustments, and run regular counts. See our ServiceM8 stocktake guide.
The long-term fix: deduct stock on job completion
All five causes share one root: stock only moves when an invoice is processed in accounting. The reliable fix is to make an inventory system the source of truth, and to deduct stock when the work is done.
With StockUnify connected to ServiceM8:
- Each job syncs to StockUnify as a sales order showing stock availability.
- Materials are deducted from the tech's van or the warehouse when the job is completed in ServiceM8, not when it's invoiced. This happens automatically when every item has enough stock and isn't batch- or serial-tracked.
- Purchase orders update stock when deliveries are received, and create bills in Xero.
- Products, prices and stock levels are pushed to ServiceM8, so techs see current numbers. With stock sync turned on, changes reach ServiceM8 in real time.
Read more about how StockUnify works with ServiceM8, or see the full ServiceM8 inventory guide.
Quick troubleshooting checklist
- Are there completed jobs with materials that aren't invoiced?
- Are synced invoices still in draft in accounting?
- Is the item set to tracked in your accounting package?
- Has anyone edited the stock quantity directly in ServiceM8?
- Have parts been used, moved or written off without an invoice?
FAQ
How often does ServiceM8 update stock levels?
ServiceM8 imports quantities from your accounting package during item syncing, and its help centre says this may not happen immediately.
Why did my stock change back after I edited it?
Stock edits in ServiceM8 don't update your accounting package, so the next import can overwrite them.
Can stock be deducted when the job is completed instead of invoiced?
Not with ServiceM8 and accounting alone. An inventory system such as StockUnify can deduct materials on job completion. See how to deduct job materials automatically.
Stop chasing stock numbers. Try StockUnify free for 14 days.
Share this article