Skip to content
5.0 Upwork, 100+ reviews Adobe Certified since 2021 New: become your own Magento developer Learn more →
Industry · Comic books + graphic novels + manga

Magento for comic books and graphic novels: pull lists, pre-orders and graded slabs

Comic shops run on a weekly rhythm that a standard store setup ignores. When owners ask me about Magento for comic books and graphic novels, the real questions are about the pull list, pre-orders you have to count before the final order cutoff, and one issue arriving with five different covers. Graded slabs add another layer, since each is a single item with its own cert number. I work alone as a freelance Magento developer, and below I walk through how I would build each part, including the bits core Magento does not cover.

  • Pull lists that hold each new issue for the customers following that series
  • Pre-orders charged when the book ships, with totals per title for FOC day
  • Graded slabs listed one by one with grader, grade and certification number
Adobe Certified Magento developer since 2021 Freelance, so the person you email is the one writing the code
What makes comics different

Why a comic shop is not a normal web store

A clothing shop sells the same item for months. A comic shop gets a new batch of products every week, and many of them are already promised to someone. Each of the four below changes how the store gets built.

  • Pull list Regulars expect their books held

    Most comic shop regulars keep a list of ongoing series and expect every new issue set aside without asking. That is a standing order, not a subscription box, and Magento has no idea what it is. Something has to match each week’s delivery to the right customers before the shelf copies sell out.

  • FOC You order before anyone buys

    Publishers solicit titles months before release, and the final order cutoff is your last chance to change quantities. Pre-orders taken on your own site are the best evidence you have for that number, so they need to be totalled per title in admin, not scattered across separate orders.

  • Variants One issue, several covers

    A single issue can come with a main cover, open order variants and ratio covers you only get by ordering enough copies. Collectors search for the exact cover they want. Merge them into one product and that search fails; list them as unrelated products and the issue looks like a mess.

  • Cert no. Slabs are one of a kind

    A book graded by CGC, CBCS or PGX is sealed in a case with its grade and a certification number on the label, and careful buyers check that number with the grader before they pay. Every slab is a quantity of one with its own price, and it should leave the catalog the moment it sells.

How I build it

The comic shop setup, piece by piece

Here is how I would handle each part in Magento 2. Where a stock setting does the job I name it, and where a custom module is needed I explain what it does, so the size of the job is clear early.

  • Pull lists without a spreadsheet

    I build pull lists as a small custom module. A customer adds a series to their list from the series page, and it is saved on their account rather than as a recurring payment. When you receive the weekly shipment in admin, the module reserves a copy for each subscriber and creates either a pickup order or a held order that ships once a month. Dropping a series is one click in the account area, because runs end and tastes change.

  • Pre-orders tied to the release date

    Upcoming issues get a release date attribute and go live with backorders allowed, so people can order before the stock exists. A card authorisation will not survive two months, so I use a payment method that can save the card (Braintree and the Stripe module both do this in Magento) and charge it when the book ships. A small admin grid adds up pre-orders per title, which gives you real numbers on FOC day.

  • Variant covers people can find

    Each cover is its own simple product with its own SKU, image and price, since a 1:25 incentive cover does not cost what cover A costs. A grouped product for the issue then shows every cover on one page. Cover artist, variant type and ratio are attributes, so a collector can filter for every virgin cover by one artist and you never write a landing page for it.

  • Graded slabs as single listings

    A slab is a simple product with a quantity of one and attributes for grader, grade, certification number, label type and key notes such as a first appearance. The photos are of that exact slab, front and back, never a stock cover. I link the cert number to the grader’s verification page so buyers can check it themselves. When it sells, the product is disabled and its URL redirects to the series page.

  • Formats, volumes and reading order

    Single issues, trade paperbacks, hardcovers, omnibus editions and manga volumes share one catalog with a format attribute for filtering. Series name and issue or volume number are separate attributes, so category pages sort in reading order instead of by date added. A trade’s page lists the issues it collects and links the other editions of the same story, because some readers want the cheap copy and some want the nice one.

  • Pickup, packing and mature titles

    Most comic shops sell over the counter as well as online, so I turn on in-store pickup, which Magento 2.4 offers as a delivery method through MSI, next to normal shipping. Comics crease easily, so the packing slip states the packing rule: bag and board for issues, a rigid mailer for slabs. Mature titles get a rating attribute that keeps them out of all-ages categories. Magento has no age check of its own, so if you need one, that is an extension.

  • Questions before you start?Read the answers →
