Part 1 — The Business of Fashion Wholesale

K Finance, Credit and Cash

A wholesale apparel brand can be profitable on paper and still run out of money. It pays its factories months before its retailers pay it. This chapter teaches the three financial statements from zero, works out the cash cycle for a seasonal brand, and walks through the machinery apparel uses to survive the gap: credit approval, receivables work, factoring, asset-based lending and purchase-order finance. It ends with the tables, rules and screens your ERP must provide, so that none of this lives in a spreadsheet.

In this chapter14 sections · about 82 min
  1. What you need to know first
  2. The three financial statements, from zero
  3. Profit is not cash: the growth trap
  4. Working capital and the cash conversion cycle
  5. Credit management: deciding who may owe you money
  6. Accounts receivable operations
  7. Factoring, the apparel industry's default
  8. The rest of the capital stack
  9. Inventory accounting
  10. Revenue recognition in plain language
  11. Sales tax, resale certificates and nexus
  12. The month-end close
  13. Budgeting, the annual plan and the weekly numbers
  14. What this means for your ERP

What you need to know first

Finance has its own vocabulary. Almost all of it is simpler than it sounds. Here is the minimum set, defined from nothing.

Revenue, cost and the profit lines

Revenue (also called sales, or the top line) is the value of goods you sold, at the price you charged. Ship 400 shirts at $28 and that is $11,200 of revenue. Revenue is a promise to be paid, and the money may still be months away. You record it when you become entitled to be paid.

Cost of goods sold, always shortened to COGS, is what those 400 shirts cost you to buy and get into your warehouse. It counts only the cost attached to the units that left, and ignores everything else you spent that month. Gross profit is revenue minus COGS. Gross margin is that same number written as a percentage of revenue. If each shirt cost you $13 to land, COGS is $5,200, gross profit is $6,000, and gross margin is $6,000 ÷ $11,200 = 53.6%.

Operating expenses (opex) are the costs of simply existing, whether or not you sell anything: salaries, rent, the sample room, software, the showroom, marketing, the warehouse minimum charge. Operating profit is gross profit minus opex. Net profit is what survives after interest and tax. EBITDA — earnings before interest, tax, depreciation and amortization — is a rough stand-in for the cash the operating business threw off before financing costs. It is usually the first number a lender or a buyer asks for.

What you own and what you owe

Assets are things you own that have future value: cash, stock, money customers owe you. Liabilities are amounts you owe: factory invoices, freight bills, loans, unpaid wages. Equity is assets minus liabilities — what would be left for the owners if you settled everything. That identity, assets = liabilities + equity, is the whole basis of a balance sheet. It holds by construction in any correctly kept set of books.

Accounts receivable (AR) is money customers owe you and have not paid. Accounts payable (AP) is money you owe suppliers and have not paid. Working capital is the money tied up in the operating cycle: roughly stock plus AR minus AP. In wholesale apparel this number is the business. Working capital, rather than weak design, is what kills most wholesale brands that fail.

Accrual accounting and the GAAP rulebook

Accrual accounting records revenue when you earn it and costs when you incur them, not when cash moves. Cash accounting records everything at the moment of payment. Accrual is what the US rulebook requires, and it is exactly why profit and cash pull apart.

That rulebook is GAAP — Generally Accepted Accounting Principles — published by the Financial Accounting Standards Board as the FASB Codification. Any lender, factor or auditor will expect your books to follow it, whatever basis you use for your tax return. Its sections appear here as ASC 606 (revenue) and ASC 330 (inventory). "ASC" just means "Accounting Standards Codification"; the number is the topic.

Payment terms, invoices and deductions

Terms are how long after invoicing a customer may wait to pay. Net 30 means the money is due 30 days after the invoice date. 2/10 net 30 means they may keep 2% for themselves if they pay within 10 days. Department stores have long used end-of-month terms written as 8/10 EOM — 8% off if paid by the 10th of the month after shipment.

The exact discount is negotiated account by account and varies widely, so confirm it in writing. Whatever it turns out to be, build it into your wholesale price before you quote, because you cannot recover it afterwards.

An invoice says "you owe me this, for this shipment, by this date." A credit memo reduces an invoice you already issued. A deduction or chargeback is the retailer unilaterally paying less than the invoice, and telling you why — or not. The gap that results is a short pay.

Factors and the accounting calendar

A factor is a finance company that buys your invoices. In apparel it is the ordinary way to get paid, used by brands of every size. The factor decides which retailers are creditworthy, pays you most of the invoice straight away, collects from the retailer, and — in the common form called non-recourse — absorbs the loss if that retailer goes bankrupt.

The opposite arrangement is called recourse: the factor still advances the money, but if the retailer never pays, the factor takes it back off you. Factoring became the backbone of the twentieth-century US textile trade and never left.

Finally, time. A period is a month, quarter or year of accounting. The close is the process of finishing one, so the numbers can be trusted and no longer change. A fiscal year need not start in January. Many apparel companies end theirs in late January or in November, so the year-end lands after a selling season rather than in the middle of one.

Apparel and warehouse vocabulary

This chapter also uses a fair amount of apparel and warehouse vocabulary. Here it is in one place, so nothing later ambushes you.

WordWhat it actually means
DoorOne physical shop. A retailer with 200 doors has 200 branches, and you may only be stocked in 40 of them.
DropA batch of new styles released together on one date.
BodyA garment shape, ignoring color and size. "The oversized shirt body" is one body sold in six colors.
ChaseReordering a style in the middle of a season because it is selling faster than planned.
Sell-throughThe share of units delivered to a shop that the shop has actually sold to shoppers.
Size curveThe mix of sizes in a buy. A "broken" size curve means the popular middle sizes have gone and only the extremes are left.
ColorwayOne color version of a style.
FOB"Free on board." The factory's price for the goods, loaded onto the ship, before freight and duty. It is also a shipping term that decides at what moment ownership passes — see the revenue section.
Landed costEverything it costs to get one unit into your warehouse: the factory price plus freight, insurance, import duty, customs fees and trucking.
Cost sheetThe per-style worksheet that lists every one of those costs and totals them.
HTS codeHarmonized Tariff Schedule code. The official classification of a product, which sets the import duty rate you pay.
DrayageThe short truck move from the port to your warehouse.
TicketingAttaching price tickets, hangtags and labels to garments before they go to a shop.
3PLThird-party logistics provider. An outside company that stores your stock and ships your orders for a fee.
Off-priceRetailers who buy surplus stock cheaply and sell it below full price.
JobberA trader who buys leftover stock in bulk at a steep discount and resells it wherever they can.
Sub-ledgerThe detailed record for one area — every invoice, every unit of stock. The general ledger (GL) holds only the totals. The sub-ledger must always add up to the GL.
Core principle

Profit is an opinion about a period. Cash is a fact about a bank account. Your ERP must produce both from the same underlying events, and reconcile them to each other. A system that can only tell you one of the two will eventually tell you a comfortable lie.

The three financial statements, from zero

Three statements describe a business. Each answers a different question, and the three interlock: change a number in one and it moves in the others.

The income statement

Also called the P&L, short for profit and loss. It answers one question: over a stretch of time, did we make money? It covers a period, starts with revenue, and works down to net profit.

MARLOWE & FIELD  --  INCOME STATEMENT, FISCAL YEAR

Gross invoiced sales                          6,450,000
  Returns and cancellations                    (120,000)
  Markdown / margin support allowances         (210,000)
  Compliance chargebacks and deductions        (120,000)
                                             ----------
Net sales                                     6,000,000

Cost of goods sold (landed)                  (3,000,000)
                                             ----------
Gross profit                                  3,000,000   50.0%

Operating expenses
  Salaries and benefits                      (1,150,000)
  Sales commissions and showroom               (300,000)
  Design and sample development                (260,000)
  Warehouse and fulfilment (3PL)               (290,000)
  Outbound freight                             (150,000)
  Marketing                                    (180,000)
  Rent, software, insurance, professional      (270,000)
                                             ----------
Total operating expenses                     (2,600,000)

EBITDA                                          400,000    6.7%
  Depreciation                                  (40,000)
                                             ----------
Operating profit                                360,000
  Interest and factoring cost                  (185,000)
                                             ----------
Profit before tax                               175,000
  Tax at 25%                                    (44,000)
                                             ----------
NET PROFIT                                      131,000    2.2%

Read it top to bottom. The brand invoiced $6.45m but kept only $6.0m as revenue. That is $450,000, seven percent of what it billed, lost to returns, markdown support and retailer chargebacks. It is more than three times the year's net profit.

Two of those three lines are worth naming properly. A markdown allowance (also called margin support) is money you give a retailer after the fact because the goods sold below the planned price; it is a discount agreed late. A compliance chargeback is a penalty the retailer takes for breaking one of its shipping or labeling rules.

Practitioners commonly put compliance chargebacks somewhere between one and five percent of wholesale invoice value for brands that do not actively manage them, but this varies enormously by retailer and by brand, and nobody publishes an audited industry figure. Measure your own rate rather than trusting anyone's number, including this one.

Below that line, the goods cost half of net sales. Running the company consumed $2.6m of the $3.0m gross profit. Financing consumed $185,000 more. The business earned 2.2 cents per dollar it invoiced. That is normal, and it is why the rest of this chapter matters.

The balance sheet

A different question: at one instant, what do we own and what do we owe? It freezes a single moment, the way a photograph does. There is no start date, only an "as at" date.

MARLOWE & FIELD  --  BALANCE SHEET, AS AT FISCAL YEAR END

ASSETS
  Cash                                            120,000
  Accounts receivable (due from factor, net)      780,000
  Inventory (at landed cost, net of reserve)    1,250,000
  Prepaid expenses and fabric deposits             95,000
  Fixed assets, net of depreciation               110,000
                                                ---------
  TOTAL ASSETS                                  2,355,000

LIABILITIES
  Accounts payable (factories, freight, 3PL)      610,000
  Accrued expenses (payroll, commissions,
    markdown reserve, unbilled freight)           340,000
  Factor advances outstanding                     650,000
  Equipment term loan                              60,000
                                                ---------
  TOTAL LIABILITIES                             1,660,000

EQUITY
  Paid-in capital                                 450,000
  Retained earnings                               245,000
                                                ---------
  TOTAL EQUITY                                    695,000

  TOTAL LIABILITIES + EQUITY                    2,355,000

Notice the shape. Of $2.36m of assets, $2.03m, 86%, is stock plus receivables. That is the signature of a wholesale brand. The company is a pile of goods and a pile of promises. Equity is $695,000, and only $245,000 of that was ever earned; the rest is money the owners put in. Cash, the thing that pays wages on Friday, is $120,000 against a $2.6m annual expense base. That is about seventeen days of overhead in the bank.

The cash flow statement

The third statement reconciles the other two. It answers: we said we made $131,000 — where did it go?

MARLOWE & FIELD  --  CASH FLOW STATEMENT, FISCAL YEAR

OPERATING
  Net profit                                      131,000
  Add back depreciation (non-cash)                 40,000
  Increase in accounts receivable                (140,000)
  Increase in inventory                          (310,000)
  Increase in accounts payable                     85,000
  Increase in accrued expenses                     30,000
                                                ---------
  Cash used in operations                        (164,000)

INVESTING
  Purchase of fixtures and equipment              (35,000)

FINANCING
  Net increase in factor advances                 210,000
  Repayment of equipment term loan                (20,000)
                                                ---------
  Cash from financing                             190,000

  NET CHANGE IN CASH                               (9,000)

