A trades or parts business that quotes off a price list which is six weeks old is not making a clerical error. It is quoting at last quarter's cost and hoping the margin holds. On a $40,000 job where the materials component has moved four per cent since the list was loaded, that is $1,600 of margin that was decided by a spreadsheet nobody had time to open. The point of automating supplier price list updates is not the hours the update takes. It is that every quote leaving the business is priced on the cost you will actually pay.
That is worth more than it sounds, because the failure is invisible. Nobody reports a quote that won three points light. The job runs, the invoice goes out, the margin lands wherever it lands, and the variance gets blamed on site conditions. The only reliable fix is to shorten the gap between a supplier sending a new price and that price being live in the quoting system, and to make the gap the same length every time regardless of who is on leave.
What the process actually looks like now
The common shape, in businesses running anywhere from three to forty suppliers:
A supplier emails a price list, usually monthly or quarterly, sometimes with no warning at all. It arrives as an Excel file, a CSV, or a PDF that was an Excel file until someone exported it. Someone in the office opens it, compares it against the current parts list, and updates the lines that changed. If the list runs to a few hundred SKUs they update the ones they recognise and leave the rest. Then they apply margin — a flat percentage, or a matrix that varies by category, or a set of contract prices for particular customers that must not move. Then the updated costs need to reach two places: the accounting file, and whatever the estimators quote from.
Every one of those steps is a place the process stalls. The most expensive stall is the one where the email arrived, went into somebody's inbox, and nothing happened at all.
The off-the-shelf options, and where they stop
There are Australian products built exactly for this. TRASER CX does parts price management and quoting for trades and parts businesses, with automated supplier price updates via API integrations so the parts list carries current cost. Its published pricing, all ex GST, runs:
| Plan | Setup | Monthly | Included |
|---|---|---|---|
| Standard | A$295 | A$79 | 1 user, 3 suppliers |
| Premium | A$295 | A$99 | 3 users, 5 suppliers, auto supplier price updates where available |
| Enterprise | A$295 | A$179 | Unlimited users, unlimited suppliers, auto supplier price updates |
Both patterns work. The constraint in both is the supplier side. API-delivered price files exist for the large national distributors and almost nowhere else. The three-supplier and five-supplier plan tiers are honest about that — a business with twenty suppliers has three that publish a feed, six that send a tidy Excel file, and eleven that send a PDF with the logo on top and the columns in a different order each time. Off-the-shelf tooling handles the first group well, the second group adequately, and the third group not at all. The eleven suppliers you cannot automate with a product are usually the ones with the volatile pricing.
So the realistic build is not "replace the product". It is "cover the suppliers the product cannot reach, and put a consistent review step in front of all of them".
The pipeline, end to end
Ingestion
A dedicated mailbox — pricing@ or similar — that suppliers are asked to send to, monitored on a schedule. Attachments are stored with the sending address, subject, and received date, so the provenance of any cost in the system can be traced back to a specific email. This matters more than it seems when a customer disputes a quote nine months later.
Suppliers who publish an API or an SFTP drop get polled instead. Suppliers who only publish a portal get a scheduled fetch.
Parsing and normalisation
Excel and CSV go through a parser mapped per supplier — column positions are not stable, so the map is keyed to header text with a fallback. PDFs go through extraction, and where the layout is genuinely unstructured, a language model does the table extraction and a rules layer validates the result. Every parsed row lands in the same internal shape: supplier code, supplier SKU, description, unit of measure, pack quantity, cost, effective date.
Matching
Supplier SKU to your internal part number. This is the hard part and it never fully goes away. Exact matches resolve automatically. Near matches resolve against an alias table that grows over time. Everything else goes to a review queue rather than being guessed at.
Pricing rules
Cost is not sell. Margin rules by category, customer-specific contract pricing that must be held, rounding rules, and minimum margin floors all apply here. This layer is where most of the business logic lives and where most of the configuration time goes.
Review
An approval screen showing what changed, what it means, and what is unresolved: lines moving more than a set threshold, new SKUs, discontinued SKUs, unmatched rows, and anything where the unit of measure changed. Nothing writes through without a person clearing the exceptions. A purchasing manager can clear a two hundred line update in a few minutes when the screen shows only the twelve lines that need a decision.
Write-back
Into Xero or MYOB as inventory item costs, and into the quoting system as current parts pricing, with the effective date recorded. Where a supplier list supersedes an earlier one, the old version is retained, not overwritten, so a quote can be reconstructed against the prices that were live on the day it was issued.
Orchestrating that chain — the mailbox watch, the per-supplier parse, the match, the review queue and the write-back into the accounting file — is exactly the kind of multi-step n8n workflow build that sits between systems nobody wrote an integration for, which is why supplier price lists are still being retyped in businesses that automated everything else years ago.
The failure modes worth designing for
Unit-of-measure mismatch. The supplier quotes per metre; your system holds per 100 metre coil. The supplier switches from each to box of 10 with no announcement. If the pipeline does not compare the incoming unit against the held unit and stop when they differ, a price will drop by a factor of ten and look like a fantastic deal for exactly as long as it takes to quote a job on it.
SKU drift. Suppliers renumber. A part gets superseded, the old code stops appearing in the file, and the new code arrives as an unmatched row. Without a rule that flags codes which have disappeared since the last list, that part sits in your system at an old cost indefinitely.
Changed column layouts. Someone at the supplier adds a column, or exports with the description and the code swapped. A positional parser silently loads descriptions into the cost field. Header-based mapping with a validation pass — is every cost numeric, is every cost within a sane band of the previous cost — catches this before it writes.
Silent no-file-arrived failure. The most damaging one, because there is nothing to see. A supplier who sends quarterly stops sending, or sends to the wrong address, and the system keeps quoting happily on the last list it received. The fix is an expected-cadence register per supplier and an alert when a list is overdue, not a passive wait for an email that may never come.
Effective dates and overlapping lists. Two lists arrive in the same week, one dated for next month. Loading them in arrival order rather than effective-date order puts the wrong prices live.
PDF extraction confidence. Extraction from a scanned or oddly formatted PDF will be wrong occasionally. Confidence scoring, with anything below the threshold routed to review rather than accepted, is the difference between a useful tool and a liability.
What this sits on top of
Most of these businesses are already paying for the systems this writes into. Xero's Australian standard prices as at September 2026 run at A$37 a month for Ignite, A$78 for Grow, A$107 for Comprehensive and A$143 for Ultimate 10, all including GST, and quoting is included in those plans rather than being a separate licence. The automation layer is not replacing that spend. It is making sure the numbers inside it are current — the same logic that applies when costing an invoice approval and payment stack, where the software is affordable and the value sits in whether the workflow around it is actually designed.
Configuration is where the effort concentrates. Each supplier needs a parse map, an expected cadence, and a matching pass over their catalogue. Margin rules need to be written down, often for the first time, because they currently live in an estimator's head. That work is real and it does not disappear because the pipeline is automated. What it buys is that it only has to be done once per supplier rather than once per price list, forever.
Where to start
Pull the last three price lists from your largest supplier and compare them against what your quoting system currently holds. Count the lines where the two disagree, and multiply the average gap by your monthly materials spend. That number, not the admin time, is what you are deciding about.
If it looks material, we will map your suppliers, the file formats they actually send, and what your quoting system and accounting file will accept, then come back with a fixed scope, a build estimate and a straight answer on whether the margin recovery justifies it — including the case where it does not and a $99 a month product covers you. Book an assessment and bring two or three of the worst price lists you have; they tell us more than a requirements document will.