Skip to main content
All guides
9 min read·Last updated: 2026-07-31

B2B cost-to-serve per customer: calculating true profitability beyond revenue

Revenue alone is not enough: discover what it really costs to serve each customer and which commercial relationships generate net value for your SME in Switzerland.

Why revenue does not tell the whole story

In Swiss B2B SMEs, it is common to classify customers based on annual revenue. A CHF 120,000 contract seems more important than one worth CHF 40,000, and often drives discounts, operational priorities, and commercial investment. However, revenue only measures how much you collect—not how much you spend to maintain the relationship.

Cost-to-serve (CTS) answers a different question: how much does it cost your company to deliver products or services to a single customer, including labour hours, logistics, support, financing, and administrative complexity? Two customers with the same revenue can have very different net margins—and ignoring this difference erodes overall profitability.

This guide explains how to build a cost-to-serve analysis suited to a Swiss SME, with progressive methods that start from data already in accounting and invoicing, up to a per-customer model useful for pricing, portfolio selection, and cash flow planning.

What cost-to-serve is and what it measures

Cost-to-serve is the total cost incurred to deliver value to a specific customer over a defined period, usually a financial year. Unlike gross margin on the product, CTS also considers resources consumed after the sale and those tied to relationship management.

Typically included costs

  • Production, consulting, or project management hours attributable to the customer
  • Materials, shipping, and customs for dedicated deliveries
  • After-sales support, returns, and warranties
  • Onboarding, training, and sales visits
  • Administrative time: invoices, reminders, reconciliations
  • Implicit financing cost for late payments

What not to confuse

  • Product cost ≠ cost of serving the customer
  • Gross margin ≠ net profitability of the relationship
  • General fixed costs should be allocated, not ignored entirely
  • One-off revenue vs recurring management costs

Cost-to-serve components: cost map

For a Swiss SME, it makes sense to break costs into traceable categories. The table below shows what to measure and where to retrieve the data in ordinary accounting practice (Swiss Code of Obligations / Swiss accounting standards):

Component Examples Typical data source
Direct delivery costs Project hours, subcontractors, dedicated materials Timesheets, orders, accounts 4xxx–6xxx
Logistics and fulfilment Shipping, packaging, dedicated warehouse, customs Courier invoices, delivery notes, cost centres
Support and quality Support tickets, returns, warranty interventions CRM, helpdesk, credit notes
Commercial complexity Repeated quotes, negotiations, customisations CRM, allocated sales hours
Customer administration Fragmented invoicing, QR-bill, reconciliations Accounting, accounts receivable ageing report
Financing cost High DSO, unused early payment discounts, default risk Payment schedule, reference interest rate
Share of indirect costs IT, rent, management, insurance Chart of accounts, allocation drivers

Formula and key indicators

The basic cost-to-serve calculation per customer for a financial year is:

Cost-to-serve = Allocated direct costs + Share of indirect costs + Implicit financing cost

Net customer margin = Net revenue (after discounts/VAT) − Cost-to-serve

Net margin % = Net customer margin ÷ Net revenue × 100

For internal comparisons, it is useful to add complementary indicators that do not depend on revenue volume alone:

Indicator Formula Usefulness
Cost-to-serve ratio CTS ÷ Net revenue Shows how much of revenue is absorbed by service costs
Cost per order / project CTS ÷ Number of orders or jobs Highlights customers with too many small transactions
Cost per CHF of revenue CTS ÷ Net revenue (expressed in centimes) Quick comparison across B2B segments
Weighted DSO Average collection days per customer Quantifies the cost of tied-up capital

Numerical example: two customers, same revenue

An IT services company in Zurich invoices CHF 80,000 annually each to Customer A and Customer B. Gross margin on hours is similar (around 55%). The cost-to-serve analysis, however, reveals very different profiles (financing cost calculated using the same reference rate of 5% per annum):

Customer A — efficient relationship

  • Net revenue: CHF 80,000
  • Direct costs (hours, subcontractors): CHF 36,000
  • Support and revisions: CHF 2,400
  • Administration (4 invoices/year): CHF 800
  • Share of indirect costs (IT, rent): CHF 6,000
  • Financing cost (DSO 30 days): CHF 330
  • Total cost-to-serve: CHF 45,530
  • Net margin: CHF 34,470 (43.1%)

Customer B — costly relationship

  • Net revenue: CHF 80,000
  • Direct costs (scope creep, rework): CHF 42,000
  • Support and tickets: CHF 8,500
  • Administration (18 invoices + reminders): CHF 3,200
  • Share of indirect costs: CHF 7,200
  • Financing cost (DSO 75 days): CHF 822
  • Total cost-to-serve: CHF 61,722
  • Net margin: CHF 18,278 (22.8%)

Without CTS analysis, both customers would appear equally "strategic". With cost-to-serve, it becomes clear that Customer B absorbs almost twice as much indirect and operational resource for the same revenue. The right response is not necessarily to terminate the contract, but to renegotiate terms, minimum fees, invoicing methods, or service levels.

How to allocate costs: three levels of precision

Swiss SMEs can adopt an incremental approach without waiting for a perfect costing system. What matters is consistency over time, not absolute precision on the first attempt.

Level 1 — Directly traceable

Assign to the customer everything already recorded with a customer reference: issued invoices, timesheet hours, shipments, credit notes. This is the minimum starting point and often sufficient to identify obvious outliers. It requires invoicing and accounting to use a consistent customer code on every transaction.

Level 2 — Allocation drivers