Decision shortcuts

Magento isn’t the right answer for every comic shop, here’s the honest cut

I do not push Magento on every LCS. Below: when Magento clearly wins, when ManageComics / ComicHub / Shopify is enough, and the rare hybrid case. Skim, find the one that fits, and skip the deep dive if you already know your answer.

  • Stick with Shopify / ManageComics if

    Stick with Shopify if…

    • Pull-list subscribers under 100, stable
    • No graded slab catalog (just back-issues)
    • Single LCS location, no franchise growth
    • FOC workflow runs cleanly in ManageComics already
    • No publisher MAP enforcement requirement
    • Manga share is low (under ~15%)
    • Ops team is 1-2 people, app-stack acceptable
  • Hybrid (rare)

    Hybrid setup…

    • ManageComics or ComicHub for pull-list back-office
    • Magento storefront for catalog + slab + manga
    • PIM (Akeneo) syncs catalog between systems
    • Justified for high-volume LCS chains
    • POS (Lightspeed) is the inventory-of-truth
    • Operational complexity is real, don’t pick lightly
    • Single-platform usually wins below $3M revenue
The build process

Five steps from audit to optimised comic store

Audit → plan → build → deploy → stabilise. Tuned for the Wednesday release cycle: every FOC submission is a tested go-live with a war-room playbook. Optional ongoing retainer through release-week ops.

  1. 01

    Audit

    Current pull-list system (spreadsheet / ManageComics / ComicHub / paper?), Diamond + Lunar account standing, FOC workflow audit, grading catalog state (slabs in inventory? cert IDs tracked?), publisher mix (Big Two vs manga vs indie %), LCS location count + pull-list portability needs, POS in use (Lightspeed Retail / Square / Clover). 1 week.

    Baseline + gaps
  2. 02

    Plan

    Pull-list architecture (weekly vs monthly aggregate billing, hold-vs-ship default, cancel-single-title flow), FOC ingest schedule (Diamond + Lunar feed cadence, deposit %), slab catalog model (attribute set, photography spec, cert lookup widget), publisher portal priorities (which to launch first by revenue), LCS multi-location rollout if applicable. Written spec + Gantt.

    Locked scope
  3. 03

    Build

    Subscription + pull-list module + Diamond/Lunar FOC ingest + slab catalog + publisher portals + Hyvä storefront + LCS multi-location MSI. 6-14 weeks depending on scope. Test fixtures for a full Wednesday release with 50+ subscriber pulls + walk-in stock. Dry-run a release-day reconciliation against a real Diamond invoice before go-live.

    Build + UAT
  4. 04

    Deploy

    Migrate existing subscriber pull-lists (clean from spreadsheet / paper), import slab inventory with cert-ID lookup verified, pre-warm Hyvä + Cloudflare cache for first Wednesday spike, war-room playbook for FOC submission + release reconciliation. Spreadsheet of every redirect (publisher portals, format filters), DNS / TTL prep. Live for at least one full Wednesday release with backup plan ready.

    Live + verified
  5. 05

    Stabilise

    Monitor pull-list retention by subscriber cohort, FOC fill-rate vs actual sell-through, slab sell-through by grade + grader, publisher portal conversion, release-week reconciliation latency. Iterate on cancel-flow UX, format cross-sell widgets, manga binge promotions after anime drops. Quarterly Diamond/Lunar catalog ingest review. Optional ongoing retainer ($1.5k to $5k/mo) for through-season comic ops.

    Optimised + iterating
Client reviews

Reviews left by people who hired me

Public reviews on Upwork. Same person, same rate card, same playbook for every LCS.

Magento work and feedback View Upwork profile

  • Illustration of Magento 2 development work for a sports footwear and hockey shop
    Sports footwear and hockey shop, Netherlands
  • Illustration of Magento 2 development work for a photo printing supplies wholesaler
    Photo printing supplies wholesaler, Netherlands
  • Illustration of Magento 2 development work for an educational toys and books shop
    Educational toys and books shop
  • Kishan has done an excellent job in a timely manner. He is very knowledgeable, has a very positive attitude, easy to communicate.

    Z. K.Magento 2 client
  • He is technically strong, approaches problems thoughtfully, and focuses on stable, long-term solutions.

    E. H.Magento 2 client
  • Kishan was a pleasure to work with! He is highly skilled, professional, and delivered outstanding results on time.

    M.Magento 2 client
  • Working with comic shops in
  • United States
  • United Kingdom
  • Canada
  • Australia
  • Germany
  • France
  • Netherlands
  • India
