Skip to main content

B2B Payment Terms: Net-30, Credit Limits & Aging Analysis

Master B2B payment terms including Net-30/60/90, early payment discounts, credit limit management, aging analysis, and collection workflows in Odoo.

E
ECOSIRE Research and Development Team
|March 15, 202612 min read2.3k Words|

Cash is oxygen for a business. Payment terms determine how long you go without breathing between delivering value and receiving payment. A company with $10 million in monthly sales on Net-30 terms has $10 million permanently tied up in accounts receivable.

Part of our B2B eCommerce & Operations series

Read the complete guide

Cash is oxygen for a business. Payment terms determine how long you go without breathing between delivering value and receiving payment. A company with $10 million in monthly sales on Net-30 terms has $10 million permanently tied up in accounts receivable. Extending those terms to Net-60 doubles that figure to $20 million. That $10 million difference must be financed somehow --- through working capital, credit lines, or slower growth.

Yet payment terms are also a competitive weapon. A supplier offering Net-60 when competitors offer Net-30 wins deals. The question is not whether to offer credit terms but how to manage the risk, cash flow impact, and collection process that come with them.

Key Takeaways

  • Every day of DSO (Days Sales Outstanding) above your target costs approximately 0.015% of annual revenue in financing costs
  • 2/10 Net-30 terms (2% discount for payment within 10 days) yield an annualized return of 36.7% --- most buyers should take it, most sellers should offer it
  • Credit limits must be enforced in real time at the order entry point, not discovered after shipment
  • Aging analysis is a leading indicator of customer health --- deteriorating payment patterns predict churn 6-12 months before it happens

Understanding B2B Payment Terms

Common Payment Term Structures

TermDescriptionCash Flow ImpactWhen to Use
CIACash in advance before shipmentBest (immediate)New/high-risk customers
CODCash on deliveryGood (at delivery)Small orders, new customers
Net-15Payment due 15 days after invoiceModerateSmall accounts, low risk
Net-30Payment due 30 days after invoiceStandardEstablished accounts
Net-45Payment due 45 days after invoiceSignificantMid-tier accounts
Net-60Payment due 60 days after invoiceHeavyLarge accounts, competitive
Net-90Payment due 90 days after invoiceSevereEnterprise, government
Net-120Payment due 120 days after invoiceCriticalGovernment, overseas
EOM+3030 days after end of invoice monthVariableMonth-end alignment
2/10 Net-302% discount if paid in 10 days, full in 30Good (if discount taken)Incentivize early payment

The True Cost of Payment Terms

Extending payment terms has a quantifiable cost. Every dollar in accounts receivable has a carrying cost --- the opportunity cost of that capital plus the risk of non-payment.

Carrying cost calculation:

If your cost of capital is 8% annually:

  • Net-30: $10M AR x (8% / 365 x 30) = $65,753 per month
  • Net-60: $20M AR x (8% / 365 x 60) = $263,014 per month
  • Net-90: $30M AR x (8% / 365 x 90) = $591,781 per month

The difference between Net-30 and Net-90 is $526,028 per month in carrying costs. This must be factored into pricing when offering extended terms.


Early Payment Discounts

The Math Behind 2/10 Net-30

The most common early payment discount is "2/10 Net-30" --- the buyer gets a 2% discount for paying within 10 days instead of the standard 30 days. This seems like a small incentive, but the annualized return tells a different story.

The buyer choosing not to take the discount is effectively borrowing money for 20 days (the difference between day 10 and day 30) at a cost of 2%. Annualized, this is:

(2% / 98%) x (365 / 20) = 37.2% annualized interest rate

Any buyer with access to capital below 37.2% should take the discount. Since most business credit lines charge 5-15%, the rational choice is almost always to take the discount.

Discount Structures

Discount TermBuyer SavingsAnnualized RateSeller Cash Flow Impact
1/10 Net-301%18.4%Accelerates by 20 days
2/10 Net-302%37.2%Accelerates by 20 days
3/10 Net-603%22.4%Accelerates by 50 days
2/10 Net-602%14.9%Accelerates by 50 days
1/10 Net-451%10.5%Accelerates by 35 days

