top of page

Our Brands

Full Directory

Nip_fab_logo-removebg-preview.png
Sci_mx-removebg-preview.png
Lilys_kitchen-removebg-preview.png
Nivea_logo-removebg-preview.png
Vitabiotics_Logo-removebg-preview.png
Nestle-Logo-removebg-preview.png
​
bottom of page

UK AMAZON DISTRIBUTION

Connecting
great brands
with more
customers.

A trusted UK partner for brands and wholesalers, helping products reach customers across the Amazon marketplace.

TRUSTED
PARTNER
ESTABLISHED
SUPPLY CHAINS
GROWING
BRANDS
LONG TERM
RELATIONSHIPS
Company UK limited company, No. 14793867
VAT Registered, GB473999029
Trading since April 2023
Based Mildenhall, Suffolk, UK

What we do

Two relationships, one operator.

Wholesalers and brands supply the product. TJ Archives buys it on trade terms and carries it through to the Amazon customer. The seller account, listings, stock, fulfilment and service all sit with us, under one accountable operation.

What we run

  • Inventory planning
  • Fulfilment and dispatch
  • Customer service
  • Listing creation and content
  • Account health and compliance

For Brands

You own the brand. We run it on Amazon UK.

If your products belong on Amazon UK, we can be the ones running them there. We take distribution seriously and treat your brand like it is ours on the line.

  • Amazon UK distribution handled end to end
  • Brand presentation kept consistent with your standards
  • Clear communication, one point of contact
  • Terms agreed up front, in writing
Contact us as a brand

For Wholesalers

You hold the stock. We buy it on agreed terms.

If you hold stock and need a buyer who moves at trade pace, talk to us. We source across categories, decide quickly, and pay on agreed terms.

  • Fast decisions on offered stock
  • Multiple categories considered
  • Payment on agreed terms, every time
  • Repeat business when the first deal goes right
Contact us as a wholesaler

Categories

Categories we work across.

If your category is not listed, ask. The counter is wider than the sign above it.

HEALTH & BEAUTY
SPORTS NUTRITION
SUPPLEMENTS
SKINCARE
PET FOOD

Process

One process, both sides of the counter.

A clear, straightforward process built around long-term partnerships.

Stronger partnerships
Brighter opportunities

01

You reach out.

Brands send a distribution brief. Wholesalers send a stock list. Either way, it lands in one inbox and gets read by a person.

02

We agree terms.

Pricing, volumes and timelines are settled in writing before anything moves. No surprises after the handshake.

03

We trade.

Stock ships, listings run, payments clear. Then we do it again, because repeat business is the whole point.

UK based.
Nationwide reach.
Bigger opportunities.

Contact

Put it in writing

We work with brand owners, wholesalers, and distributors looking for a reliable UK Amazon operator. Send the detail below and we will come back with a considered answer.

  • Your product categories and current range
  • Whether you are a brand owner, wholesaler, or distributor
  • Your current Amazon presence, if any
  • What you are looking to discuss