Read all reviews
FAQ

Twelve questions LCS owners + manga retailers actually ask

Magento vs Midtown Comics, TFAW, and DCBS, how do they compare?

Midtown Comics, Things From Another World (TFAW), and DCBS (Discount Comic Book Service) are the three online incumbents most independent LCS owners benchmark against. All three run custom storefronts that have evolved over 15+ years and lean heavily on subscription pull-list mechanics + discount tiers.

  • Midtown Comics, NYC-based, runs a custom PHP stack with a deep back-issue search. Strong on graded inventory.
  • TFAW, Oregon-based, custom storefront with one of the cleanest pre-order workflows in the industry (locks orders 3 months ahead of street date).
  • DCBS, Indiana-based, deepest pull-list discounts (up to 50% off MSRP at the top tier).

Magento + Hyvä gets you to the same operational surface area as those three at a fraction of the dev cost. Native pull-list (subscription product type), tier pricing per customer group (matches DCBS’s sub-tier discounts), Diamond + Lunar catalog ingest via custom data feed, CGC/CBCS slab certification lookup as a product attribute. The trade-off: you build it yourself instead of buying a turnkey vertical SaaS, and there is no comic-books vertical SaaS at this depth.

Pull-list weekly subscription, how does it work on Magento?

Pull-list is the heartbeat of every LCS: a customer subscribes to a title (e.g. Amazing Spider-Man), and every Wednesday when a new issue ships, you reserve a copy and either ship it or hold it for pickup. Typical pull-list sizes I see: 5-30 active titles per subscriber, sometimes 50+ for hardcore readers.

The Magento implementation:

  • Custom product type, pull-list-title, distinct from simple product. Each title is one Magento product, each weekly issue is a child variant linked by issue number.
  • Subscription extension, Aheadworks Subscriptions, Mageplaza Recurring Payments, or Magenest Subscription. Customer subscribes to the title; weekly cron picks the newest issue variant and creates a draft order.
  • Hold-vs-ship preference, customer attribute (hold at counter / ship monthly / ship weekly). Drives shipping cron logic.
  • Discount tiers, customer-group-based. Tier 1 (5-9 titles) = 10% off, Tier 2 (10-24) = 20% off, Tier 3 (25+) = 30% off. Mirrors DCBS and TFAW patterns.

Edge cases the cron must handle: title cancellation mid-arc (auto-resubscribe to relaunch), variant cover preferences (subscriber wants Cover B only), issue-skipping (subscriber on holiday).

Diamond + Lunar Previews catalog ingest, how do you handle pre-orders 2-3 months ahead?

The comic-books supply chain runs on the Previews catalog, a monthly catalog of titles streeting 2-3 months out. Diamond Comic Distributors historically published Previews; since 2020 Lunar Distribution handles DC titles and Diamond handles Marvel + Image + others. Most LCS owners now ingest two catalogs.

The ingest pattern:

  • Monthly CSV/XLSX import, each distributor publishes a Previews catalog as a downloadable spreadsheet (Diamond as DCD, Lunar as a CSV from their portal). Magento ingests via a custom php bin/magento panth:previews:import command that reads the file and creates Magento products in draft status.
  • Product staging, new pre-order products are marked “coming soon” with a street date attribute. The PDP shows the cover art, creator credits, and a “Pre-order” CTA that locks the price.
  • Order locking, orders for pre-order products are charged at order placement (matches TFAW pattern) or at street-date (matches Midtown pattern), configurable per shop policy.
  • FOC (Final Order Cutoff), 3 weeks before street date the LCS must finalize quantities with the distributor. A Magento cron aggregates pre-orders and emits a report so the owner submits accurate numbers.

Without this workflow LCS owners either over-order (eat the loss on unsold copies) or under-order (lose the sale). Getting it right is the #1 operational lever on margin.

CGC, CBCS, and PGX graded collectibles, how do you handle slab certification IDs?

