How wholesale differs from retail.
Wholesale sells to other businesses, almost always on credit terms (net-30, net-60, net-90). The average invoice size is 5-20x a retail invoice. Margins are 8-25 percent versus 30-60 percent retail. Volume is high; product range is deeper. Inventory turns slower because warehouses hold safety stock for multiple customers. Customer concentration risk is real: a single customer often represents 5-20 percent of revenue.
The accounting consequences: receivables management is the most important function (more important than COGS calculation), pricing must support tiers and contracts, inventory must support multi-warehouse and lot tracking, and reporting must surface customer profitability after rebates, returns, and freight. A US wholesale plumbing supply distributor with USD 18 million annual revenue typically has 2,400 customers, 8,000 SKUs, and AR of USD 2-3 million. Manage that AR poorly and the business collapses within six months.
Feature one: multi-warehouse inventory.
Wholesalers operate from 2-20 warehouses spread by geography. Each warehouse holds different stock based on regional demand. Inter-warehouse transfers are routine. The accounting system must track inventory per warehouse with its own weighted average cost, post transfers correctly (DR Warehouse B Inventory / CR Warehouse A Inventory at WAC), and report stock-on-hand by warehouse. A national wholesaler that cannot tell you stock at the Lahore warehouse vs the Karachi warehouse is flying blind.
Multi-warehouse also means multi-location sales fulfillment. An order from a Faisalabad customer might fulfill from the Lahore warehouse if the Faisalabad warehouse is out. The system must support this, track the fulfillment, and update the right inventory ledger. Nonari multi-branch architecture treats each warehouse as its own ledger with branch-scoped weighted average cost. Transfers and cross-warehouse fulfillment work without breaking the books.
Feature two: tiered pricing and customer contracts.
Wholesale pricing is rarely a single list price. Customer A gets list. Customer B gets list minus 5 percent. Customer C gets a special contract on SKUs 1-50 at specified prices. Volume discounts apply at thresholds. Some customers have rebates payable quarterly. The pricing engine must support all of this without forcing the sales rep to memorize 600 customer-specific rules.
A Lahore electrical wholesaler with 1,200 customers and 4 pricing tiers: standard, contractor, MEP firm, and key account. Each tier has different prices on 60 SKU categories. Plus 12 key accounts have negotiated contracts with specific SKU pricing. The order entry screen should show the right price automatically based on the customer tier and any active contract. Nonari supports tiered pricing with customer-specific contract overrides; the sales rep picks the customer, the price loads, no thinking required.
Feature three: credit management and AR control.
Every wholesale customer has a credit limit (e.g. PKR 500,000), a payment term (net-30), and a credit score. The system must enforce: refuse to create a new invoice for a customer over their limit, flag customers approaching the limit, apply automatic credit holds on overdue customers, and produce a daily aging report. Without enforcement, sales reps approve credit they should not, AR ages, and bad debt explodes.
A Karachi wholesale chemical distributor lost PKR 14 million to bad debt over 2 years because sales reps issued credit informally. After implementing system-enforced credit limits in Nonari, AR aging dropped from 47 average days to 31 days within 6 months, and bad debt dropped to under 1 percent of revenue. The PKR 14 million loss is not unusual for that size of business; it is the cost of not enforcing credit policy with software.
- Multi-warehouse with branch-scoped inventory ledgers.
- Tiered pricing with customer-contract overrides.
- Credit limit enforcement at invoice creation.
- AR aging with automatic dunning workflow.
- Landed cost capitalization including freight and customs.
- Customer profitability after rebates and returns.
- Multi-currency for import-export operations.
Feature four: landed cost calculation.
Wholesalers importing from overseas must capture all landed costs: vendor invoice in foreign currency, ocean freight, marine insurance, customs duty, import sales tax, clearing agent fees, inland freight. All of these capitalize into inventory. Skip any and your COGS is understated, your gross margin is inflated, and your pricing decisions are wrong. The total landed cost on a USD 50,000 container of goods often runs USD 8,000-15,000 above the vendor invoice.
A Karachi importer of household appliances books the FOB cost USD 50,000 against the supplier. Ocean freight USD 3,200, marine insurance USD 240, customs duty USD 5,500, import sales tax USD 4,800, clearing PKR 35,000 (USD 125 at SBP rate), inland freight to warehouse PKR 28,000 (USD 100). Total landed cost USD 63,965, allocated to the container 800 units = USD 79.96 per unit. Without proper allocation, the books would show 800 units at USD 62.50 per unit and the gross margin would lie by 22 percent.
Feature five: route accounting and van sales.
Many wholesalers run van sales: a driver loads stock in the morning, delivers to a route of 20-40 customers, collects cash or signs invoices, and reconciles at end of day. The accounting must support: load-out (move stock from warehouse to van inventory), invoice creation per customer, payment collection per customer, returns reconciliation, and end-of-day reconciliation of van inventory back to zero. The driver tablet or phone is the POS for that day.
Route accounting is where most generic accounting software falls down because it does not understand the workflow. Local wholesale-specific products (Sage 50 Wholesale, GoFrugal, Tally Wholesale) handle this. Nonari supports route accounting via mobile app: van load-out posts as an inter-branch transfer (warehouse to van branch), each customer invoice relieves van stock, end-of-day reconciliation flags any van stock not accounted for. The route driver works on the phone; the office sees the data live.
Feature six: customer profitability reporting.
Wholesale margins are thin, so customer-level profitability matters enormously. The system must report revenue per customer minus COGS minus customer-specific costs (freight to that customer, rebates paid, returns from that customer) to land on a true contribution margin. Many wholesalers discover that the top 5 percent of customers by revenue produce 60 percent of profit, the middle 80 percent produce 50 percent, and the bottom 15 percent destroy 10 percent (negative profitability).
A US plumbing wholesaler ran customer profitability for the first time and discovered 32 customers (out of 1,800) were unprofitable. After raising prices, tightening freight policies, or politely encouraging them to source elsewhere, gross profit increased by USD 240,000 a year. The reports always existed; nobody had looked. Nonari customer profitability dashboard surfaces the bottom and top deciles automatically.
How to actually pick.
Shortlist three products that pass the seven feature filters above. Demo each with your real data (not the vendor demo dataset). Pick the one your bookkeeper finds clearest. The sales rep ease-of-use matters less than the bookkeeper because the bookkeeper spends 6 hours a day in the system and the sales rep spends 30 minutes. Migrate at month-end with reconciled opening balances. Run parallel for 4-6 weeks.
For Pakistani wholesalers in the PKR 30-500 million revenue range, the practical choices in 2026 are Nonari (cloud, FBR-native, multi-branch), Tally Prime (desktop, deep wholesale features, needs PRAL plug-in), and SAP Business One (overkill below 100 million but fits larger operations). Below PKR 30 million, Manager.io plus careful customer-management discipline can work for a year. Above that, the volume forces a real system.