Marcus Reyes
Supply Chain & Inventory Specialist | 12 Years
Marcus has managed supply chain and inventory operations in food & beverage manufacturing for over a decade, with a focus on compliance, lot traceability, and waste reduction. He has worked with FDA-regulated manufacturers across the US.
When Your Product Catalog Is Actually Two Businesses
Contract manufacturers, co-packers, and white-label producers run into a specific mess that a straightforward, single-brand manufacturer never sees: their product catalog isn't one catalog. It's their own house line — the recipes and finished goods they sell under their own name — plus a growing pile of near-identical variants built for other people's brands. A hand cream base with a house label. That same base, minus the house fragrance blend, sold under three different private-label customers' names, each with its own minor formulation tweak.
Dump all of that into one flat product list and it becomes impossible to tell, at a glance, which BOM is a house recipe you can freely change and which one belongs to a specific customer with their own formula, pricing, and expectations. Sales asks "can we adjust the vanilla note on this one?" and nobody's sure if "this one" is the house version or Customer B's private-label version until someone opens the BOM and reads every line to figure it out.
What "Private Label," "White-Label," and "Custom Blend" Mean Here
The terms overlap but aren't identical. Private label and white-label both describe manufacturing a product sold under someone else's brand rather than your own — the distinction between the two is more marketing convention than operational (private label usually implies some degree of customer-specific formulation; white-label usually implies a mostly-identical product with different packaging). Custom blend is the operational reality underneath both: a formula built specifically for one customer, distinct from — but often derived from — your standard house recipe.
For a contract manufacturer or co-packer, all three point at the same operational need: a way to keep a customer's formula and identity attached to its own BOM and product record, separate from the house version, without duplicating your entire product structure by hand every time a new private-label deal closes.
How Nstock Separates Custom Blends From House Recipes
Nstock handles this with tagging, not a separate system. A Master Product and its BOM can carry a customer tag — set together whenever a blend is created for that customer — that marks them as belonging to a specific wholesale customer's custom formulation.
That tag changes how things display, not how they behave. A tagged product picks up a "Blend: [customer name]" badge on the Master Products page, and the page gets a House / Customer blends filter — defaulting to showing house products once any tagged blend exists, so the day-to-day product list doesn't get cluttered with every customer's private variant. The BOMs page splits the same way: Formulation BOMs, your untagged house recipes, in one section, and Customer Blends, grouped by customer and collapsible, in another — each independently paginated, so a contract manufacturer running fifteen private-label accounts isn't scrolling past sixty customer BOMs to find their own house formula.
Underneath, the production engine treats a tagged BOM exactly the same as an untagged one — cost rollup, production runs, and inventory tracking don't know or care whose formula it is. The tag is purely an organizational layer on top of the same mechanics covered in multi-level BOM costing; it doesn't change how a BOM's cost is calculated or how production consumes it.
Duplicate-and-Adjust, Not Build-From-Scratch
The actual moment a private-label deal turns into a real BOM usually starts the same way: take something you already make and adjust it for the new customer, rather than build a formula from a blank page. Nstock's Duplicate action, available from both the BOMs list and a dedicated Custom Blends page, clones a source BOM into a brand-new product and BOM, tagged for the customer you're building it for.
From the Custom Blends view, starting a new blend creates a tagged placeholder product for the customer and deep-links straight into the BOM builder to define its components, with the product picker locked to that placeholder so nobody accidentally attaches the new formula to the wrong product. The edit screen for an existing customer blend shows a read-only "For customer" banner and always carries the tag forward on save, so a private-label formula doesn't quietly lose its customer attribution the next time someone edits a quantity.
Practically, that means the fastest way to quote a new private-label customer isn't opening a blank BOM builder — it's duplicating your closest house recipe, tagging the copy for the new customer, and adjusting from there.
The Wholesale Customer Registry
Custom blends need somewhere to point their customer tag at, and that's a dedicated wholesale customer registry — a lightweight contact list of the private-label and wholesale accounts a contract manufacturer or co-packer works with. It's deliberately not a CRM: no pipeline stages, no communication history, just the record that ties a customer's name to their tagged blends and, on the sales side, to their orders and quotes.
That registry is what a wholesale-customer picker on the order and quote screens searches against. Pick a customer, and the line-item list narrows to house products plus that customer's own tagged blends, so nobody's building an order for Customer A using Customer B's private formula by mistake.
Tracking B2B, B2C, and Custom Channels on Orders and Quotes
Formulas are half the picture; the other half is knowing which sales are retail, which are standard wholesale, and which are custom private-label work, especially when all three flow through the same order list. Nstock adds a channel field to both sales orders and sales quotes, with three values: retail (B2C), wholesale (B2B), and custom (private-label/white-label). Orders and quotes carry a Channel badge in the list view and a Channel select when creating a new one; picking the custom channel surfaces the wholesale-customer picker described above, since a custom order only makes sense tied to a specific private-label account.
The defaults are set up to match how orders actually arrive. Orders synced in automatically from Shopify, WooCommerce, or Amazon are always tagged B2C, since those are retail storefronts by definition. Orders entered manually or imported by CSV get a channel default based on their source text — if the source mentions "Faire," for instance, the order defaults to the wholesale channel, matching the pattern for orders coming from a wholesale marketplace like Faire. That's channel-tagging logic, not a live Faire integration — there's no direct API connection to Faire today. It's the same CSV or manual-entry path as any other order, with tolerant defaulting so wholesale-marketplace orders don't all need to be manually re-tagged one by one. Existing orders and quotes created before this field existed simply display as B2C by default, with no migration required.
Once orders and quotes carry a channel, filtering the order list down to just custom or private-label activity for a given month, or separating true retail from wholesale for a sales review, is a filter click instead of a manual sort through a spreadsheet.
A Worked Example
Take a contract skincare manufacturer running one house line and private-label work for four retail brands. Their house hand cream BOM is untagged, sitting in Formulation BOMs. Brand A wants a version with a different fragrance — the team duplicates the house BOM, tags the copy for Brand A's customer record, and adjusts the fragrance component; it lands in the Customer Blends section, grouped under Brand A alongside two other formulas already built for them. When Brand A places a reorder, it's entered as a custom-channel order linked to their wholesale customer record, pulling from the same list of Brand A's tagged blends so there's no chance of quoting or shipping the wrong formula.
If that hand cream base also happens to have its own staged production process — mixing a base, then adding fragrance and color as a later step — that's a separate, complementary piece of the picture. See Kitting Software for Manufacturers: Kitting vs. Multi-Step BOMs for how Nstock models a staged recipe like that as one production order, independent of whether the finished BOM is a house formula or a tagged customer blend.
What This Doesn't Do
Worth being direct about the boundaries. The wholesale customer registry is a contact list, not a CRM — no deal pipeline, no email history, no task tracking beyond the tag itself. Channel tagging on orders and quotes is a field you set, with reasonable defaults, not a live connection to Faire or any other wholesale marketplace platform — there's no automated order pull from Faire today. And custom blends are an organizational tag on top of the same BOM and costing engine every product uses, not a parallel formulation-management system with its own approval workflow or version history beyond what any BOM edit already tracks.
Frequently Asked Questions
What is private-label or white-label manufacturing software?
Private-label and white-label manufacturing software lets a contract manufacturer or co-packer store and produce customer-specific formulas — versions of a product built for another brand — separately from their own house recipes, while using the same production, costing, and inventory system for both. In Nstock, that separation is a customer tag on a Master Product and its BOM, not a second system.
How do I create a custom blend for a new wholesale customer?
Add the customer to the wholesale customer registry, then either duplicate an existing house BOM, or another customer's blend, into a new tagged product, or start a new blend directly from the Custom Blends view, which creates a tagged placeholder product and deep-links into the BOM builder to define it.
Can I sell the same base formula to multiple private-label customers?
Each tagged customer blend is its own BOM, so if several customers use a near-identical formula, duplicate the closest existing version for each new customer rather than building from scratch. This keeps each customer's formula independently editable without one customer's tweak accidentally changing another's product.
Does Nstock integrate directly with Faire?
Not today. Orders whose source text mentions "Faire" default to the wholesale channel automatically when entered manually or imported by CSV, which saves re-tagging them one by one, but there's no live API connection pulling orders from Faire.
What's the difference between a wholesale customer and a regular sales order customer?
The wholesale customer registry is specifically for accounts tied to custom-channel orders and tagged private-label blends — it's a lightweight contact list, not a full CRM. A standard B2C or B2B wholesale order doesn't require a registry entry unless it's tied to a specific tagged custom formula.
Next Steps
If private-label and house production are sharing one undifferentiated product list today, tagging is the fastest fix — it doesn't require rebuilding anything, just duplicating and tagging the BOMs you already have. See Nstock's white-label and private-label manufacturing features → | Read how multi-level BOM costing works for intermediate products → | See how to quote wholesale and custom deals with live margin visibility → | Read the contract manufacturing industry page → | See how staged production works for a multi-step formula →
— Marcus Reyes