Graded collectibles are slabbed by one of three certification companies:

  • CGC (Certified Guaranty Company), the dominant grader, owned by Collectors Universe. Each slab has a unique certification number printed on the label (e.g. 4012345678). Buyers verify the grade on cgccomics.com by entering the cert ID.
  • CBCS (Comic Book Certification Service), the #2 grader, acquired by Beckett. Cert IDs follow a similar format. Verified on cbcscomics.com.
  • PGX (Professional Grading eXperts), smaller third grader, controversial in the hobby due to historical grading inconsistencies. Cert IDs verifiable on pgxcomics.com.

The Magento implementation: each graded slab is a unique Magento product (not a configurable). Custom attributes: grader (CGC/CBCS/PGX), grade (e.g. 9.8), cert ID (unique, indexable), signature series (yes/no), pedigree (yes/no, with collection name), restoration disclosure. PDP renders a “Verify on cgccomics.com” deep-link that opens the cert-lookup page pre-filled with the cert ID.

SEO win: each cert ID generates a unique canonical URL, indexable by Google. Collectors search for specific cert IDs, ranking on those queries captures buyers actively hunting for the slab.

Publisher MAP/MSRP enforcement (Marvel, DC, Image), how strict is it?

Comic-book publishers run MAP (Minimum Advertised Price) and MSRP policies, but enforcement varies sharply:

  • Marvel, MSRP printed on the cover (e.g. $3.99, $4.99, $5.99). MAP is not formally enforced for back issues; new-release discounting up to 20-30% is common. Subscription bundle discounts (DCBS up to 50%) operate outside MAP because they are subscription-only.
  • DC, similar to Marvel. Since the 2020 distribution shift to Lunar, DC has been more permissive on discounting. The cover price is the MSRP; aggressive discounting on TPBs is normal.
  • Image, Dark Horse, IDW, publisher MAP is essentially nonexistent. LCS owners discount freely on indie titles.
  • Manga (Viz, Kodansha, Yen Press), Viz enforces MAP more strictly than US publishers, especially on flagship series (One Piece, My Hero Academia). Aggressive discounting can trigger account review.

The Magento implementation: a customer-group-aware price-rule engine that respects publisher MAP for guest visitors (advertised price ≥ MAP) but allows tier-pricing below MAP for logged-in subscribers (subscription-only discount, not advertised). Mirrors the DCBS pattern and stays compliant with publisher account terms.

Format filter (single issues / TPB / HC / omnibus), how do you architect it?

Comic-books catalogs have a strong format axis that does not exist in other ecom verticals. A single title (e.g. Saga) ships in four formats:

  • Single issues, monthly comics, ~$3.99, $5.99 cover price.
  • Trade paperbacks (TPBs), soft-cover collections of 5-7 single issues, ~$14.99, $19.99.
  • Hardcovers, deluxe collections of 10-15 issues, ~$29.99, $49.99.
  • Omnibus editions, massive hardcover collections of 30-100+ issues, ~$75, $150.

Magento architecture: each format is a separate product family linked by a shared series attribute (e.g. series:saga). Layered navigation filter on format lets the customer narrow by format on the series page. PDP cross-links to the other formats (“Also available as TPB / HC / omnibus”).

For collectors hunting a specific reading order (e.g. The Walking Dead Compendium 1 = single issues 1-48 = TPBs 1-8), a custom “reading order” widget on the series page maps formats to issue ranges. This is the kind of UX detail that separates a serious LCS storefront from a generic ecom skin.

LCS franchise / multi-location pull-list portability, how does it work on Magento?

Larger LCS chains (think Mile High Comics, Galaxy of Comics, Big Bang Comics franchise model) operate 3-15 physical locations and need pull-list portability: a subscriber who moves from the Denver store to the Boulder store keeps their pull-list, history, and tier-pricing intact.

The Magento implementation:

  • Store-view-per-location, one Magento store, multiple store views, each tied to a physical location. Customer accounts are shared across store views.
  • Customer attribute: home_store, identifies the customer’s primary location for pickup-hold logic and local-event invites. Editable by the customer.
  • Stock per location, Magento Multi-Source Inventory (MSI) with one source per location. Pull-list cron reserves stock from the home_store source first, falls back to other locations.
  • Tier-pricing globally shared, customer groups (Tier 1/2/3) apply across all locations. A 25-title subscriber gets Tier 3 discount whether they pick up in Denver or Boulder.
  • Per-location reporting, Magento order reports filtered by store view feed the franchise-level operations dashboard.

