← All posts
B2B wholesale · 18 June 2026 · 6 min read

Storing tier prices as Linnworks extended properties: pricing without lock-in

Where your wholesale tier prices physically live matters more than most sellers realise. Put them in a third-party app's own database and you've built your pricing on rented land: invisible inside Linnworks, unreachable by your other tools, and hostage to that vendor's continued existence. Storing tier prices as native Linnworks extended properties — the approach our upcoming B2B Price Tiers app takes — avoids all three problems.

What extended properties actually are

Every stock item in Linnworks carries, beyond its core fields (SKU, title, retail price, stock levels), a set of extended properties: freeform name/value pairs attached directly to the item record. Sellers already use them for things like country of origin, commodity codes, brand names or shelf locations. They're visible when you open a stock item in Linnworks, they travel with your data in exports, and they're readable and writable through the standard Linnworks API.

That makes them a natural home for tier pricing. A stock item can carry properties along the lines of a Trade price, a Gold price, a Distributor price — one per named tier — sitting on the item itself, right alongside its cost and retail price.

Native fields versus a third-party price store

Most wholesale pricing tools take the easy route: they keep a copy of your catalogue and your prices in their own database, and everything that needs a trade price has to ask their API. It works until it doesn't. The native approach is different in three ways that compound over time.

Portability — the data is yours, in your system

Extended properties live on your stock items in your Linnworks account. Export your inventory and the tier prices come with it. Migrate, audit, back up — the pricing travels because it was never anywhere else. With a third-party store, "exporting your pricing" means hoping the vendor offers a decent export and taking a snapshot that goes stale immediately.

No lock-in — cancelling doesn't delete your price list

This is the one to think hardest about. If your tier prices exist only inside a vendor's database and you stop subscribing, your price architecture evaporates with the account. With native extended properties, the tool that manages the prices and the place the prices live are separate. Stop using the management tool tomorrow and every price is still sitting on every stock item in Linnworks, readable by you and by anything else you plug in.

Visibility — prices where your team already works

Your team lives in Linnworks. When a customer queries their trade price on a SKU, anyone can open the stock item and see every tier price on the record — no second system, no second login, no "I'll ask whoever manages the pricing app". Native storage means one source of truth in the place people already look.

How two-way sync works

Native storage doesn't mean editing thousands of name/value pairs by hand in Linnworks — that would be swapping one pain for another. The model B2B Price Tiers uses is a two-direction sync:

  1. Pull: the app syncs your catalogue from Linnworks — SKUs, titles, costs, retail prices — so you're always pricing against current data.
  2. Price: you work in a spreadsheet-style grid with unlimited named tiers, formula rules (cost-plus upwards or RRP-discount downwards), attractive-ending rounding to .99, .95 or .49, and CSV import/export for bulk work. More on the formula side in wholesale price list formulas: cost-up vs RRP-down.
  3. Push: the finished tier prices are written back to Linnworks as extended properties on each stock item. No third-party data store — Linnworks holds the result.

The app is the calculator and the workflow; Linnworks is the system of record. That division of labour is exactly the right way round.

What this unlocks downstream

Because the prices are ordinary Linnworks data, other tools can consume them without bespoke integrations. Assign a customer to a tier and a point-of-sale tool can charge tier pricing automatically — customer-to-tier assignment works in the app itself or from inside Trade Order POS. Per-tier minimum order values keep small trade orders economic. And your own reporting, macros or exports can read the same properties, because there's nothing proprietary about where they live.

It also future-proofs the inevitable: pricing tools change, but a price list stored as native fields survives every tool decision you'll ever make. If you've been holding your tiers together in spreadsheets, our piece on tiered pricing in Linnworks without spreadsheets covers why that era should end.

Coming very soon

B2B Price Tiers is coming very soon: unlimited named tiers, the formula engine, grid editing with bulk maths, CSV round-trip, two-way Linnworks sync with native extended-property storage, customer-tier assignment and per-tier minimum order values — at £29.99/month with a 14-day free trial when it launches. You can read more at the product site, b2b-prices.mcp-g.com.

Want your tier prices living in Linnworks itself rather than someone else's database? Register your interest in B2B Price Tiers at mcp-g.com/apps/b2b-price-tiers and we'll tell you the moment it goes live.

Ready to try it?

Two clicks gets you a hosted Linnworks MCP connected to Claude. Cancel anytime.

See the Linnworks MCP →