Implementing Discounts in Odoo

Odoo's payment terms configuration supports early payment discounts natively. When creating a payment term, you define the discount percentage and the discount period. The system automatically calculates the discounted amount when a payment is received within the discount window and reconciles the difference as a discount expense.

The buyer portal displays both the full amount and the discounted amount with the discount deadline, making it easy for buyers to see the savings and act on them.


Credit Limit Management

Setting Credit Limits

Credit limits should reflect both the customer's creditworthiness and the size of the business relationship. A customer who is creditworthy but only orders $5,000 per month does not need a $500,000 credit limit.

Credit limit formula:

Recommended credit limit = Average monthly purchases x Payment term multiplier x Risk factor

Customer Risk ProfileRisk FactorPayment Term Multiplier
Low risk (5+ years, clean history)1.5Terms in months (e.g., 1 for Net-30)
Medium risk (1-5 years, minor delays)1.2Terms in months
High risk (new customer, some issues)0.8Terms in months
Very high risk (poor credit, disputes)0.5Terms in months

Example: A medium-risk customer averaging $50,000/month on Net-30 terms: $50,000 x 1.0 x 1.2 = $60,000 credit limit

Real-Time Credit Enforcement

Credit limits must be enforced at the point of order entry, not after the fact. When a buyer places an order in the B2B portal or when a sales rep enters an order, the system should check the customer's current AR balance plus all open (unshipped) orders against their credit limit.

Check PointAction if Over Limit
Order entry (portal)Block order submission, display message
Order entry (sales rep)Warning with option to request exception
Order confirmationBlock confirmation, route to credit team
Shipment releaseHold shipment, notify credit team

In Odoo, credit limits are configured on the customer record and checked during the sales order confirmation workflow. Custom logic can extend this to check at order entry and shipment stages.

Credit Review Triggers

Credit limits should not be static. Define events that trigger a credit review.

  • Order exceeds 80% of credit limit
  • Payment is more than 15 days past due
  • Customer requests a credit limit increase
  • Annual review (every 12 months minimum)
  • Significant change in ordering pattern (sudden increase or decrease)
  • External credit report change (Dun & Bradstreet, Experian Business)

Aging Analysis

The Aging Report

The accounts receivable aging report is the most important report in B2B credit management. It segments outstanding invoices by age, revealing which customers are paying on time and which are sliding.

Aging BucketAmount% of TotalCountAvg Days Overdue
Current (not yet due)$485,00052.1%147---
1-30 days overdue$215,00023.1%6818
31-60 days overdue$128,00013.8%3444
61-90 days overdue$67,0007.2%1572
91-120 days overdue$24,0002.6%7103
120+ days overdue$11,0001.2%4156
Total AR$930,000100%275

Aging as a Predictive Indicator

Aging patterns predict customer behavior. A customer whose aging profile is shifting right --- more invoices in older buckets each month --- is showing signs of financial stress or dissatisfaction. This pattern typically appears 6-12 months before a customer churns or defaults.

Track aging trends by customer, not just snapshots. A customer with $50,000 in the 31-60 bucket is not concerning if that is typical for their payment pattern. The same customer with $50,000 in the 61-90 bucket when they normally pay in 30 days is a red flag.

Collection Workflows

Effective collection is systematic, not sporadic. Define a collection workflow that escalates automatically.

Days OverdueActionChannelOwner
1 dayAutomated payment reminderEmailSystem
7 daysFriendly follow-upEmailAR team
15 daysPhone call to AP contactPhoneAR team
30 daysFormal past-due noticeEmail + mailAR manager
45 daysAccount placed on holdSystemAR manager
60 daysEscalation to sales repEmailSales manager
75 daysDemand letterCertified mailLegal
90 daysCollection agency or legal actionExternalCFO