`); const hub = proj(HUB); const ieD = path({ type: "FeatureCollection", features: ie }); const ukD = path({ type: "FeatureCollection", features: uk }); const clip = svg.select("defs").append("clipPath").attr("id", "hero-ukClip"); clip.append("path").attr("d", ukD); const stage = svg.append("g").attr("filter", "url(#hero-landLift)"); stage.append("path").attr("d", ieD) .attr("fill", "#12386E") .attr("stroke", "#4E79BC") .attr("stroke-width", 1.4) .attr("opacity", 0.62) .attr("stroke-linejoin", "round"); stage.append("path").attr("d", ukD) .attr("fill", "url(#hero-landGrad)") .attr("stroke", "#7FA8DE") .attr("stroke-width", 9) .attr("opacity", 0.22) .attr("stroke-linejoin", "round"); stage.append("path").attr("d", ukD) .attr("fill", "url(#hero-landGrad)") .attr("stroke", "none"); const admin = stage.append("g") .attr("clip-path", "url(#hero-ukClip)") .attr("fill", "none") .attr("stroke", "#A8C4E8") .attr("stroke-width", 1) .attr("opacity", 0.44); if (engT) admin.append("path").attr("d", interior(engT, "lad")); if (walT) admin.append("path").attr("d", interior(walT, "lad")); if (niT) admin.append("path").attr("d", interior(niT, "lgd")); const scot = stage.append("g") .attr("clip-path", "url(#hero-ukClip)") .attr("fill", "none") .attr("stroke", "#A8C4E8") .attr("stroke-width", 1) .attr("opacity", 0.38); scoT.forEach(function (t) { const key = Object.keys(t.objects)[0]; scot.append("path").attr("d", path(topojson.mesh(t, t.objects[key]))); }); stage.append("path").attr("d", ukD) .attr("fill", "none") .attr("stroke", "#DCE8F8") .attr("stroke-width", 2.2) .attr("stroke-linejoin", "round") .attr("stroke-linecap", "round"); const arcs = svg.append("g"); function arc(a, b, bowScale, tier) { const mx = (a[0] + b[0]) / 2, my = (a[1] + b[1]) / 2; const dx = b[0] - a[0], dy = b[1] - a[1], L = Math.hypot(dx, dy) || 1; const bow = L * bowScale * (b[0] < a[0] ? 1 : -1); const cx = mx + (-dy / L) * bow, cy = my + (dx / L) * bow; const el = arcs.append("path").attr("class", "uk-arc") .attr("d", `M${a[0]},${a[1]} Q${cx},${cy} ${b[0]},${b[1]}`) .attr("stroke-width", tier === 2 ? 3.0 : 2.0) .attr("opacity", tier === 2 ? 0.62 : 0.32); const len = el.node().getTotalLength(); el.style("--len", len).style("animation-delay", (200 + Math.random() * 600) + "ms"); } const at = function (n) { const c = CITIES.find(function (x) { return x[0] === n; }); return proj([c[1], c[2]]); }; CITIES.filter(function (c) { return c[3] === 2; }).forEach(function (c) { arc(hub, proj([c[1], c[2]]), 0.20, 2); }); CITIES.filter(function (c) { return c[3] === 1; }).forEach(function (c) { arc(hub, proj([c[1], c[2]]), 0.26, 1); }); [["Manchester", "Glasgow"], ["Birmingham", "Cardiff"], ["Leeds", "Newcastle"], ["Bristol", "Plymouth"], ["Edinburgh", "Aberdeen"], ["Liverpool", "Belfast"], ["London", "Southampton"]].forEach(function (pair) { arc(at(pair[0]), at(pair[1]), 0.18, 1); }); const nodes = svg.append("g"); CITIES.forEach(function (city) { const p = proj([city[1], city[2]]); const tier = city[3]; if (tier === 2) { nodes.append("circle").attr("class", "uk-node-pulse") .attr("cx", p[0]).attr("cy", p[1]).attr("r", 42) .attr("fill", "url(#hero-nodeGlow)"); nodes.append("circle") .attr("cx", p[0]).attr("cy", p[1]).attr("r", 7) .attr("fill", "#F6E7BC"); } else if (tier === 1) { nodes.append("circle").attr("class", "uk-node-pulse") .attr("cx", p[0]).attr("cy", p[1]).attr("r", 23) .attr("fill", "url(#hero-nodeGlow)") .attr("opacity", 0.72); nodes.append("circle") .attr("cx", p[0]).attr("cy", p[1]).attr("r", 4.6) .attr("fill", "#EBD79F"); } else { nodes.append("circle") .attr("cx", p[0]).attr("cy", p[1]).attr("r", 3.4) .attr("fill", "#DCC888") .attr("opacity", 0.8); } }); nodes.append("circle").attr("class", "uk-hub-bloom") .attr("cx", hub[0]).attr("cy", hub[1]).attr("r", 128) .attr("fill", "url(#hero-hubGlow)"); nodes.append("circle") .attr("cx", hub[0]).attr("cy", hub[1]).attr("r", 52) .attr("fill", "none").attr("stroke", "#C9A84C") .attr("stroke-width", 1).attr("opacity", 0.22); nodes.append("circle") .attr("cx", hub[0]).attr("cy", hub[1]).attr("r", 30) .attr("fill", "none").attr("stroke", "#C9A84C") .attr("stroke-width", 1.2).attr("opacity", 0.45); nodes.append("circle") .attr("cx", hub[0]).attr("cy", hub[1]).attr("r", 9) .attr("fill", "#FBF1D6"); }); })();