For indirect costs, choose plausible drivers: total hours per job, number of orders, invoiced value, number of tickets, volumes shipped. Example: if the administration department costs CHF 120,000 per year and Customer B generates 22% of invoices issued, assign CHF 26,400 in administrative cost. Document the drivers chosen to ensure comparability across financial years.

Level 3 — Simplified activity-based costing

Define recurring activities (onboarding, month-end close, return handling) and assign a standard cost per occurrence multiplied by frequency per customer. Useful for companies with repetitive processes and a highly heterogeneous customer mix. No dedicated software required: a spreadsheet linked to accounting data may be enough.

Swiss specifics not to underestimate

In the Swiss B2B context, certain factors systematically affect cost-to-serve and rarely appear in standard gross margin reports.

  • Multilingualism and cantonal differences: customers requiring documentation, contracts, or support in multiple languages increase administrative and commercial hours. If you serve customers across several cantons, also consider differences in payment terms and public procurement practices.
  • Payments and QR-bill: customers with fragmented payments, frequent advance payments, or systematic delays increase administrative cost and tied-up working capital. Financing cost should be estimated using a realistic interest rate (e.g. overdraft rate or cost of equity).
  • VAT and acquisition tax: for foreign customers, cross-border transactions, or services from foreign suppliers subject to reverse charge under Art. 45 of the Swiss VAT Act (MWSTG), tax complexity can increase bookkeeping time. These costs should be assigned to the relationship, especially when recurring.
  • Contractual requirements and compliance: clauses on insurance, certifications, customer audits, or periodic reports impose recurring costs often absorbed as a loss if not tracked.
  • Currency and exchange rate risk: for customers invoiced in EUR or USD, include the impact of exchange differences and any necessary hedging in cost-to-serve—not only at the time of the transaction.

Practical implementation in five steps

1

Define the unit of analysis

Decide whether to measure by legal entity, framework contract, or profit centre. In Swiss B2B, groups with multiple sites may require a parent-subsidiary mapping to avoid distortions.

2

Align accounting, CRM, and timesheets

Every cost and revenue item must carry a unique customer identifier. Accounting software such as Accountex lets you link invoices, payments, and cost centres: use this structure from the outset to avoid rework at year-end.

3

Build the allocation model

Start at Level 1 and add drivers for the most significant items. Focus on the 20% of costs that explain 80% of variance between customers: usually support, administration, and rework.

4

Calculate and segment the portfolio

Classify customers into quadrants: high revenue / high net margin (protect), high revenue / low margin (renegotiate), low revenue / high margin (develop), low revenue / low margin (discontinue or automate).

5

Integrate into commercial decisions

Use CTS for minimum order value, support surcharges, price indices, payment term clauses, and service desk priorities. Review the analysis at least quarterly and after every significant contract renewal.

Decisions guided by cost-to-serve

A well-structured CTS analysis feeds concrete choices that go beyond a simple management report:

Pricing and contract terms

Customers with high CTS justify higher prices, account management fees, milestone-based invoicing rather than unlimited consumption, or included limits in support contracts. Avoid uniform discounts on revenue: reward customers with low service costs.

Service design

If onboarding certain segments costs three times as much, standardise processes, create self-service options, or charge a setup fee. Reducing unrequested variants is often more effective than raising prices.

Credit and collections policy

Integrate DSO into CTS and set exposure limits for customers whose net margin is already compressed. In Switzerland, debt enforcement proceedings (Betreibung) for debt recovery have defined costs and timelines: a late-paying customer can quickly erode an apparently healthy margin.

Operational team priorities

Assign senior resources to high net-value customers, not just high-revenue ones. High-CTS customers can be managed through leaner channels, differentiated SLAs, or dedicated contacts focused on process improvement.

Common mistakes to avoid

An imprecise cost-to-serve analysis can lead to wrong decisions as much as having no analysis at all. Here are the most common traps in Swiss SMEs:

  • Allocating all fixed costs proportionally to revenue: overstates CTS for large "easy" customers and understates it for small but demanding ones. Use drivers linked to actual activity.
  • Ignoring the cost of in-flight changes: scope creep and unbilled change requests are often the main cause of net margin erosion.
  • One-off analysis: customer mix and internal costs change; a CTS model should be updated at least every quarter.
  • Confusing VAT with cost: in Swiss accounting, VAT charged to customers is neither revenue nor an operating cost; always use VAT-exclusive amounts for comparison.
  • Emotional portfolio decisions: long-standing or prestigious customers can have unsustainable CTS; data should inform, not replace, commercial judgement.

How Accountex supports cost-to-serve analysis

Integrated accounting software simplifies collecting the data needed for CTS. With Accountex you can link every sales and purchase invoice to the customer, monitor due dates and accounts receivable ageing, analyse cost centres, and produce reports by accounting period compliant with Swiss standards.

The goal is not to replace entrepreneurial judgement with a formula, but to have consistent figures—revenue, direct costs, collection times—on which to build a repeatable per-customer analysis. By exporting data to a spreadsheet or lightweight BI tool, even an SME without a controlling department can calculate cost-to-serve with limited effort and improve it year after year.

Conclusion: from revenue to net value

Cost-to-serve transforms the question "how much does this customer invoice?" into "how much do they really leave us?". For Swiss B2B SMEs, where tight margins and high personnel costs coexist with demanding customers and complex administrative processes, this distinction is often decisive for business sustainability.

Start with directly traceable costs, progressively add drivers for support and administration, and use the results to renegotiate terms rather than indiscriminately cutting prices. Less profitable customers are not necessarily ones to lose: they often simply need to be served differently—or paid more for the complexity they generate.

Simplify your Swiss accounting

AccountEX handles VAT, QR-invoices and bookings with AI. Start for free.