This is the architecture that lets a 15-location chain run one Magento install instead of 15 separate ones. The operational savings (one PIM, one customer database, one pull-list cron, one pre-order ingest) are the reason LCS chains migrate from Lightspeed Retail / ComicHub to Magento.

Manga supply (Viz, Kodansha, Yen Press), how do you handle it?

Manga has a different supply chain from US comics:

  • Viz Media, the dominant US manga publisher. Owns the US rights to One Piece, Naruto, Bleach, My Hero Academia, Demon Slayer. Distributes through Penguin Random House Publisher Services to the book trade and direct to comic shops.
  • Kodansha USA, second-largest. Attack on Titan, Fairy Tail, Sailor Moon. Also Penguin Random House for trade, direct for comic shops.
  • Yen Press, owned by Hachette + Kadokawa. Spy x Family, Sword Art Online, Solo Leveling. Distributed by Hachette Book Group.
  • Seven Seas, Dark Horse Manga, Square Enix Manga, smaller players.

The Magento implementation differs from US comics: manga volumes are book-trade products (ISBN-indexed, EAN-13 barcoded) rather than DM (direct-market) products. Catalog ingest typically pulls from Ingram Content Group’s API or Edelweiss (BookExpo) feed instead of Previews. Pre-order windows are 3-6 months (longer than US comics) because of overseas printing.

Tier pricing on manga is tighter (Viz enforces MAP more strictly than US publishers). Manga-specific edge cases: omnibus collections (3-in-1 editions, deluxe hardcovers), digital-first releases (Manga Plus titles eventually getting print runs), localization variants (uncensored vs. age-rated). Each becomes a Magento product attribute.

Anti-piracy + bootleg detection, how do you protect publisher trust?