The plus and minus signs are where the intuition lives. Stock grew by $310,000, because the brand bought more than it shipped, because it is growing. Growing stock uses cash, so it shows as negative. Receivables grew $140,000, which is also a use of cash: more of your money is now sitting inside a retailer's accounts payable department.

Payables and accruals grew too, and those are sources of cash — you are holding your suppliers' money for longer. Net of everything, the operating business consumed $164,000 in a year when it reported $131,000 of profit. The gap was plugged by drawing $210,000 more from the factor. The company grew, was profitable, and moved closer to the edge.

Profit is not cash: the growth trap

The growth trap

When you pay for goods 120 days before you get paid for them, every extra dollar of profitable growth consumes cash. The faster you grow, the more cash you need. A brand that doubles its order book with no new financing will fail, even if every single order is profitable.

Following one Fall season, month by month

Follow one season. Marlowe & Field books a Fall collection worth $2,400,000 of shipments. The factories will charge $1,380,000 for the garments themselves. Freight, duty and trucking add roughly $161,000 more, so the goods cost $1,541,000 by the time they are sitting in the warehouse — a gross margin of 35.8% before any deductions.

The factories want 30% of their price with the purchase order (PO) and the balance against shipping documents. Freight and duty bill on arrival. Retailers take delivery in July and August on net 60, and pay roughly 4% less than invoiced once deductions are taken. (That 4% is this season's assumption. The full-year statements above ran at 7%, which shows how much the number moves between seasons and customer mixes.)

FALL SEASON CASH TIMELINE (this season only; excludes
overheads, which continue at ~$215k/month regardless)

Month  Event                          Cash flow   Cumulative
-----  -----------------------------  ----------  ----------
Feb    30% deposit on production POs    (414,000)   (414,000)
Mar    -                                       0    (414,000)
Apr    70% balance vs. shipping docs    (966,000) (1,380,000)
May    ocean freight, duty, drayage     (161,000) (1,541,000)
Jun    goods received, QC, ticketing           0  (1,541,000)
Jul    ship 60%, invoice $1,440,000            0  (1,541,000)
Aug    ship 40%, invoice   $960,000            0  (1,541,000)
Sep    collect July invoices, net 4%   1,382,400    (158,600)
Oct    collect Aug invoices,  net 4%     921,600     763,000
                                                   ---------
Season gross profit realised in cash                 763,000

Two things jump out. The peak requirement is $1,541,000, and it lasts from late April to early September. For four months the company has paid for everything and been paid for nothing. And the season's entire reward, $763,000, only turns into cash in October — eight months after the first payment went out.

If your instinct is "borrow against the orders," you are right, and the rest of this chapter is how. But note which part of the curve each instrument can reach. A factor advances against invoices, and invoices do not exist until July. The February-to-June trough cannot be factored. It has to be covered by the owners' own money, by purchase-order finance, or by a factory willing to give you time to pay.

What happens when the season grows 50%

Now scale it up. Sell the following Fall at $3,600,000 — a 50% increase, every unit profitable, and the trough deepens to roughly $2.31m. Growth demanded an extra $770,000 that last season's $763,000 profit does not quite cover, because that profit arrived in October and the new deposits are due in February. That is the trap, and it closes on people who are winning.

Working capital and the cash conversion cycle

The three components, computed properly

Three measurements describe how long your money is stuck. They are all expressed in days, and they are all abbreviations you will hear from lenders.

DIO  Days Inventory Outstanding
     = (average inventory / COGS) x 365
     "how long a unit sits in my warehouse before it ships"

DSO  Days Sales Outstanding
     = (average accounts receivable / net sales) x 365
     "how long after invoicing before the money arrives"

DPO  Days Payable Outstanding
     = (average accounts payable / COGS) x 365
     "how long I get to hold my suppliers' money"

CCC  Cash Conversion Cycle = DIO + DSO - DPO
     "how many days my cash is out of my hands"

Marlowe & Field, using year-end balances:

DIO = (1,250,000 / 3,000,000) x 365 = 152 days
DSO = (  780,000 / 6,000,000) x 365 =  47 days
DPO = (  610,000 / 3,000,000) x 365 =  74 days
                                       --------
CCC = 152 + 47 - 74                  = 125 days

The reasoning matters more than the formulas. DIO divides by COGS, not by sales, because stock sits on the books at cost; mixing a cost number with a selling-price number understates the days. DSO divides by net sales, because receivables are recorded at invoice value. DPO uses COGS as a stand-in for purchases — use your real purchases if you have them, which is more accurate for a growing brand.

Use average balances wherever you can. A year-end snapshot in a seasonal business is misleading: a brand with a January year-end is photographed at the emptiest moment of its stock year, and reports a flatteringly low DIO as a result.

How your cycle compares to the benchmarks

A 125-day cycle means that for every dollar of annual COGS, the company must fund about a third of a year of it. For calibration, The Hackett Group's 2025 US working capital survey — its annual study of the top 1,000 US publicly traded non-financial companies — found an all-industry median cash conversion cycle of 37 days, with DPO at 59 days.

It also found that textiles, apparel and footwear improved their cycle by 10% that year, led by a 22% increase in DPO — that is, mostly by paying suppliers later. Those are 2025 figures and the survey is re-run annually, so check the current edition before you quote them at a lender.

Be careful comparing yourself to public companies: the large listed apparel groups sell a big share of their goods through their own shops and websites, where the shopper pays at the till, and that pulls their DSO down sharply. A pure wholesale brand has no such cushion.

Four levers on the cash cycle

LeverWhat you actually doRealistic effectCost or risk
Cut DIOBuy tighter, commit to fabric later, do more repeat orders and less guessing, chase proven bodies in season10–30 daysMissed sales if you under-buy a winner; higher unit cost on small runs
Cut DSOInvoice the day you ship, factor receivables, enforce terms, chase from day one past due, refuse discounts that were not earned5–20 daysFactoring fees; friction with buyers; deduction disputes
Raise DPONegotiate net 60 or net 90 with factories, pay by letter of credit instead of cash deposits, put more volume with fewer factories so you matter more to them15–45 daysHigher FOB price; the factory may simply refuse; you lose priority in its production queue
Shrink the seasonFewer, tighter drops; sell more of the collection before committing to production20–40 days of peakLess newness; harder to reach a factory's minimum order quantity

Each row is a decision your ERP must be able to measure. If you cannot produce DIO by season and by category, you cannot tell whether the tighter buying actually happened, or whether you simply sold your way through a bad season at a discount.

The seasonal swing in financing need

NET FUNDING REQUIREMENT BY MONTH ($000)
Negative = money you must have borrowed or banked that
month. Each # is roughly $100,000.

Jan   -380  ####
Feb   -690  #######
Mar   -820  ########
Apr  -1610  ################
May  -1780  ##################   <-- PEAK
Jun  -1690  #################
Jul  -1240  ############
Aug   -560  ######
Sep   -240  ##
Oct   -410  ####
Nov   -930  #########
Dec   -640  ######

Average across the year   -916
Worst single month        -1,780  (May)
Gap between the two          864

Annual averages hide the thing that kills you. The May peak of $1.78m is Fall production landing on top of leftover Spring receivables and the overheads that never stop. The November dip is Spring production. Average need across the year is about $920,000, but a credit facility sized at $920,000 leaves the company $860,000 short in May, and it stops shipping.

Size to the peak plus a buffer. Then ask your lender for a seasonal over-advance or a stepped line: a borrowing limit that rises for the four peak months and drops back afterwards. Lenders price that more cheaply than a permanently larger line, because they are only exposed to the bigger number for part of the year. Put the peak on the front page of your cash forecast and leave the average further down.

Credit management: deciding who may owe you money

When you ship a retailer on net 60, you have made them a loan. It is unsecured. It pays you no interest. And you made it on the strength of a purchase order and a friendly meeting. You are a lender now, so behave like one.

You are also lending into a hard retail market. Apparel chains and department stores have been failing steadily for years, and the pattern has not stopped. The published tallies use different definitions and disagree with each other, so skip the headline count and work from this assumption: at least one account on your books will get into trouble in any given three-year stretch, and it will probably be one you liked.

The credit application and references

Before the first shipment to a new account, collect a credit application. It is one page, and a refusal to sign it is itself information. Capture:

  • The exact legal entity name, any trading names, the state of incorporation, and the federal EIN (Employer Identification Number — the company's federal tax ID, the business equivalent of a social security number). You are not shipping to "Ruby's". You are shipping to Ruby Mercantile LLC. Only the legal name belongs on an invoice or a lawsuit. A trading name is often written as DBA, short for "doing business as."
  • The billing address, the remit-to contact, and an accounts payable email and phone number. The remit-to is simply the address and contact the payment should be sent to and discussed with. Most collections problems start as a missing AP email.
  • A bank reference, with the account officer's name and the account number.
  • Three trade references — other brands already shipping them. Call them, and ask the question that matters: how many days beyond terms does this customer average?
  • The limit and terms they are asking for, plus their resale certificate (explained later in this chapter).
  • A personal guarantee for small independents — a promise from the owner, as an individual, to pay if the company does not. Personal liability changes behavior more than any reminder letter.

Credit reports and what the scores mean

Trade references are self-selected. Nobody lists the vendor they are refusing to pay. Credit bureaus solve this by aggregating what everyone reports. Dun & Bradstreet's PAYDEX score is the one quoted most in apparel. It is a measure of how promptly a company pays, weighted by dollar value, built from payment experiences that suppliers submit.

A company needs a D-U-N-S number — D&B's own nine-digit business identifier, and a minimum number of reported payment experiences before a score exists at all. D&B states that companies "receive a score between 1 and 100, where a higher number represents a greater likelihood that a business will pay its debts on time." Payment experiences that suppliers never report cannot count, which is why a young account can look blank rather than bad.

PAYDEXPayment behaviorRisk bandReasonable action for a small brand
100Pays about 30 days before termsLowExtend terms freely; ask for the early-payment discount back
80Pays on time, around 0 days beyond termsLowStandard limit, standard terms
70About 15 days beyond termsMediumShip, but watch the aging; no limit increases without a review
60About 22 days beyond termsMediumReduce the limit, tighten terms, release order by order
50About 30 days beyond termsMediumDeposit or pay-before-shipping; never carry two seasons at once
40About 60 days beyond termsHighPrepay or credit card only
30 or belowAround 90–120 days or more beyond termsHighDo not ship on open terms at any price

Treat that table as the shape of the scale rather than a legal definition. D&B sets and occasionally revises the exact day counts and the risk bands behind each score, so read the definitions printed on the report you actually buy before you write a policy around them.

Alongside D&B, the National Association of Credit Management runs the National Trade Credit Report and — more useful for a small brand — industry credit groups. These are moderated meetings where apparel credit managers legally share factual payment experience about accounts they have in common. That is the cheapest early-warning system in the industry. And if you factor, the factor's credit department does all of this with better data than you could buy.

Setting and enforcing a credit limit

A credit limit is the most you will let one customer owe you at once, counting open invoices plus approved orders that have not shipped yet. A workable rule is to take the smallest of three numbers:

  • what the credit report and references support,
  • 10–15% of your total receivables,
  • and the amount you could lose entirely without missing payroll.

Review every season. Also review immediately on any trigger:

  • a payment 15 days late,
  • a first unexplained short pay,
  • a change of ownership,
  • a store-closure announcement,
  • a factor withdrawing its approval,
  • or press coverage of the customer running short of cash.
Concentration is the real risk

A brand with 60% of its receivables at one department store owns a single large bet, funded with borrowed money, and calls it a business. Lenders push back on this too. Asset-based facilities normally set a concentration limit: any one customer may make up only a stated share of the receivable pool, and the excess is struck out as ineligible collateral. The share is set lender by lender and negotiated deal by deal, so ask for the number in writing. Over-concentration therefore shrinks your borrowing power at the same time as it raises your risk.

Credit insurance

Trade credit insurance pays you when a covered customer fails to pay because it has become insolvent or has simply defaulted for a long time. The insurer underwrites your customers, assigns each one a limit, and covers you up to that limit at an agreed percentage — deliberately less than 100%, so you keep some risk and stay careful.

The premium is charged as a percentage of the sales you insure. Allianz Trade, one of the largest insurers in this market, states on its US site that "in many cases, the premium for credit insurance is less than 0.5% of turnover," and that its cover "is designed for businesses with sales of at least $5 million per year, but companies with sales as little as $1 million sometimes find our services to be a good fit." Those are its published positions as of July 2026; every policy is quoted individually, so treat them as a starting point rather than a price.

Two warnings. Insurers reduce or cancel a buyer's limit mid-season when that buyer deteriorates, which is usually the exact moment you most want to ship. A limit already in place protects the shipments you have made; it guarantees nothing about the next order.

And the policy covers non-payment for credit reasons only. "We're not paying because the goods were late and badly labeled" is a commercial dispute, not an insolvency, and the policy will not respond. The same limitation applies to non-recourse factoring. That is why the chargebacks and vendor-compliance chapter in this part is really a finance chapter in disguise.

Holding orders

A credit hold is the operational expression of a credit decision. The order exists, stock is allocated to it, it may even be picked, but it will not ship until finance releases it. Five rules make holds work:

  • Evaluate at three moments: order entry, allocation, and just before the pick ticket prints. (Allocation means reserving specific stock for that order. A pick ticket is the instruction the warehouse follows to take goods off the shelf.) Exposure changes between those moments, so a check that fires only at entry fires when it does not matter.
  • Compute exposure honestly: open AR including invoices not yet due, plus goods shipped but not yet invoiced, plus this order. A limit checked only against overdue balances is not a limit.
  • Require a named human, a reason code and a timestamp to release a hold.
  • Show the hold to the salesperson on the same screen as the order. Nothing generates more internal rage than a rep learning on the phone that finance killed a shipment.
  • Make partial release a first-class action: ship $20,000 of a $45,000 order to reach the limit and put the rest on backorder — that is, hold it to ship later.

When a good customer goes slow

This happens, and it happens to your biggest accounts. Saks Global was formed by the $2.7bn combination of Saks Fifth Avenue and Neiman Marcus, which also brought in Bergdorf Goodman and Saks Off 5th. In a memo to suppliers on 14 February 2025, chief executive Marc Metrick acknowledged an eighteen-month backlog of unpaid vendor invoices, and committed to clearing it through monthly payments starting in July 2025.

By mid-August 2025, vendors were telling the trade press the payments had not arrived. One, the skincare brand Sunday Riley, said publicly that Saks had "failed to follow through with your commitment." Some vendors stopped shipping. Others stayed quiet, afraid of losing the account if they complained in public. That silence is the point: a slow-paying retailer is counting on your fear of being dropped.

  1. Confirm it is not you. Check that every invoice reached the right AP address, matches a valid purchase order, and carries no open compliance deduction. A surprising share of "slow pay" is your own paperwork.
  2. Get the balance agreed in writing. You cannot negotiate a number the other side disputes.
  3. Stop the bleeding before negotiating the past. Cap exposure at today's number. New shipments prepay. Never fund a rescue plan with fresh goods.
  4. Get a written plan with dates and amounts, signed by someone with authority, plus an agreement to take no new deductions while it runs.
  5. Convert promises into something enforceable: a security interest (a legal claim over specific assets if they default), a guarantee, or letters of credit on new orders.
  6. Escalate commercially. Next season's product is what actually moves them. A lawyer's letter rarely moves a retailer that still wants to buy from you.
  7. Know your break point in advance. Decide, before the emotion arrives, the exposure at which you walk away. Write it down. Honor it.

Accounts receivable operations

Invoicing

Most collections pain traces back to defects in the invoice. It must carry:

  • the customer's purchase order number exactly as they issued it,
  • the ship-to location or store number,
  • your invoice number and date,
  • the terms and the computed due date,
  • and line-level style, color, size, quantity, unit price and line total.

It also needs the freight terms and, if you factor, the factor's remit-to address and the assignment legend, a short block of text stating that the invoice has been sold to the factor and is payable only to them.

Invoice the day you ship rather than in a weekly batch. On net 60, a three-day invoicing lag pushes DSO up by three days across your whole book. On Marlowe & Field's numbers, that is about $49,000 of money you are permanently borrowing for no reason.

The aging report

An aging is a report that sorts everything you are owed into buckets by how overdue it is. It is the most-read report in a finance department.

BucketBalance% of totalWhat it meansAction
Current (not yet due)$462,00052%Healthy working capitalConfirm receipt; a courtesy call on large items before the due date
1–30 days past due$248,00028%Mostly process frictionStatement plus a call; find the missing payment detail
31–60$97,00011%Something is wrongNamed owner, weekly contact, a written promise to pay
61–90$53,0006%Dispute or distressCredit hold; escalate to their controller; reconcile deductions
90+$27,0003%Assume impairedReserve it; decide between an agency and a write-off
Total$887,000100%

Two refinements make an aging honest. Age from the due date, not the invoice date, or you will misread every account on long terms. And show disputed balances in a separate column. A $53,000 balance in the 61–90 bucket that is one unresolved chargeback is a completely different problem from the same amount spread across nine customers who have stopped paying.

Collections cadence

COLLECTIONS CADENCE (days relative to the invoice DUE date)

D-7    Automated statement of items due next week
D-2    Personal email on any single invoice > $10,000
D+1    Automated reminder, with invoice copy and proof
       of delivery attached
D+7    Phone call to the named AP contact; log the
       promise-to-pay date
D+15   Escalate to the buyer; CREDIT HOLD applied
D+30   Controller-to-controller letter; demand a written
       payment plan
D+45   Final demand; stop all shipments, including
       already-approved orders
D+60   Decision gate: collection agency / factor claim /
       legal action / negotiated settlement / write-off
Weekly Each collector reviews their whole portfolio. Every
       item over 30 days has a dated next action and a
       named owner.

The letters are the easy part. The last line is what makes the ladder work: every past-due item has a named owner and a dated next action, reviewed weekly. Automated emails with nobody accountable produce beautifully documented non-payment. The hold at D+15 is automatic on purpose — the point of a rule is that it fires without anyone having to be brave. This escalation ladder is also what people mean by dunning: the sequence of increasingly firm reminders sent to a customer who has not paid.

Cash application, unapplied cash and short pays

Cash application is matching money that arrived to the invoices it was meant to pay. In a shop, this is trivial. In wholesale it is a grind. One bank transfer from a department store may cover 60 invoices, net of 30 deductions, described by a remittance advice — a separate list explaining what the payment covers — that arrives days later as a PDF or an electronic file.

When you cannot match a payment it sits in unapplied cash: money in your bank that your ledger cannot attribute to anything. That is poison in three ways:

  • Your aging is wrong, so collectors chase customers who already paid.
  • Your DSO is overstated, so every working-capital metric and every borrowing calculation is wrong in the same direction.
  • And it hides real problems — a genuine $9,000 short pay is invisible inside a $340,000 unapplied lump.

A short pay is a payment deliberately smaller than the invoice. Split it the moment it lands. Apply the paid portion to the invoice, and open a separate deduction record for the difference, with a reason code, an owner and a resolution deadline. Never write the difference off quietly to keep the aging tidy. That turns a recoverable claim into a permanent margin leak that nobody measures.

The rule that saves you

Cash is applied to invoices. Deductions are their own objects, with their own lifecycle. The two are linked but never merged. Once a deduction lives inside the system as "the missing part of an invoice," you lose the ability to age it, assign it, dispute it or report on it, and deductions you cannot report on are deductions you will never get back.

Reconciling deductions against invoices

Every deduction must tie to four things:

  • the specific invoice it was taken against,
  • the retailer's own debit-memo number (a debit memo is the retailer's paperwork for the amount it decided to take off your invoice),
  • a reason code translated into your own list of reason codes,
  • and the underlying shipment.

That last link is what lets you go and look at the shipping notice timestamp, the carton label file, the routing request and the bill of lading — the transport document that proves what was handed to the carrier and when. That evidence chain is what wins disputes.

Retailers also impose a deadline for filing a dispute, and it is often short. The window varies a great deal — some vendor agreements allow only weeks from the deduction, others several months, and it is set by the retailer, not by you. Find the number in your vendor agreement, put it in the system as a date, and treat missing it as a real loss, because a valid claim filed late becomes uncollectable regardless of merit.

This is the seam with the chargebacks and vendor-compliance chapter in this part. That chapter explains where deductions come from: late electronic shipping notices, mismatched carton labels, routing violations, shipping after the cancel date, short shipments. This chapter explains what they become once they are money. They hit your AR, reduce net sales, reduce what a factor will pay you, and, if unresolved, become a write-off against gross margin. The engineering consequence is one sentence: a deduction is a single object, visible to both the compliance workflow and the AR ledger, with one status field that both sides trust.

Factoring, the apparel industry's default

What a factor actually does

A factor performs four jobs. They are priced separately, so look at them separately.

  • Credit underwriting. You submit the order before shipping. The factor, which sees thousands of brands' payment experience into the same retailers, approves a limit.
  • Credit protection. Under non-recourse terms, if an approved customer fails through insolvency, the loss is the factor's.
  • Collections and ledger administration. The factor owns the invoice, sends statements, chases payment, and often handles the deduction paperwork.
  • Financing. It advances cash against the invoices it has bought, before the retailer pays.

The fourth is what people usually mean by "factoring," but the first three are why apparel has used factors for a century. A ten-person brand cannot staff a credit department capable of underwriting a national retailer, and cannot absorb one bankruptcy.

Credit approval, "approved" and "client risk"

One rule matters more than everything else in this section: an invoice is credit-protected only if the factor approved it before you shipped. The factor answers your submitted order with an approval up to a dollar amount, usually with an expiry date. Ship within it and the credit risk transfers to them. Ship over the amount, after the expiry, or to a customer the factor declined, and that portion sits at client risk. The factor may still collect it, and may even advance against it, but if it goes bad it comes straight back to you as a charge against your reserve.

Approval limits vary sharply. Large national chains get high limits. Regional specialty chains and boutiques get much less. A retailer with a previous bankruptcy may be held far below what its size suggests. When a factor cuts a limit on a retailer you were about to ship, believe them. They are usually early.

Recourse versus non-recourse

Non-recourse (credit factoring)Recourse
Who absorbs a customer bankruptcyThe factor, but only on invoices it pre-approvedYou. The factor charges it back to your account
Typical commissionHigher — you are buying insuranceLower
Advance rateOften slightly lowerOften slightly higher
Disputes and chargebacksNot covered. Compliance deductions, quality claims and shortage claims are commercial disputes, not credit eventsNot covered
Who it suitsBrands concentrated in a few large retailersBrands with many small accounts they know well

The middle row is the one people misread. Non-recourse protects you against your customer going bankrupt. It does nothing when your customer decides your shipping notice was late and keeps $4,000. Factoring agreements draw that line explicitly, so read the definition of a "credit event" in the contract you are offered and confirm in writing how disputed invoices are handled. Deductions arrive at a few percent of invoice value every single year, while outright bankruptcies are rarer, so the uninsured risk is usually the bigger one.

Advances, reserves and how pricing actually works

Published ranges cluster in a band, and they vary by brand, by customer mix and by lender. As of 2026, general small-business guidance puts advance rates at roughly 65–90% of invoice value, and apparel books normally sit in the middle of that, moving higher on a strong list of well-known retailers. The remainder is held back as a reserve and released to you after the invoice is collected.

Headline fees are commonly quoted between about 1% and 5% of invoice value per 30-day period, so the total depends mostly on how long the invoice takes to pay. Every one of those numbers is negotiable and none is a market rate. Traditional apparel factoring is priced in two separate parts, and you must ask for both. That split is why the apparel commission quoted in the worked example below looks so much smaller than those blended headline fees: the interest is charged separately, on top.

TWO-PART FACTORING PRICE

1. COMMISSION  a flat % of GROSS invoice value, charged
   when the invoice is assigned, whether or not you take
   any money. This buys credit underwriting, credit
   protection and collections. Small brands with modest
   volume and messy books pay materially more than large,
   clean, high-volume ones.

2. INTEREST    charged only on funds actually ADVANCED,
   for the days they are outstanding, quoted as
   PRIME + a spread. (The US bank prime loan rate stood
   at 6.75% in the Federal Reserve H.15 release of
   24 July 2026. Look it up before you model anything.)

Plus: wire fees, credit-check fees, a minimum annual
commission, and possibly a termination fee. Ask for all
of them in writing before signing.

The prime rate in that second block is the benchmark interest rate large US banks post for their strongest borrowers. Almost every business loan in the United States is quoted as "prime plus something," so when prime moves, your interest bill moves with it. The Federal Reserve publishes it daily in its H.15 statistical release, and it changed repeatedly across 2024 and 2025, so never hard-code it.

Insist on the two-part quote, because a single blended "3%" tells you nothing about your actual cost. If you factor mainly for credit protection and rarely draw cash, the commission is nearly your whole cost and the interest rate is irrelevant. If you draw everything on day one and your customers pay in 75 days, interest dominates. Model both.

Notification and assignment

Apparel factoring is notification factoring, which means your customers are told about it. Invoices carry an assignment legend stating that the receivable has been sold and is payable only to the factor, at the factor's address. The factor files a UCC-1 financing statement — a short public filing that records its legal claim over your receivables, and often over everything else you own. Payments route to a lockbox, a bank account and mailbox the factor controls.

This is why brands that factor see money arrive from the factor rather than from the retailer, and why their bank reconciliation runs against a factor statement. Non-notification arrangements exist, but they are a bank-style product for larger companies. Department store AP departments pay dozens of factors every week and think nothing of it.

A worked cost of factoring

MARLOWE & FIELD -- ANNUAL COST OF FACTORING

Gross invoices assigned to factor       6,450,000
Commission @ 0.85% of gross value          54,825
Average advance balance outstanding       620,000
Interest @ prime 6.75% + 2.00% = 8.75%     54,250
Wire, credit check and admin fees           6,000
                                          -------
TOTAL FACTORING COST                      115,075

  = 1.78% of gross invoiced value
  = 1.92% of net sales
  = 88% of the year's net profit

Commission is charged on the full $6.45m assigned, even though only $6.0m survives as net sales, because the factor buys the invoice as it was written. Interest is the honest cost of borrowing $620,000 of average drawn balance at 8.75%.

And the last line should stay with you: financing the receivable book costs very nearly the entire profit of the business. Read that as a lesson about pricing. The cost of working capital is a core cost of your goods, and it belongs on the cost sheet before you quote a wholesale price — not discovered in the P&L the following March.

Factoring versus a bank line of credit

A revolving line of credit, or revolver, is a bank loan you can draw down and repay repeatedly, up to a limit, like a very large business overdraft. Here is the same year, financed both ways.

Annual cost lineNon-recourse factorBank revolving line
Commission 0.85% of $6,450,000$54,825
Interest on $620,000 average drawn$54,250 (prime + 2.00%)$51,150 (prime + 1.50%)
Unused line fee, 0.375% on $580,000$2,175
Annual field exam and appraisal fees$12,000
In-house credit and collections headcount— (the factor does this)$75,000
Bad debt at 0.5% of net sales— on approved invoices$30,000
Total$115,075$170,325

A field exam is an inspection: the lender sends people to your office to test your receivables and stock records against reality, and bills you for it. An unused line fee is a small charge on the part of the limit you did not draw, which is how the bank is paid for keeping the money available.

On these assumptions the factor is cheaper, which surprises founders who have been told factoring is expensive money. If your bad debt is genuinely near zero and you already employ someone who can do credit and collections, the bank line wins. If you are a four-person brand shipping department stores, you cannot underwrite them yourself and the factor wins.

One practical point settles it: a bank revolver requires you to be bankable — reviewed financial statements, covenants (promises in the loan agreement about ratios you must maintain, which trigger a default if broken), and a track record. A two-year-old brand is not bankable. A factor underwrites your customers instead of you. That is why apparel start-ups get factored in weeks.

What working with a factor feels like

Orders go to the factor for approval before you commit production or ship. Each shipping day you transmit an assignment schedule: the invoices, with copies and proofs of delivery. The factor posts them, updates how much you may draw, and you request funds against it. An assignment schedule is simply the covering list that formally sells those invoices to the factor.

Once a month a statement arrives that looks nothing like a bank statement — purchases, commissions, interest, advances, collections, chargebacks, reserve movements. You reconcile your own AR records to it, and the differences are almost always deductions the factor charged back that you have not yet recorded.

The factor also talks to your customers directly, so occasionally a buyer will call you annoyed about a chasing letter. Setup takes one to two weeks and needs your customer list, an AR aging, sample invoices, incorporation documents, financial statements and bank statements.

Core principle

If you factor, the factor's ledger is the authority on what you are owed and what you have drawn. Your ERP must reconcile to it automatically — invoice by invoice, chargeback by chargeback, and surface the unreconciled difference every day. Brands that reconcile the factor statement quarterly discover six-figure surprises quarterly.

The rest of the capital stack

Asset-based lending and the borrowing base certificate

Asset-based lending (ABL) is a revolving loan secured by your receivables and stock, where the amount you may borrow is recalculated from that collateral rather than fixed at a number. The US Office of the Comptroller of the Currency, the federal regulator that examines national banks, publishes a handbook on this kind of lending, and it is the clearest free source there is.

On receivables it says that "common advance rates range from 70 percent to 85 percent of eligible accounts receivable," with some banks going to 90% on business-to-business invoices. On stock it says a bank "typically advances up to 65 percent of the book value of eligible inventory, or 80 percent of the NOLV." NOLV stands for net orderly liquidation value: what an appraiser thinks the goods would fetch in an unhurried sale.

Apparel sits at the bottom of those inventory ranges, because the handbook singles out "a borrower in a fashion-sensitive industry" as a case where obsolete stock must be written off promptly. Part-finished production is often excluded from the calculation altogether. Every rate is negotiated per deal. The document that computes it all is the borrowing base certificate, submitted weekly or monthly.

BORROWING BASE CERTIFICATE -- as at 31 May

RECEIVABLES
  Gross accounts receivable               1,420,000
  less invoices > 90 days past due          (68,000)
  less cross-aged (all balances from a
      customer breaching the 90+ threshold) (42,000)
  less concentration over 20% of pool       (95,000)
  less contra accounts / credit balances    (31,000)
                                          ---------
  Eligible receivables                    1,184,000
  x advance rate 85%                      1,006,400

INVENTORY (at the lower of cost or market)
  Gross inventory at landed cost          1,250,000
  less in-transit without bill of lading   (140,000)
  less aged > 12 months / off-price         (95,000)
                                          ---------
  Eligible inventory                      1,015,000
  x advance rate 50%                        507,500
  capped at inventory sub-limit             400,000

GROSS AVAILABILITY                        1,406,400
  less dilution reserve
      (1.5 x 6.1% dilution x elig. AR)     (108,300)
  less rent reserve (3 months, no
      landlord waiver at the 3PL)           (36,000)
                                          ---------
NET AVAILABILITY                          1,262,100
  Loan balance outstanding               (1,180,000)
                                          ---------
EXCESS AVAILABILITY                          82,100

Reading the borrowing base line by line

Walk down it. The $1.42m receivable pool loses about 17% to ineligibility before any advance rate is even applied. Cross-aging catches people out. The OCC defines it as making all of a customer's receivables ineligible "if a specified proportion of the total accounts receivable from that party is delinquent," and notes it is "sometimes referred to as the '10 percent rule' because 10 percent of an individual party's accounts is a common delinquency threshold." So one stuck invoice can knock out that customer's entire balance.

Contra accounts are customers who are also your suppliers, and who could simply cancel what they owe you against what you owe them. The dilution reserve protects the lender against your credit memos and chargebacks. Dilution is the gap between what you invoiced and what you actually collect; the OCC says it "varies by industry but is usually expected to be 5 percent or less of receivables," which makes the 6.1% in this example a little high.

Lenders commonly reserve a multiple of your recent dilution rate, 1.5 times is a typical structure, so every extra point of chargebacks cuts your borrowing power by more than a point. The rent reserve exists because a landlord can seize goods for unpaid rent ahead of the lender, unless the landlord has signed a waiver. The 20% concentration cut-off and the 85% and 50% advance rates in this certificate are this imaginary deal's terms, not standard ones.

The sub-limit on the stock line is a hard ceiling in dollars: however much eligible inventory you hold, no more than $400,000 of borrowing may rest on it, which is how the lender stops a receivables facility from quietly turning into an inventory loan.

The last line, excess availability, is the number a finance chief watches daily. Negative means you have borrowed more than the collateral supports, which is called an overadvance, and a persistent overadvance is an event of default.

Purchase order finance

Purchase-order finance reaches the part of the curve factoring cannot touch: the February-to-June trough, before any invoice exists. The funder looks at a confirmed purchase order from a creditworthy retailer and pays your supplier directly, often by opening a letter of credit in the factory's favor. When you ship and invoice, the resulting receivable repays the funder.

Published pricing runs roughly 1–6% per 30-day period on the financed supplier cost. Multiply that out and even the bottom of the range is 12% a year, while the top is over 70%; the annual-percentage-rate figures quoted in small-business lending guides commonly land between about 20% and over 50%, because most deals sit in the middle of the monthly range and run for only part of a year.

It is expensive, and correctly so, because the funder is taking production risk, quality risk, shipping risk and retailer-acceptance risk all at once. Financing Marlowe & Field's $1,380,000 of Fall factory cost for four months at 2.5% a month costs about $138,000 against the season's $763,000 of realized gross profit — eighteen cents of every profit dollar. Worth it to take an order you otherwise could not fill. Ruinous as a permanent way of operating.

Letters of credit

A letter of credit (LC) is a bank's promise to pay a seller once that seller presents documents proving they shipped what was agreed. The US International Trade Administration describes letters of credit as "one of the most secure instruments available to international traders," in which a bank commits to pay once specified conditions are met. In apparel you usually sit on the buyer's side: your factory in Vietnam does not know you, and will not start cutting fabric on a promise.

LETTER OF CREDIT -- DOCUMENT FLOW

1. Brand and factory agree price, quantity, ship window,
   and the exact documents required.
2. Brand applies to its bank (ISSUING BANK). The bank
   either takes cash as security or uses the brand's
   pre-agreed LC limit.
3. Issuing bank issues the LC to the factory's bank
   (the ADVISING bank, which passes the LC on and,
   when it also checks and forwards the documents,
   is called the NEGOTIATING bank).
4. Factory checks the LC terms are achievable BEFORE
   producing. Anything it cannot meet -> amend now.
5. Factory produces and ships.
6. Factory presents documents: commercial invoice, packing
   list, bill of lading, certificate of origin, inspection
   certificate, insurance certificate as required.
7. Negotiating bank checks the documents against LC terms.
8. Issuing bank checks them again. If they comply, it PAYS
   -- either immediately ("at sight") or at a stated
   future date (called a "usance" LC).
9. Issuing bank releases the documents to the brand.
10. Brand presents the bill of lading to collect the goods.

CRITICAL: banks pay against DOCUMENTS, not against goods.
A perfect shipment with one wrong date is a discrepancy.
A defective shipment with perfect documents gets paid.

Steps 7 and 8 are where letters of credit earn their reputation. Presentations are routinely refused the first time because of a documentary discrepancy — a misspelled consignee, a bill of lading dated one day after the latest shipment date, a goods description that does not match the LC word for word.

The ITA puts it plainly: the required documents "are detailed and prone to errors and discrepancies," and should be prepared by trained professionals. Published estimates of how often that happens vary widely and are not consistently measured, so treat any precise percentage with suspicion; it is common enough to plan around.

Each discrepancy triggers a fee and a delay while the buyer decides whether to waive it. Two practical consequences: issuance and amendment fees are real money, and an LC limit usually reduces your other borrowing availability dollar for dollar.

On the ITA's spectrum of payment methods, cash in advance is safest for the seller and worst for you; open account (pay later, on trust) is best for you and hardest to get from a new factory; and documentary collections sit in between — cheaper than an LC, with less protection. The ITA warns that documentary collections "offer no verification process and limited recourse in the event of non-payment."

Inventory financing

Straight lending against finished goods is the hardest money in apparel to get, because the collateral is seasonal, sized, fashion-dated and recovers poorly in a forced sale. Practitioner ranges for selling excess apparel through jobbers, off-price chains and liquidators cluster around 35–65% of wholesale value, and far less against original retail, but the realized number depends entirely on the brand, the season and the condition of the size curve, so measure your own recoveries rather than trusting a range.

A lender modeling that recovery, net of the costs of liquidating, is how the OCC's ceiling of 65% of book value or 80% of liquidation value turns into the much lower rate an apparel brand is actually offered. The lender will also impose a sub-limit so stock never dominates the borrowing base. Expect it as one component of an asset-based facility; standalone inventory loans for small apparel brands are rare.

Realistic cost ranking

InstrumentIndicative all-in annual costWhat it fundsHow hard to get
Supplier terms (net 30/60/90 from factories)0% explicit, but usually a higher FOB price in exchangeProduction, directlyRequires relationship and volume
Bank revolving line / ABLPrime + 1–3%, so roughly 8–10% with prime at 6.75% in July 2026, plus exam feesReceivables and some stockHard. Needs reviewed financials and covenants
Factoring (non-recourse)A commission on gross invoices plus prime + a spread on cash actually drawn; the worked example above lands near 2% of net salesReceivables, plus credit protection and collectionsEasier. The factor underwrites your customers rather than you
Letters of creditIssuance and amendment fees; consumes borrowing availabilitySupplier payment riskModerate; needs an LC limit or cash security
Inventory financingHighest rates within an asset-based facility; low advance rate against stock, always with a sub-limitFinished goods in the warehouseHard; often unavailable on its own
Purchase order financeRoughly 1–6% per 30-day period on supplier cost; APRs commonly quoted from about 20% upwardThe pre-invoice production troughModerate; requires a strong end customer
EquityThe most expensive of all, permanentlyAnythingDepends entirely on the story

The ranking is by cost and by reach. Cheap money that cannot reach your February trough is useless in February. Most healthy small wholesale brands end up with a stack: factory terms for as much as possible, a factor for the receivable book, and purchase-order finance used surgically on the two or three orders a season that are bigger than the balance sheet can carry.

Inventory accounting

What goes into cost

ASC 330 requires stock to be carried at cost, and defines cost as all the costs required to bring the goods to their present location and condition. For a brand buying finished garments, that is the factory invoice price plus freight-in, duties and handling. Those costs are capitalized — added to the value of the stock asset, and become an expense only when the units ship.

Expensing freight and duty as you pay them is one of the commonest errors in early apparel books, and it makes every month wrong: the cost lands in the month the container arrived instead of the month the goods sold.

LANDED COST SHEET -- STYLE MF-2411 WOOL OVERCOAT
Order quantity 1,200 units

                                   Per unit    Extended
  FOB factory cost                    62.00      74,400
  Ocean freight and consolidation      2.85       3,420
  Marine insurance                     0.18         216
  Customs duty (rate per HTS code)    10.85      13,020
  Customs broker / entry fee           0.22         264
  Drayage and inbound to 3PL           1.10       1,320
                                     ------     -------
  LANDED COST                         77.20      92,640

  Wholesale price                    155.00
  Gross margin                        50.2%
  Suggested retail                   375.00

  Sensitivity: +5 pts of duty  -> landed 80.30
                               -> margin 48.2%

Why the duty line is the least stable number

The duty line deserves the most attention, and in 2026 it is the least stable number on the sheet. Apparel already carries some of the highest ordinary tariff rates in the US schedule, and the rate depends on fiber, construction and sometimes weight — two shirts that look identical to you can be taxed very differently.

On top of that, 2025 and 2026 have been chaotic. The blanket "reciprocal" tariffs imposed in 2025 under the International Emergency Economic Powers Act were struck down by the Supreme Court on 20 February 2026, in Learning Resources, Inc. v. Trump, by six votes to three. The Court held that the Act does not give the president the power to set tariffs. Roughly $166bn had been collected under them from more than 330,000 businesses, and by July 2026 about $81bn had been repaid through an automated refund process that opened in April 2026.

What replaced them is still moving. The administration announced a 10% global tariff under Section 122 of the Trade Act of 1974 — a provision that lets the president act on a balance-of-payments deficit, capped by statute at 15% and at 150 days without an act of Congress, and required to apply to all countries equally. Those 150 days ran out on 24 July 2026, and the Court of International Trade had already ruled that tariff unlawful as well; that ruling is under appeal.

Section 301 and the forced-labor tariffs

Separately, in June 2026 the US Trade Representative announced tariffs on goods made with forced labor under Section 301 of the same Act — 10% on such goods from a first group including Canada, the EU, Britain, Mexico, Indonesia, Pakistan, Bangladesh and Cambodia, and 12.5% from around 45 other countries, roughly 57 in total. Several of those are the largest apparel sources in the world.

Chinese-origin goods also carry Section 301 duties first imposed in 2018 under an authority the Supreme Court ruling did not touch, and those rates have been adjusted repeatedly. Finally, the de minimis exemption, the rule that let parcels worth under $800 enter duty-free, was abolished for all countries on 29 August 2025, which matters the moment you ship direct to consumers from overseas. Everything in this paragraph is the position as of late July 2026, and several pieces of it are in active litigation.

Store duty rates as dated records

The engineering lesson is stronger than any single rate. Do not model one blended duty percentage, and never hard-code a rate. Carry the actual HTS classification on every style in your item master, store each duty rate as a dated record rather than a single number, and recompute landed cost when a rate changes.

Build for retrospective correction too, because in 2026 importers had to reclaim duty they had already paid and already capitalized into the cost of goods they had already sold. Check the current rate in the USITC Harmonized Tariff Schedule before you commit a production order. Anything printed in a book, including this one, may be out of date by the time you read it.

The sensitivity line at the bottom of the cost sheet exists for the same reason. Five points of duty moved this one style's margin two full points. Two points of gross margin across $6m of net sales is $120,000 — very nearly this brand's entire net profit for the year.

Cost flow assumptions

When you buy the same style twice at different prices, which cost leaves with the shipped unit? ASC 330 permits four answers: specific identification, FIFO, weighted average and LIFO.

  • FIFO — first in, first out — assumes the oldest units ship first. It is the sensible default, because the physical flow usually matches and the remaining stock stays valued close to current cost.
  • Weighted average is simpler: every unit of a style carries the same blended cost, which smooths out purchase-price noise, and it is perfectly acceptable.
  • LIFO — last in, first out — is rare in apparel, carries extra disclosure requirements and a different, older impairment test, and should be avoided without specific tax advice.
  • Specific identification tracks each individual item, and suits only very few, very expensive pieces.

Whichever you choose, ASC 330 requires you to apply it consistently and to disclose it. In software terms: FIFO needs cost layers per SKU (stock keeping unit) per receipt, consumed in order; weighted average needs a running average recomputed on each receipt. Chapter 1's append-only ledger supports either. But they produce different COGS numbers, and you cannot switch casually.

Standard versus actual costing

Actual costing assigns each unit the cost it really incurred. It is precise, and it is late: the true landed cost is unknown until the freight invoice, the duty entry and the broker's bill all arrive, often six to ten weeks after the goods are already selling. Standard costing assigns the planned cost-sheet number when the goods are received, and books the difference to a variance account when the real bills land.

STANDARD vs ACTUAL -- MF-2411, 1,200 units

  Standard landed cost set at PO     77.20  /unit
  Actual landed cost, once all
    freight and duty invoices in     81.65  /unit
                                     -----
  Unfavourable variance               4.45  /unit
                                            x 1,200
                                            --------
  Total purchase price variance               5,340

  Treatment: allocate to units still on hand,
  expense the portion relating to units already sold.

  At month end 700 units remain on hand:
    to inventory   700 x 4.45 =  3,115
    to COGS        500 x 4.45 =  2,225

Standard costing lets you close the books and price product on time. The price is a variance you must actually investigate. A purchase price variance that is persistently unfavorable means your cost sheets are optimistic, which in turn means your published wholesale prices are built on a margin you are not earning. Reviewing variances by style each month is twenty of the best-spent minutes in a small apparel business.

Reserves and write-downs

Stock cannot be carried on the balance sheet above what you can realistically recover for it. Under the rule called lower of cost and net realizable value (LCNRV), net realizable value is the estimated selling price in the ordinary course of business, less the reasonably predictable costs of finishing, selling and shipping it.

When that value falls below cost — the style is two seasons old, the size curve is broken, you have three times the units the market wants — write it down now. The write-down sets a new cost basis, and under US GAAP it is generally not reversed if the value later recovers.

INVENTORY RESERVE POLICY (illustrative; apply judgement)

Age since receipt      Reserve   Rationale
---------------------  --------  ----------------------
0-6 months                  0%   Current season
7-12 months                10%   Carryover, sells at
                                 a modest markdown
13-18 months               35%   Off-price channel
19-24 months               60%   Jobber
25+ months                 90%   Assume donation or
                                 bulk clearance

Style-specific overrides ALWAYS beat the age table:
  - broken size curve (core sizes gone)     -> +25%
  - style already sold below cost this year -> write to
    the actual net price you achieved
  - discontinued colourway with no plan     -> +25%

An age table is a defensible starting policy. It still requires somebody to open the report and look at the styles. It works because it is mechanical and consistent, which is what an auditor and a lender want to see.

The overrides are what make it honest: a six-month-old style whose only remaining stock is XS and XXL is not 0% impaired, and if you have been selling a style at $40 against a $77 cost, the reserve is not a judgment at all — you have already observed what it is worth. Ground your own percentages in the recoveries you actually achieve once you have a year of data.

The effect on reported margin

SAME GOODS, TWO POLICIES

Year 1: buy 1,000 units at 77.20 = 77,200 cost
        sell 600 at 155.00       = 93,000 revenue
        400 units left, one season old

POLICY A -- no reserve
  Year 1  revenue 93,000  COGS 46,320  GP 46,680 (50.2%)
  Year 2  sell the 400 to a jobber at 50.00
          revenue 20,000  COGS 30,880  GP (10,880) (-54%)

POLICY B -- reserve the aged 400 down to a value of 50.00
  Year 1  revenue 93,000  COGS 46,320
          + reserve charge 400 x 27.20 = 10,880
          GP 35,800 (38.5%)
  Year 2  revenue 20,000  COGS 20,000  GP 0 (0%)

Same cash. Same goods. Two completely different stories
about which year the business was healthy.

Policy A reports a beautiful 50.2% margin in Year 1 and a catastrophe in Year 2. Policy B reports a realistic 38.5% and a flat Year 2. Policy B is correct under GAAP and, more importantly, correct managerially. The loss was caused in Year 1, when you bought 1,000 units of something the market wanted 600 of. A brand running Policy A congratulates itself on a great season and buys even deeper into the next one. This is how brands with excellent gross margins go bankrupt: the margin was real on the units that sold and fictional on the pile in the warehouse.

Revenue recognition in plain language

A signed order is not revenue

Under ASC 606, you recognize revenue when control of the goods transfers to the customer. An order — even a signed, non-cancelable, electronically transmitted purchase order for $400,000 — is a contract, not a sale. Nothing has transferred yet. It belongs in your order book and your open-to-ship reports, the list of orders that are approved and waiting for stock, where it is enormously useful for planning and for borrowing. But if someone says a brand "did $12m" on the strength of its order book, they are describing bookings, not revenue. Cancellations, credit holds and non-delivery routinely erode the gap between the two.

Shipping terms and transfer of control

The shipping term determines the date. FOB shipping point (also called FOB origin) passes control and risk when the goods leave your dock, so revenue posts on the ship date. FOB destination passes control on arrival, so revenue posts on delivery, and goods sitting on a truck at month end are still your stock. The general principle is the same in every variation: whoever bears the risk of the goods while they travel is the one who owns them, and revenue follows ownership.

THE SAME SHIPMENT, TWO TERMS, ONE MONTH END

  Ship date  29 September   Delivery date  3 October
  Invoice value 118,000     Cost 58,000

  FOB SHIPPING POINT
    September: revenue 118,000, COGS 58,000,
               inventory reduced, AR created
    October:   nothing

  FOB DESTINATION
    September: goods move to "in transit" -- still MY
               inventory, no revenue, no AR
    October:   revenue 118,000, COGS 58,000

  A brand that ships heavily in the last week of a
  quarter and treats everything as FOB shipping point,
  while its contracts say FOB destination, is overstating
  the period. This is a classic audit finding.

Practically, this means the shipping term lives on the customer record, can be overridden per order, and the revenue posting date is derived from it — never a hard-coded "ship date equals revenue date." Where terms are FOB destination, you need an in-transit stock state and a delivery confirmation event to trigger recognition. That event is usually the electronic carrier status message you already receive from the freight carrier. Chapter 4 covers the integration mechanics; the accounting policy tells you which event to listen for.

Markdowns, returns and other variable consideration

ASC 606 also requires you to estimate variable consideration — amounts you bill but expect not to keep, and to reduce revenue at the time of sale, not when the credit is finally issued. In wholesale apparel that means:

  • expected returns,
  • markdown and margin-support allowances,
  • shared advertising costs (usually called co-op advertising, where you pay part of a retailer's marketing spend),
  • volume rebates,
  • and expected compliance chargebacks.

If your history says seven percent of gross invoicing comes back through these channels, recognizing 100% flatters every early period and punishes a later one. Build an accrual, tune it against actuals every month, and report both the accrued rate and the realized rate side by side.

Consignment

In consignment you place goods in a retailer's shop but keep ownership until they sell to a shopper. ASC 606-10-55-80 gives the indicators: you control the product until a specified event occurs, typically a sale to an end customer, or until a period expires; you can require the goods back or move them elsewhere; and the retailer has no unconditional obligation to pay you.

The consequences are unwelcome. No revenue on delivery. The goods stay on your balance sheet, in a location you do not control and cannot count. Revenue arrives only as sell-through is reported, usually monthly and often late. You carry the markdown risk and the shrinkage — the trade word for stock that vanishes through theft, damage or miscounting. And because there is no receivable, there is nothing to factor and nothing to borrow against — consignment is the least financeable form of wholesale there is.

It can be right for a prestige shop or a market test, but treat it as a marketing expense with stock risk attached. Make sure your system tracks stock by consignee location and reconciles the sell-through they report against the units you placed.

Sales tax, resale certificates and nexus

Sales tax is charged on sales to the final consumer. A wholesale sale to a retailer who will resell the goods is not a taxable retail sale, but that exemption only exists if you hold valid documentation. The document is the resale certificate: a form from your customer stating they are buying for resale in the regular course of business.

Who carries the risk on a resale certificate

The obligation sits on you, the seller. California's guidance is representative. A seller who accepts a valid certificate in good faith and in a timely manner does not owe tax on that sale. The certificate must describe the property, either as a list of specific items or as a general description of the type of items being bought for resale. If the purchaser is buying something they do not ordinarily sell, the seller should require a certificate that specifically states it is for resale.

Purchasers who misuse certificates face penalties, interest and potentially criminal prosecution, but in an audit, the seller who cannot produce a certificate is the one who pays the uncollected tax, out of a margin that was never priced for it.

Certificates expire and states differ

Some states issue certificates that expire. Some accept a multi-state form. Some require their own state-specific form. And a certificate collected for one legal entity does not cover a sister company with a different tax ID. Treat it as a dated document with a jurisdiction, a status and an expiry date — not a PDF in a shared drive. If it is not valid on the invoice date, it does not protect that invoice.

Nexus and the state thresholds

Nexus is the connection that obliges you to register for sales tax in a state and collect it there. Physical nexus comes from having an office, employees, a showroom, a trade show booth in some states, or stock sitting in a third-party warehouse in that state, which catches brands out when a 3PL quietly moves goods between its sites.

Economic nexus, created by the Supreme Court's 2018 Wayfair decision, comes from crossing a sales threshold in a state with no physical presence at all. As of 2026 six threshold patterns are in use across the states:

  • $100,000;
  • $100,000 or 200 transactions;
  • $100,000 and 100 transactions;
  • $250,000;
  • $500,000;
  • and $500,000 and 100 transactions.

The clear trend is to drop the transaction-count test — sixteen states had removed it as of April 2026, with Kentucky following on 1 August 2026, which helps small sellers who used to trip a registration requirement on order volume rather than on value.

For a pure wholesale brand, nexus matters less than it sounds, because wholesale sales are exempt when you hold a certificate. It becomes urgent the moment you add direct-to-consumer sales, pop-up shops or a sample sale. Track it early, because penalties attach to the periods in which you failed to collect, and you cannot go back and bill customers afterwards.

The month-end close

The close turns a month of transactions into numbers nobody may change. APQC's benchmarking of around 2,300 organizations, published in 2018, measured the calendar days from running the trial balance, the raw list of every account balance, to completing the consolidated financial statements. It found a median of 6.4 days, with top-quartile performers at 4.8 days or fewer and the bottom quartile at ten or more.

The consolidated financial statements are the finished P&L, balance sheet and cash flow statement for the company as a whole. That benchmark is now several years old, so use it as a rough marker rather than a current target.

A small brand with a well-built ERP should aim at five business days. You get there by fixing the order of operations. Asking people to work faster achieves very little.

MONTH-END CLOSE CALENDAR

D-2  Confirm cut-off with the warehouse: no shipments
     posted to the closing month after the physical
     cut-off time. Freeze the ship date, not the
     invoice date.

D+1  SUB-LEDGERS FIRST
     - Post all shipments; confirm shipped-not-invoiced
       is zero, or explained line by line.
     - Post all receipts; accrue for goods received
       without a supplier invoice.
     - Apply all cash; clear unapplied cash to zero, or
       list every exception with an owner.

D+2  INVENTORY
     - Roll landed cost; allocate the freight and duty
       actually invoiced.
     - Post purchase price variances.
     - Reconcile the inventory sub-ledger to the general
       ledger (quantity AND value, by location).
     - Run the aged-stock report; update the reserve.

D+3  RECEIVABLES AND DEDUCTIONS
     - Reconcile the AR sub-ledger to the GL.
     - Reconcile the FACTOR STATEMENT to AR, item by item.
     - Age deductions; move resolved ones to credit memos
       or recoveries; reserve the rest.
     - Update the bad debt reserve from the aging. (A
       BAD DEBT RESERVE is an estimate, held against
       AR, of the money you now expect never to see.)

D+4  ACCRUALS AND EXPENSE
     - Accrue commissions, royalties, co-op advertising,
       markdown allowances, inbound freight in transit,
       and unbilled 3PL charges.
     - Reconcile every bank account.
     - Reconcile factor advances and interest.
     - Depreciation, prepaid expenses, payroll accrual.

D+5  REVIEW AND LOCK
     - Variance review: every P&L line against prior
       month and against budget, explained if it moves
       more than 10% or $10,000.
     - Gross margin by channel and by season vs plan.
     - Controller review, then LOCK THE PERIOD.
     - Distribute statements plus a one-page commentary.

The sequence is the trick. Sub-ledgers before the general ledger, because a GL built on an unreconciled sub-ledger is decoration. Inventory before receivables, because COGS depends on what shipped. Deductions before the bad debt reserve, because you cannot judge whether a balance is collectable when it is really an unresolved chargeback. And the lock is not ceremonial. If periods can reopen silently, no report is reproducible, and any historical number can change underneath a board deck you have already sent.

Controls that make the numbers trustworthy

A control is a step that either prevents an error or reliably detects one. Here are the ones that matter.

  • Segregation of duties. Whoever creates a customer or changes a bank payment detail must not also apply cash. Whoever issues credit memos must not also do collections. If you are too small to split these, the compensating control is the owner personally reviewing every credit memo above a threshold, every month.
  • Three-way match on the buying side: the supplier invoice must agree with the purchase order and with the goods receipt. No match, no payment.
  • Reconciliations with evidence. Every balance sheet account reconciled monthly, with a supporting schedule and a recorded preparer and reviewer.
  • Approval thresholds encoded in software, not carried in someone's habits.
  • Period lock, with an auditable path for the rare legitimate exception.
  • Invariant checks that run continuously, not just at close.

That last one is where this chapter meets Chapter 9. These controls are business invariants, and they should be automated assertions exactly as Chapter 9 describes: the inventory sub-ledger value equals the GL inventory account; open invoices sum to the AR control account; shipped-not-invoiced is zero after cut-off; unapplied cash is zero or fully itemised; the factor's open balance equals your factored AR; every deduction links to an invoice line; debits equal credits in every posted batch. Run them nightly and the close becomes a review rather than an investigation.

Core principle

Careful people at month end cannot produce a trustworthy close on their own. A system that makes the untrustworthy state impossible during the month can. Every hour spent at close hunting a difference is an hour you should have spent writing the invariant that would have caught it the night it was created.

Budgeting, the annual plan and the weekly numbers

The annual plan and the rolling forecast

Build the annual plan from the bottom up, out of the selling calendar. Picking a growth percentage and working downward produces a number nobody can execute against.

  1. Start with seasonal booking targets by channel and by door.
  2. Apply a realistic ship-through rate: the share of booked units that actually ships, after cancellations, credit holds and late deliveries. Eighty to ninety percent is common, and if yours is higher you are probably not measuring it properly.
  3. Apply your historical deduction and allowance rate to get from gross invoicing down to net sales.
  4. Apply planned gross margin by channel, because full-price wholesale, off-price, direct-to-consumer and jobber margins differ wildly.
  5. Then layer on opex, and only then compute profit.
  6. Finally, convert the whole plan into a monthly cash forecast.

A plan that shows a profit but a peak funding need you cannot finance is not a plan.

The annual plan will be wrong by March. A rolling forecast re-forecasts the next twelve months every month, using actuals for the months that have elapsed. Alongside it, the instrument that actually keeps small companies alive is the 13-week direct cash forecast. It ignores accrual profit entirely and lists the literal expected movements in and out of the bank account, week by week.

13-WEEK CASH FORECAST -- extract ($000)

                        W1     W2     W3     W4     W5
Opening cash           118    142     96    203    151

RECEIPTS
  Factor advances      210    145    268    120    195
  Reserve releases      34      0     41      0     28
  DTC / other           12     11     14     13     12
                       ---    ---    ---    ---    ---
  Total receipts       256    156    323    133    235

DISBURSEMENTS
  Factory payments    (140)  (118)  (150)   (95)  (210)
  Duty and freight     (28)   (36)   (12)   (41)   (18)
  Payroll                0    (34)     0    (34)     0
  3PL and warehouse    (22)     0    (24)     0    (23)
  Rent, software,
    insurance          (18)     0      0     (5)   (14)
  Factor interest and
    commission          (9)    (9)   (10)   (10)   (10)
  Other opex           (15)    (5)   (20)     0     (9)
                       ---    ---    ---    ---    ---
  Total payments      (232)  (202)  (216)  (185)  (284)

Closing cash           142     96    203    151    102
Facility availability  268    241    312    288    204
LIQUIDITY (cash+avail) 410    337    515    439    306

"DTC" = direct-to-consumer: your own website and shops.
"Availability" = how much more you could draw from the
factor or the bank right now without asking permission.

The bottom line matters more than the top one. Closing cash of $96,000 in week 2 looks alarming until you add the $241,000 you could still draw. Total liquidity of $337,000 is what determines whether you survive a bad week.

The reverse holds too: a comfortable cash balance with zero remaining availability is far more dangerous than it looks. Update the forecast every Monday with last week's actuals, and watch the forecast error — the gap between what you predicted and what happened. If the week-ahead forecast is routinely wrong by more than 10%, look past the spreadsheet. It usually means shipping timing or deduction rates are not being measured anywhere in the business.

The numbers a founder should look at weekly

NumberWhy it mattersWarning sign
Cash plus undrawn availabilityTotal liquidity; the only number that can kill you this weekBelow six weeks of operating payments
Open order book, shippable now vs. futureCommitted demand, and whether stock can meet itShippable-now falling while stock rises
Shipped and invoiced this week vs. planThe engine that converts stock into receivablesTwo consecutive weeks below plan
AR past due, and past due as % of total ARCollection health; a leading indicator of bad debtPast due above 20% of the book, or any account crossing 60 days
Deductions taken this week, and open deduction balanceDirect margin leakage; drives your dilution reserveDeductions above 3% of invoicing, or the open balance getting older
Inventory value, split current / carryover / agedWhere cash is trapped, and what will need reservingAged bucket growing two months running
Units on order not yet received, and deposits paidCommitted future cash outflowCommitments exceeding forecast liquidity at the peak
Gross margin on what shipped this weekWhether the mix you actually ship earns the planMore than 3 points below plan

Eight numbers, one page, every Monday. If your ERP cannot produce this page automatically, it is not yet doing its job.

What this means for your ERP

Everything above is now a software requirement. This section gives you the tables, the fields, the rules, the screens and the reports, and points at the numbered engineering chapters that show you how to build each part. Here is the map before the detail.

Business realityWhat the system must holdRule it must enforceChapter
Credit decisions change over time and get auditedcustomer_credit, versioned with effective datesExactly one credit row in force per customer at any instant2
Exposure grows between order and pickcustomer_exposure view, credit_hold_eventsHold check runs at entry, allocation and pre-pick3
One payment covers many invoices and many deductionscash_receipts, cash_applications, deductionsApplications + deductions = receipt; the remainder is reported as unapplied1, 4
The factor keeps its own ledgerassignment_schedules, factor_transactionsNightly reconciliation; no shipment beyond an approval without a named acknowledger3, 7
Duty rates change, sometimes retrospectivelyduty_rates keyed by HTS code and effective dateLanded cost recomputes from dated rates; no hard-coded percentage1, 2
Stock is worth less as it agesinventory_cost_layers, inventory_reservesReserve snapshotted per period and approved by a named person1
Closed months must not changeperiods with locked_atPostings into a locked period are rejected; reopens are events5, 9

Customer credit

-- Credit profile lives beside the customer, versioned.
create table customer_credit (
  id                  uuid primary key,
  tenant_id           uuid not null,
  customer_id         uuid not null references customers(id),
  legal_entity_name   text not null,
  federal_ein         text,
  duns_number         text,
  credit_limit_cents  bigint not null default 0,
  currency            char(3) not null default 'USD',
  payment_terms_code  text not null,      -- NET30, NET60, 8/10EOM
  terms_days          int  not null,      -- derived, for due dates
  shipping_terms      text not null,      -- FOB_ORIGIN | FOB_DEST
  credit_status       text not null,      -- OK | WATCH | HOLD | STOP
  hold_reason_code    text,
  personal_guarantee  boolean not null default false,
  factor_approved_cents bigint,           -- null = not submitted
  factor_approval_expires_at date,
  insured_limit_cents bigint,
  effective_from      timestamptz not null,
  effective_to        timestamptz,        -- null = current
  decided_by          uuid not null references users(id),
  decided_at          timestamptz not null default now(),
  constraint one_current_row_per_customer
    exclude using gist (
      tenant_id with =, customer_id with =,
      tstzrange(effective_from, effective_to) with &&
    )
);

-- Resale certificates are dated documents, not attachments.
create table resale_certificates (
  id              uuid primary key,
  tenant_id       uuid not null,
  customer_id     uuid not null references customers(id),
  jurisdiction    text not null,          -- state code
  certificate_no  text not null,
  issued_on       date not null,
  expires_on      date,                   -- null = no expiry
  document_url    text not null,
  status          text not null,          -- VALID|EXPIRED|REJECTED
  verified_by     uuid references users(id),
  verified_at     timestamptz
);

The credit profile is temporal, meaning every row carries the window of time it applied to. The exclusion constraint at the bottom prevents two rows from overlapping, so the system can always answer "what limit was in force on 14 August?", which is the question that arises when a shipment goes bad.

The factor approval carries an expiry date, because a lapsed approval provides no protection and the software must know that. And resale certificates are rows with a jurisdiction and an expiry, so the check at invoice time becomes "is there a VALID certificate for this customer, in this state, on this date?" instead of "did somebody upload a PDF once?"

The credit hold rule, enforced at three points

-- Exposure = open AR + shipped-not-invoiced + open orders.
create or replace view customer_exposure as
select c.id as customer_id,
       coalesce(ar.open_cents, 0)          as open_ar_cents,
       coalesce(sni.cents, 0)              as shipped_not_inv_cents,
       coalesce(oo.cents, 0)               as open_order_cents,
       coalesce(ar.open_cents,0)
         + coalesce(sni.cents,0)
         + coalesce(oo.cents,0)            as total_exposure_cents
from customers c
left join lateral (...) ar  on true
left join lateral (...) sni on true
left join lateral (...) oo  on true;

-- Hold decisions are events, never a mutated boolean.
create table credit_hold_events (
  id            bigserial primary key,
  tenant_id     uuid not null,
  order_id      uuid not null references orders(id),
  event_type    text not null,   -- HELD | RELEASED | PARTIAL_RELEASE
  checkpoint    text not null,   -- ORDER_ENTRY|ALLOCATION|PRE_PICK
  reason_code   text not null,
  exposure_cents bigint not null,
  limit_cents    bigint not null,
  released_amount_cents bigint,  -- for PARTIAL_RELEASE
  actor_id      uuid not null references users(id),
  created_at    timestamptz not null default now()
);

The first block is a view: a saved query that behaves like a table but holds no data of its own, so it recomputes every time you read it. The three left join lateral blocks are sub-queries that run once per customer and are allowed to refer to that customer's row — the ellipsis stands in for the real sums over invoices, shipments and orders. coalesce(x, 0) turns a missing answer into zero, so a customer with no open invoices does not produce a blank total.

Exposure is computed on demand rather than stored, because a stored balance is a cache and a cache will drift. Worse, it will drift in whichever direction lets you ship. Hold decisions are recorded as append-only events for the same reason Chapter 1's ledger is append-only: you need to answer "who released this, and why?" months later, when the customer has filed for bankruptcy. The checkpoint column exists because exposure changes between order entry, allocation and pre-pick, and you need to know which of the three stopped an order.

Invoices, cash application and deductions

create table invoices (
  id                uuid primary key,
  tenant_id         uuid not null,
  customer_id       uuid not null,
  invoice_number    text not null,
  customer_po       text not null,
  shipment_id       uuid not null references shipments(id),
  invoice_date      date not null,
  terms_code        text not null,
  due_date          date not null,
  shipping_terms    text not null,
  revenue_recognised_on date,     -- ship date OR delivery date
  gross_cents       bigint not null,
  factored          boolean not null default false,
  factor_id         uuid references factors(id),
  factor_approval_id uuid,        -- null => CLIENT RISK
  unique (tenant_id, invoice_number)
);

create table cash_receipts (
  id             uuid primary key,
  tenant_id      uuid not null,
  source         text not null,   -- FACTOR|ACH|CHECK|WIRE|CARD
  received_on    date not null,
  amount_cents   bigint not null,
  remittance_ref text,
  bank_txn_id    text
);

-- One receipt splits into many applications and deductions.
create table cash_applications (
  id            uuid primary key,
  receipt_id    uuid not null references cash_receipts(id),
  invoice_id    uuid not null references invoices(id),
  amount_cents  bigint not null check (amount_cents <> 0),
  applied_by    uuid,
  applied_at    timestamptz not null default now()
);

create table deductions (
  id                 uuid primary key,
  tenant_id          uuid not null,
  customer_id        uuid not null,
  invoice_id         uuid references invoices(id),
  invoice_line_id    uuid references invoice_lines(id),
  receipt_id         uuid references cash_receipts(id),
  customer_debit_memo_no text,
  customer_reason_code   text,   -- as received from retailer
  internal_reason_code   text,   -- OUR taxonomy
  amount_cents       bigint not null,
  status             text not null,  -- OPEN|DISPUTED|RECOVERED
                                     -- |WRITTEN_OFF|EXPIRED
  dispute_deadline   date not null,  -- per the vendor agreement
  owner_id           uuid references users(id),
  evidence_urls      text[],
  resolved_at        timestamptz
);

The shape that matters is that a cash receipt does not point at an invoice. It fans out into many cash_applications and many deductions, with the invariant that applications plus deductions equal the receipt amount. Anything left over is unapplied cash, and it must be a first-class, visible number.

The dispute_deadline turns the retailer's filing window into an alert instead of a regret; deductions that pass it move automatically to EXPIRED and are reported as pure margin loss, so somebody feels it.

In cash_receipts, ACH is the US bank-to-bank electronic payment network — the way most retailers now pay. Both reason-code columns exist because the retailer's code is your evidence, while your own list of codes is what you can analyze across retailers. That is the join point with the chargebacks and vendor-compliance chapter, which owns the mapping table and the evidence pipeline.

Factor integration

If the brand factors, the factor is a second ledger the ERP must reconcile to daily. You need an assignment_schedules table recording which invoices were sold, when, and at what gross value. You need a factor_transactions table mirroring every statement line — purchase, commission, interest, advance, collection, chargeback, reserve release — keyed by the factor's own reference number. And you need a nightly reconciliation that produces an exception list.

Enforce two rules on top. First, an order whose factor_approved_cents is null or expired cannot ship without an explicit client-risk acknowledgement recorded against a named user. Second, cumulative shipped value cannot exceed the approval without that same acknowledgement. Those two rules prevent the most expensive mistake a factored brand makes.

Inventory valuation and dated duty rates

-- Cost layers make FIFO auditable. One row per receipt
-- per SKU, consumed in receipt order.
create table inventory_cost_layers (
  id                 uuid primary key,
  tenant_id          uuid not null,
  sku_id             uuid not null references skus(id),
  receipt_id         uuid not null,
  received_on        date not null,
  qty_received       int  not null,
  qty_remaining      int  not null check (qty_remaining >= 0),
  fob_cents          bigint not null,
  freight_cents      bigint not null default 0,
  duty_cents         bigint not null default 0,
  other_landed_cents bigint not null default 0,
  standard_cost_cents bigint not null,   -- from the cost sheet
  actual_cost_cents  bigint,             -- null until invoices land
  landed_cost_cents  bigint generated always as (
    fob_cents + freight_cents + duty_cents + other_landed_cents
  ) stored
);

-- Duty rates are dated facts, not constants. 2026 proved it.
create table duty_rates (
  id             uuid primary key,
  hts_code       text not null,
  country_of_origin char(2) not null,
  programme      text not null,   -- MFN|SECTION_122|SECTION_301
                                  -- |SECTION_232|FTA
  ad_valorem_bp  int,             -- basis points, e.g. 1630 = 16.3%
  specific_cents_per_kg bigint,
  effective_from date not null,
  effective_to   date,            -- null = still in force
  source_note    text not null,   -- where you verified it
  unique (hts_code, country_of_origin, programme, effective_from)
);

create table inventory_reserves (
  id             uuid primary key,
  tenant_id      uuid not null,
  as_of_period   date not null,          -- period end
  sku_id         uuid not null,
  qty_on_hand    int not null,
  cost_cents     bigint not null,
  nrv_cents      bigint not null,
  reserve_cents  bigint not null,
  basis          text not null,          -- AGE_TABLE|OBSERVED_NRV
                                         -- |BROKEN_SIZE|MANUAL
  computed_at    timestamptz not null default now(),
  approved_by    uuid references users(id)
);

Cost layers, rather than one average cost per SKU, give you FIFO with an audit trail: you can point at exactly which receipt's cost shipped with which order. Freight, duty and other landed costs stay in separate columns, because when a duty rate changes or a freight invoice is restated you must be able to adjust one component without losing the others.

The landed_cost_cents column is generated: the database adds the four components itself and stores the result, so the total can never disagree with its parts. Keeping both standard_cost_cents and actual_cost_cents lets the system compute purchase price variance automatically and split it between units on hand and units sold.

Two labels in the duty_rates table need translating. ad_valorem_bp holds a percentage duty, one charged as a share of value, recorded in basis points, where one basis point is a hundredth of a percent, so 1630 means 16.3%. Storing whole numbers this way avoids rounding errors. In the programme column, MFN means "most favored nation," the ordinary published rate that applies to any country the US trades with normally; FTA means a free trade agreement rate; and the Section numbers name the specific US law a tariff was imposed under.

The duty_rates table is the direct lesson of 2025 and 2026. A duty rate is a fact with a start date, an end date, a legal basis and a source you can cite — not a number typed into a style record. Storing it this way is what lets you answer "what did we actually pay, under which program, on this container?" when a refund becomes available, and lets you re-cost a shipment without editing history.

The reserve table is snapshotted per period and approved by a named person, so last month's reserve stays a fixed historical fact rather than silently recomputing when somebody reruns the report for the board.

Revenue recognition and the period lock

The revenue posting date derives from shipping_terms. FOB_ORIGIN recognizes on the ship date. FOB_DEST holds the goods in an in-transit state and recognizes on delivery confirmation.

Consignment placements must be a distinct movement type: units leave your warehouse location for a consignee location with no revenue, no receivable and no reduction in stock value. Revenue posts only against reported sell-through, and the system reconciles units placed, minus sold, minus returned, against the on-hand quantity the consignee reports.

Add a periods table with a locked_at timestamp, and refuse any posting dated into a locked period unless an explicit reopen event records a reason and an approver. This is a row-level security concern too (Chapter 5) — that is, rules inside the database about which rows each user is allowed to see and change. A lock that one tenant's administrator can bypass for another tenant controls nothing.

The screens people will actually demand

  • AR aging, aged from the due date, filterable by customer, salesperson and season, with disputed balances in their own column and drill-through to invoice and shipment.
  • Credit hold queue: every held order with its exposure, limit, factor approval, days held, and a release action that requires a reason code.
  • Cash application workbench: unmatched receipts on the left, open invoices on the right, automatic match suggestions, and one click to split a receipt into applications plus a coded deduction.
  • Deduction workbench, grouped by reason code and retailer, with dispute deadlines counting down, evidence attachments, and a recovery rate per code.
  • Factor reconciliation: our AR against the factor statement, with the unreconciled difference on the front page.
  • Borrowing base, computed from live data and exportable in the lender's format on the lender's schedule.
  • Inventory aging and reserve by season, category and SKU, with the age table applied and every manual override recorded.
  • Landed cost history per style, showing which duty rate and program applied to each receipt, so a rate change or a refund can be traced.
  • Margin by order: shipped revenue, less landed COGS, less allocated deductions. This is the report that reveals which accounts are unprofitable once chargebacks are counted.
  • 13-week cash forecast, seeded from the order book, open purchase orders, factor availability and known fixed payments.
  • The Monday page: the eight-number table above, generated automatically and emailed.

Rules the software must enforce by itself

  1. No shipment without a credit decision in force; the hold is evaluated at entry, allocation and pre-pick.
  2. No invoice without a valid resale certificate for that state, or an explicit taxable flag.
  3. Cash applications plus deductions for a receipt equal the receipt amount; any remainder is reported as unapplied, never absorbed.
  4. Every deduction links to an invoice and, where possible, to an invoice line and a shipment.
  5. The revenue date derives from shipping terms; no manual override without an approver and a reason.
  6. Landed cost components are stored separately and can be re-allocated; expensing freight or duty straight to the P&L is blocked.
  7. Duty is looked up from a dated rate record; a hard-coded percentage fails the build.
  8. The inventory sub-ledger value equals the GL inventory balance every night; alert on any difference.
  9. Factor approval must cover cumulative shipped value, or the shipment is flagged client-risk with a named acknowledger.
  10. Locked periods reject postings; reopens are events with a reason and an approver.

Where this connects

  • Chapter 1's append-only ledger is the substrate for cost layers, consignment movements and the in-transit state that FOB destination requires.
  • Chapter 2 gives you the exclusion constraints, generated columns and temporal patterns used above.
  • Chapter 3's rules on concurrency and idempotency — designing an operation so that running it twice has the same effect as running it once — matter acutely here: a factor statement imported twice must not double-post chargebacks, and a credit check must not race a pick ticket.
  • Chapter 4's integrations carry the electronic invoice, the electronic remittance advice that drives cash application, and the general-ledger sync.
  • Chapter 5's row-level security must cover the period lock and the credit tables.
  • Chapter 7's spreadsheet importers are how the factor statement arrives for the first year, because factors send CSV files.
  • Chapter 8's caching applies to the aging and the borrowing base, both expensive aggregates that people refresh constantly.
  • And Chapter 9's invariant checking is where this chapter's close controls actually live.
Build order

If you build only three things from this chapter, build them in this order: invoices with correct due dates derived from terms; cash application that splits receipts into applications and coded deductions; and an AR aging aged from the due date. Everything else — credit limits, factor reconciliation, borrowing base, reserves — computes on top of those three. And none of it can be retrofitted onto a system where payments were matched to invoices by hand.

Working capital, and why it grows when you succeed Working capital, and why it grows when you succeed. The two red boxes are money you have already committed but cannot yet spend: stock in the building and invoices not yet paid. The green box is the only counterweight, and it is the one your factory wants to shrink. Add the first two, subtract the third, multiply by what a day of goods costs, and you have the amount you must finance before a single new order helps you. WHERE THE MONEY SITS, AND WHO IS FUNDING IT Inventory cash you already spent, sitting in a warehouse DIO Receivables goods delivered, invoice unpaid DSO Payables the one place someone else funds you DPO Working capital need = DIO + DSO − DPO expressed in days, then multiplied by daily cost of goods What makes it worse longer production lead times generous terms to win an account growth — every new order adds to it What relieves it deposits from new accounts factoring the receivable holding less, selling through faster Profit is an opinion about a period. Cash is a fact about a Tuesday morning.
Working capital, and why it grows when you succeed. The two red boxes are money you have already committed but cannot yet spend: stock in the building and invoices not yet paid. The green box is the only counterweight, and it is the one your factory wants to shrink. Add the first two, subtract the third, multiply by what a day of goods costs, and you have the amount you must finance before a single new order helps you.

Field notes & further reading

Exercise

1. Compute your own cash conversion cycle and find your peak. Pull twelve months of actuals: monthly COGS, monthly net sales, and month-end stock, AR and AP. Compute DIO, DSO and DPO on average balances, then CCC, for each month. Plot the twelve values. Separately, plot your net funding requirement month by month, as in the seasonal swing example. Identify the worst month and the dollar size of the trough. Then answer three questions in writing: which component is worst against the Hackett benchmarks; what is the smallest facility that would have covered your peak plus 20%; and what your peak would have become if your largest account had stretched from net 60 to net 120, which is roughly what happens when a big retailer decides to fund itself with your money.

2. Reconstruct one month of cash application by hand, then specify the schema. For every payment received in one real month, write down the receipt amount, then split it into (a) amounts applied to specific invoices, (b) deductions with the retailer's reason code, and (c) anything you cannot explain. Total column (c) — that is your unapplied cash, and it is almost certainly larger than you expected. For column (b), map every retailer reason code to an internal one, count how many are past their dispute deadline, and compute your deduction rate as a percentage of gross invoicing. Then write the table definitions for cash_receipts, cash_applications and deductions for your own business, including the check constraint that forces applications plus deductions to equal the receipt amount. (The SQL that creates tables is called DDL, for "data definition language" — it is just create table statements.)

3. Date your duty rates. Take your five highest-volume styles. Find the HTS code for each, look up the current rate, and write down every tariff program that applied to those goods in the last eighteen months, with the dates. Then compute what your landed cost and gross margin were under each version of the rate. If you cannot do this, your cost sheets are fiction, and that is the first thing to fix in the item master.

When you are done you should have: a twelve-month CCC series with a named peak funding number you can take to a lender; a measured deduction rate to feed into your pricing and your dilution reserve; a reason-code mapping table; a dated duty-rate history for your top styles; and three tables of schema you can build against in Chapter 11's reference model.