XtraDTF Platform Strategy

One Print Engine, Many Storefronts

A product and channel strategy for selling DTF film, gang sheets, decorated products, partner wholesale, API white-label POD, and full print-shop tenant workflows — all powered by the same pricing and production core.

Prepared June 2026 · Internal planning document

Executive summary

Everything that touches film — gang sheets, single prints, and prints applied to garments — should share one pipeline: upload, analysis, packing, and the same cost formula (film, ink, labor, equipment, cutting, margin).

What changes per audience is who they are, what they buy, the price they see, and who fulfills. This is one platform with multiple commercial surfaces — not five separate products.

Five audiences, five surfaces

1

Public — film only

RetailGang sheets

End users or small shops not on the platform. Order transfers on film; you print, cut, and ship.

2

Public — decorated products (POD)

RetailCatalog

End consumers pick category → product → variant, upload a design, receive a finished pressed garment.

3

Extranet — partner shops

WholesaleHeat press

Registered shops with presses order film at a discount through a logged-in portal (not public pricing).

4

API / embed partners

White-labelDropship POD

Partners build their own sites using our API. We produce and dropship; they set retail pricing.

5

Full tenants

In-house opsNetwork

Print shops with own printers and presses use the full workflow, network fulfillment, and their own website.

                    ┌─────────────────────────────────────┐
                    │  Shared: upload, pack, quote engine │
                    └─────────────────────────────────────┘
                                        │
        ┌───────────────┬───────────────┼───────────────┬───────────────┐
        ▼               ▼               ▼               ▼               ▼
   Public film    Public POD      Extranet        API / embed      Full tenant
   (retail)       (retail)        (discount)      (POD partner)    (in-house + network)
      

Audience details

1. Public — prints & gang sheets (film only)

BuyerEnd user or shop not signed up on the system
ProductDTF transfers on film (gang sheet builder)
FulfillmentYou print, cut, and ship film
PricingPublic retail from shop pricing + printer markup

2. Public — products with uploaded designs

BuyerEnd consumer
ProductCategory → product → color/size; design on placement(s)
FulfillmentYou print film, heat press, ship finished goods
PricingPrint cost (same formula) + blank cost + decoration labor + public markup
Admin needCategories, products, variants, placements, and public markup rules

A separate product-decorator UI is fine; it should call the same quote engine with different line types and catalog IDs.

3. Extranet — heat-press shops (discounted film)

BuyerRegistered partner shop with a heat press
ProductSame as public film (gang sheets / prints)
FulfillmentYou print film; partner presses locally
PricingSame cost engine + partner tier / volume discount

Same builder behind authentication, with a pricing channel such as partner_wholesale instead of public.

4. API / embed — partner POD dropship

BuyerPartner’s end customer (on their website)
SellerShop using embed key + API
ProductFilm and/or decorated products from their catalog
FulfillmentYou print, press, and ship in partner’s name
PricingPartner pays wholesale; they set their own retail

5. Full tenants — in-house + network

OperatorPrint shop with own equipment on the platform
FulfillmentSelf (their printers/press), network overflow, or film ordered from XtraDTF
CapabilitiesShop admin, ops queue, their catalog, their embed, optional subscription

One order model, multiple line types

One checkout and order spine; production behavior depends on line type:

Line type Customer sees Production generates
gang_sheet Gang sheet / film order Packed sheets → print queue
print_only Single sized design Same pipeline (possibly 1-up)
decorated_product “Black XL tee, front print” Sheet item + pick blank + press + ship
blank_only Optional blank add-on Pick and pack only

Print cost on decorated lines = quote engine on placement dimensions × quantity.
Line total = print cost + blank + decoration labor + channel markup.

Pricing stack

One formula serves all channels via layered adjustments:

Base cost (internal)
  film + ink + powder + labor + equipment + power + cutting
        ↓
+ Shop / printer margin
        ↓
= Production price
        ↓
+ Channel adjustment
  • Public retail markup
  • Partner discount (extranet)
  • API wholesale (partner pays you)
  • Tenant internal cost (they set own retail)
        ↓
+ Product layer (POD only)
  blank cost + press labor + category/product markup
        ↓
= Final price (customer or partner)
      

Suggested pricing channels: public, partner_{tier}, api_wholesale, tenant_internal.

Catalog structure (for public POD)

Categories (Apparel, Headwear, Bags…)
  └── Products (Gildan 5000, Port & Co PC54…)
        └── Variants (color + size) → SKU, blank cost, weight
        └── Print placements (front, back, left chest…)
              └── max width/height, default position
      

Markup rules (admin)

Publish flags (per product or shop)

Tools & APIs

ToolAudiencePrimary output
Gang sheet / film builderPublic, extranet, APIFilm line items
Product decorator (new)Public POD, API PODDecorated product lines
Shop adminXtraDTF + tenantsCatalog, markup, policies
Extranet portalDiscount partnersFilm orders at partner pricing
OpsProduction floorPrint queue & fulfillment

Example API surface

Fulfillment matrix

Scenario Prints film Presses Ships Branding
Public filmYouCustomerYou → customerYours
Public PODYouYouYouYours
Extranet filmYouPartnerYou → partnerYours
API PODYouYouYou → their customerTheirs
Full tenant (self)TenantTenantTenantTheirs
Network jobAssigned shopAssigned shopPer agreementPer shop

Suggested phasing

Phase A — Channels on current film builder

  • Public film (current path to production)
  • Partner extranet film (auth + discount tier, same builder)
  • No product catalog yet

Phase B — Public POD MVP

  • Admin: categories, products, variants, markup
  • Product decorator UI + quote API sharing print formula
  • In-house press + ship only

Phase C — API partners

  • Per-shop catalog + wholesale pricing
  • Dropship addressing on checkout
  • Embed for film + product builder

Phase D — Full tenant + network

  • Tenant-owned printers and ops
  • Route orders to network shops
  • Optional “buy film from XtraDTF” for tenants without wide-format

Key decisions to make early

  1. Extranet vs full tenant — Is a discounted film shop a light account (pricing tier only) or a full shop with fewer features?
  2. Catalog ownership — Platform master catalog cloned to shops, or each shop brings their own SKUs?
  3. Mixed cart — Can one checkout combine gang sheets and decorated products? (Recommend yes in the order model from day one.)
  4. Print-only vs gang sheet — Are “prints” always sheet-packed, or true 1-up single-image orders?
  5. POD press role — For API partners, do you always press, or sometimes ship film + blank kits?

Bottom line

  • Film = current gang sheet path; sold retail, wholesale, or via API.
  • POD = same print math + catalog + blank + markup; separate builder, same order spine.
  • Extranet = authenticated channel with discount, not a different product.
  • API tenants = their site, your production, wholesale settlement.
  • Full tenants = their equipment, optional network, optional buying film from XtraDTF.