Comic-books piracy operates on three axes:

  • Scanlation, fan-scanned and translated manga uploaded to aggregator sites (MangaDex, Mangakakalot). Damages Viz/Kodansha/Yen Press revenue directly; publishers issue DMCA takedowns daily.
  • Bootleg slabs, counterfeit CGC/CBCS slabs with fake cert IDs. Resold on eBay, Marketplace, and shady comic-shop networks. CGC publishes a fraud bulletin quarterly.
  • Print bootlegs, unauthorized print runs of out-of-print or hot variant covers (e.g. unauthorized reprints of Walking Dead #1). Sold at conventions and online.

The Magento implementation:

  • Cert ID validation, on graded slab product creation, the cert ID is validated against CGC/CBCS/PGX’s public lookup API (where available) or admin-flagged for manual review. Mismatches block the product from going live.
  • Supplier whitelist, products with a graded slab attribute must be linked to an approved supplier (your own grading submissions, or trusted wholesalers like Heritage Auctions, Comic Connect, MyComicShop).
  • Anti-piracy footer disclaimer, on every PDP, a publisher-supplied disclaimer (e.g. “Genuine product. Counterfeit CGC slabs reported through CGC's official fraud-reporting channel”) reinforces buyer trust.
  • Watermarked scans, product images watermarked with shop URL to deter image-theft for bootleg listings.

Publishers (Marvel, DC, Image, Viz) factor anti-piracy compliance into account approval. Doing this right protects your account status, not just your customers.

For help implementing this on your store, message me on WhatsApp (https://wa.me/918401270422).

Multi-region (US, UK, EU, Asia), can one Magento serve all of them?

Yes, via store-view-per-region. The comic-books vertical has specific multi-region quirks:

  • US, primary market. Diamond + Lunar Previews, USD pricing, US tax (sales-tax-by-state via Avalara or TaxJar), USPS/UPS shipping. Subscription bundles standard.
  • UK, Forbidden Planet is the incumbent. GBP pricing, VAT-included display, Royal Mail shipping. UK manga share is higher than US (~30% vs 20%).
  • EU, fragmented (separate Italian, French, German manga publishers like J-Pop, Glenat, Carlsen). EUR pricing, country-by-country VAT, DHL/DPD shipping. EU customs since Brexit complicates US-to-EU shipments, IOSS registration required for parcels under €150.
  • Asia (Japan, Singapore, Hong Kong), manga readers buy English-language editions when they want lettering vs. original Japanese. Customs paperwork heavy; international shipping rates ~3x domestic US.

Magento Multi-Source Inventory (MSI) handles inventory per region. Store views handle currency, tax, language. Manga MAP enforcement varies by region, Viz US discounting rules differ from Viz UK.

The piece most LCS owners under-plan: customs documentation for international shipping. Each shipment needs HS codes (4901.10 for comic books, 4901.99 for graphic novels) and a commercial invoice. Magento integrates with EasyPost / Shippo / ShipStation to auto-generate this paperwork.

Cost + timeline + credentials, what does a comic-books Magento project look like?

Pricing is a fixed written quote for your scope. Send the details on WhatsApp and I reply within one working day. Realistic ranges for a comic-shop project:

  • Starter sprint, / ~20 hours. Audit your current platform, fix the 3 highest-impact issues (typically pull-list cron, pre-order PDP, or grading attribute setup), document the rest.
  • Full Magento + Hyvä rebuild, / ~200 hours. Theme setup, pull-list subscription product type, Diamond + Lunar Previews ingest, CGC/CBCS slab attribute + cert-lookup deep-link, customer-group tier pricing, publisher MAP/MSRP compliance, multi-region if needed.
  • Enterprise / LCS franchise, Multi-location MSI, franchise reporting dashboard, ERP/POS integration (ComicHub, Lightspeed Retail, Square), Avalara/TaxJar tax automation, channel manager for eBay + Amazon + ComiXology (where still applicable).

Timeline: 4-6 weeks for the full rebuild on a typical 3-15k-SKU shop. Faster (3 weeks) if catalog is small and design is preserved; longer (10-14 weeks) for LCS franchise multi-location in scope.

Credentials: Adobe-Certified Magento developer, 30+ Magento + Hyvä stores shipped, comic-books vertical experience including pull-list cron + Previews ingest + graded-slab cataloging. Three pull-list subscription stores live in production today. References available on request.

Edge cases, single-LCS local shop vs. national online retailer, what differs?

The architecture differs by scale:

  • Single-LCS local shop ($50k, $1M GMV), pull-list of 50-500 subscribers, mostly pickup at counter, small graded inventory, walk-in traffic drives 60-80% of revenue. Magento is overkill for this tier unless online is growing fast; Shopify or Lightspeed Retail is often the right answer.
  • Multi-LCS chain ($1M, $10M GMV), 3-8 locations, pull-list portability across stores, franchise reporting, shared customer database. This is where Magento + MSI shines, one install, one cron, one customer record across locations.
  • National online retailer ($5M, $50M+ GMV), modeled after Midtown / TFAW / DCBS. Heavy pre-order operation, deep back-issue catalog (50k+ SKUs), aggressive subscription discount tiers, marketplace presence on eBay + Amazon. Magento is the obvious choice; the work is in operational depth (cataloging speed, pre-order accuracy, customer support volume) more than platform features.
  • Manga specialty, differs from generic LCS in supply chain (book-trade ISBN/EAN vs. DM Previews), pre-order window (6 months vs. 3), and publisher MAP enforcement (Viz stricter than Marvel/DC). Worth a dedicated catalog architecture.
  • Collectibles + grading focus, each slab is a unique product, cert ID drives canonical URL, photography is far more important (high-res scans of the slab front and back). Heritage Auctions and ComicConnect are the references.

Sketch the model first, then pick the tool. Magento serves the middle and upper segments well; lower-tier shops should stay on Lightspeed Retail / ComicHub until volume justifies the rebuild.

Free comic-platform consultation

Book a free 30-min comic-Magento consultation

Tell me your pull-list count, Diamond/Lunar account standing, slab catalog state, and number of LCS locations. I’ll send a written platform-fit recommendation within 24 hours and include a 30-min calendar link if a call would help. No upsell.

Message me on WhatsApp

No form to fill. Send me a quick message. I reply during 10 AM to 7 PM IST, Monday to Saturday.

Helpful to mention

  • Current platform
  • Store URL
  • Annual GMV (USD)
  • Weekly pull-list subscribers
  • Graded collectibles share of revenue
  • Primary category

These are already in the message for you. Just add your answers.

Message me on WhatsApp

Or save my number: +91 84012 70422

Built for your trade Share your store requirements Message me