DATE_TO_DATE
DATE_TO_DATE billing generates invoices for a fixed period from the service creation date — each period runs from creation anniversary to anniversary (minus one day where applicable).
Required for the service contract system on quarterly and longer billing cycles. Contract installments can run on Prepaid, Postpaid, or Manual (enable per mode on Update Billing Rule).
| Rule | Behaviour |
|---|---|
| Period start | Service creation date |
| Period end | Same date next cycle − 1 day |
| Consolidated invoicing | ❌ Each service has its own billing anniversary |
| Contracts | ✅ Required for service contracts (quarterly+ cycles only) |
How it works
Each service's billing period is anchored to its own creation date, not calendar month or quarter boundaries.
Monthly example
Under DATE_TO_DATE, billing cycles follow the customer's exact creation date anniversary rather than calendar month boundaries:
| Parameter | Details |
|---|---|
| Service created | 18 January 2025 |
| Billing cycle | Monthly |
| Billing Cycle Sequence | Covered Service Period |
|---|---|
| Month 1 (Initial cycle) | 18 January → 17 February |
| Month 2 (First renewal) | 18 February → 17 March |
| Month 3 (Second renewal) | 18 March → 17 April |
This approach calculates billing based strictly on the service anniversary date without pro-rating to calendar month ends (1st of the month). This makes it ideal for customer contract agreements and anniversary-based subscriptions.
Yearly example
| Service created | 25 Apr 2025 |
| Billing cycle | Yearly |
| Invoice period |
|---|
| 25 Apr 2025 → 24 Apr 2026 |
Invoice period end dates are generated as creation anniversary minus one day so periods do not overlap.
Postpaid consolidated invoicing exception
DATE_TO_DATE does not support monthly consolidated invoicing on postpaid accounts.
| Reason | Detail |
|---|---|
| Different anniversaries | Service A created on 5th; Service B on 12th — each has a different cycle |
| Per-service invoices | Each service gets its own invoice on its anniversary |
For a full comparative breakdown with examples (VPC on 5th, IP on 10th, VM on 15th), see Invoice generation mechanics: Consolidated vs. independent services.
For consolidated monthly postpaid billing, use FIXED_PRORATA or calendar-month rules instead. See One Account One Invoice (OAOI) and Postpaid.
Service contracts
Full provider guide: Service Contracts.
The contract term is DATE_TO_DATE (creation date → anniversary). CMP bills a monthly installment (Yearly ÷ 12 minus discount) rather than charging the entire multi-month cycle price upfront.
| Requirement | Value |
|---|---|
| Billing cycle | Quarterly or longer — not hourly or monthly |
| Billing rule | DATE_TO_DATE only on contract rows |
| Payment mode | Prepaid, Postpaid, or Manual — set Contract Status independently per mode |
See Annually and Calculations & Lifecycle for 12-month and multi-year examples.
DATE_TO_DATE can also be used on monthly (and longer) cycles for non-contract billing. The contract system does not apply to hourly or monthly cycles.
Supported billing cycles
| Cycle | DATE_TO_DATE as billing rule? | Service contracts? |
|---|---|---|
| Hourly | ❌ — hourly uses enforced FIXED_PRORATA | ❌ |
| Monthly | ✅ | ❌ |
| Quarterly | ✅ | ✅ |
| Semi-annually | ✅ | ✅ |
| Annually | ✅ | ✅ |
| Bi-annually / Tri-annually | ✅ | ✅ |