In Odoo, follow-up actions can be automated through the Accounting module's payment follow-up feature, which sends escalating communications based on the number of days past due.


Days Sales Outstanding (DSO)

Calculating DSO

DSO measures the average number of days it takes to collect payment after a sale.

DSO = (Accounts Receivable / Net Credit Sales) x Number of Days

For a company with $930,000 in AR and $3,100,000 in monthly credit sales:

DSO = ($930,000 / $3,100,000) x 30 = 9.0 days... but this is the monthly DSO. Annual DSO is more meaningful:

Annual DSO = ($930,000 / $37,200,000) x 365 = 9.1 days

Wait --- this company has $930K AR on $37.2M annual sales? That is an unusually low DSO of 9.1 days, suggesting most customers pay quickly. A more typical B2B DSO is 45-55 days.

DSO Benchmarks by Industry

IndustryMedian DSOTop QuartileBottom Quartile
Manufacturing52 days38 days68 days
Distribution45 days32 days58 days
Technology58 days42 days75 days
Professional services48 days35 days62 days
Construction65 days48 days85 days

Reducing DSO

Every day of DSO reduction frees working capital. For a company with $37.2M in annual sales, each day of DSO equals approximately $101,918 in AR. Reducing DSO from 55 to 45 days frees $1,019,178 in cash.

Strategies to reduce DSO:

  • Offer early payment discounts (2/10 Net-30)
  • Invoice immediately upon shipment (not weekly or monthly)
  • Provide easy online payment through the buyer portal
  • Enforce credit holds on past-due accounts
  • Automate collection follow-ups
  • Match payment terms to customer risk profile

For the complete B2B eCommerce strategy, see our pillar guide: The B2B eCommerce Playbook.


Frequently Asked Questions

What payment terms should we offer new customers?

Start new customers on Net-15 or Net-30 with a conservative credit limit (typically one month's expected purchases). After 6-12 months of clean payment history, consider extending to Net-45 or Net-60 with an increased credit limit. Never start a new customer on Net-90 without a credit check and management approval --- the risk of a large, slow-paying first order is too high.

How do we handle customers who consistently pay late?

First, determine why they are paying late. If it is a process issue (invoice goes to the wrong person, PO number is missing), fix the process. If it is a cash flow issue, consider tightening their terms (Net-30 to Net-15) or requiring partial advance payment. If it is a pattern of intentional delay, enforce credit holds and consider a late payment fee. Document every conversation and action in the CRM.

Should we charge interest on overdue invoices?

Late payment interest (typically 1-1.5% per month) is common in B2B contracts but rarely enforced for good customers with occasional delays. Include the provision in your terms and conditions so you have the legal right to charge it, but apply it selectively. Consistently late payers should be charged. Occasionally late customers with a good relationship should receive a warning before interest is applied. The goal is to incentivize timely payment without damaging the relationship.

How does Odoo handle multi-currency payment terms?

Odoo supports multi-currency transactions natively. Invoices can be issued in the customer's currency, with payment terms applied in that currency. Exchange rate gains and losses are automatically calculated when the payment is received and reconciled. For customers in volatile currency markets, consider invoice-date exchange rate locking or USD-denominated invoicing to reduce currency risk.


What Is Next

Payment terms and credit management are the financial backbone of B2B relationships. Getting them right means healthy cash flow, manageable risk, and competitive commercial terms. Getting them wrong means financing your customers' operations at your expense.

ECOSIRE's Odoo implementation services include accounts receivable automation, credit management configuration, and aging analysis dashboard setup. We help B2B companies optimize their order-to-cash cycle and reduce DSO.

Contact us to discuss your payment terms strategy and see how Odoo can automate your credit management operations.


Published by ECOSIRE --- helping businesses scale with AI-powered solutions across Odoo ERP, Shopify eCommerce, and OpenClaw AI.

E

Written by

ECOSIRE Team

Technical Writing

The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.

ECOSIRE

Transform Your Business with Odoo ERP

Expert Odoo implementation, customization, and support to streamline your operations.