User Story
As a mobile service provider offering combo plans (two products under one long-term contract), I want to support 28-day billing period (regardless of calendar months and weeks) and prorate charges and discounts at contract start and end, so that invoices, discounts, and termination fees are calculated correctly when a contract starts or ends mid-cycle.
Example of use
End customer: John Smith owning 1 MSISDN
Standard billing cycle for this customer:
4-week cycles, e.g.
Cycle 1: 2026-09-10 00:00:00 – 2026-10-07 23:59:59
Cycle 2: 2026-10-08 00:00:00 – 2026-11-04 23:59:59
…
Cycle 14: 2027-09-09 00:00:00 – 2027-10-06 23:59:59
John Smith signs a 1-year contract for two products on 2026-09-15 10:30:00
Contract end: 2027-09-15 00:00:00
Products:
Product 1 (P1): “Mobile Bundle 5Gb+400VSMS” for 12 EUR per 4-week cycle taxed exclusively at 21%
Product 2 (P2): “Gym membership” 15 EUR per 4-week cycle taxed exclusively at 9%
In-contract discount:
P1 = 15% for 6 months
P2 = 10% for 6 months
Standard discount:
P1 = 7%
P2 = 5%
Contract may be cancelled early. In that case a breach fee is calculated as the sum of the net charges the customer would have paid for each remaining day of the contract, had the contract not been terminated early.
The system must:
Issue 4-week invoices on the customer’s existing cycle dates
Prorate charges and discounts when the contract starts mid-cycle (2026-09-15 00:00:00 in Cycle 1)
Switch to out-of-contract pricing and discounts when the contract ends mid-cycle (2027-09-15 00:00:00 in Cycle 14)
Calculate breach fees accurately if the customer cancels before the planned end date.
Business Model
MVNO
Current Solution
The billing platform already:
Supports recurring billing cycles (typically monthly or weekly patterns)
Charges recurring product fees per cycle
Prorates charges when products are activated or cancelled mid-cycle
Applies percentage discounts on product charges or invoice totals
Stores contract terms and can apply fixed or generic early termination penalties
Exposes invoices and transactions via API in machine-readable format
Gaps to close:
Introduce 4-week (28-day) billing cycles as a standard
Stakeholders and Their Benefits
| Stakeholders / Benefits | Better Market Fit | Automated Invoicing and Billing | Revenue Assurance |
|---|---|---|---|
| CSP | |||
| Resellers |
Use Cases
Use Case #1 – Contract Starts in the Middle of a 4-Week Cycle
Preconditions
Customer John Smith is created on 2026-09-10 at 10:15 (UTC) with 28-day billing cycle without any billable services
28-day billing cycles start for the customer:
Cycle 1: 2026-09-10 00:00:00 – 2026-10-07 23:59:59
Cycle 2: 2026-10-08 00:00:00 – 2026-11-04 23:59:59
- ...
- Cycle 14: 2027-09-09 00:00:00 – 2027-10-06 23:59:59
Roles: Billing system at cycle closing, customer
Use scenario #1.1 – First invoice with partial first cycle (Cycle 1)
On 2026-09-15 10:30:00, John Smith signs a 12 months combo contract with 6 months contract discount period. The system record the contract dates with the day-level precision:
- Contract start: 2026-09-15 00:00:00
Contract end: 2027-09-15 00:00:00
- In-contract discount start: 2026-09-15 00:00:00
- In-contract discount end: 2027-03-15 00:00:00
Products are activated for the account of John Smith:
P1 (Mobile) price 12 EUR / 4-week cycle (tax exclusive) taxed exclusively at 21%
P2 (Gym) price 15 EUR / 4-week cycle (tax exclusive) taxed exclusively at 9%
Both P1 and P2 are activated immediately at 2026-09-15 10:30:00.
Discount rule is applied to the account of John Smith:
In-contract discount:
P1 = 15% for 6 months
P2 = 10% for 6 months
- Standard discount:
P1 = 7%
P2 = 5%
On 2026-10-08, the system closes Cycle 1 (2026-09-10 – 2026-10-07).
For John Smith, the system:
Recognizes that P1 and P2 are active only from 2026-09-15 10:30:00.
Calculates the fraction and charges of Cycle 1 in which the products are active (from 2026-09-15 00:00:00 to 2026-10-07 23:59:59):
Active time in Cycle 1 ≈ 23 days
Fraction of cycle ≈ 23 / 28 ≈ 0.8214
P1 charge ≈ 12.00 × 0.8214 = 9.86 EUR
P2 charge ≈ 15.00 × 0.8214 = 12.32 EUR
In-contract discount for P1 (9.86*15%) ≈ –1.48 EUR
- In-contract discount for P2 (12.32*10%) ≈ –1.23 EUR
The invoice for Cycle 1 shows:
Description Period Amount P1 Mobile bundle 15-Sep-2026 00:00:00 – 07-Oct-2026 23:59:59 9.86 EUR P2 Gym bundle 15-Sep-2026 00:00:00 – 07-Oct-2026 23:59:59 12.32 EUR In-contract discount P1 (15%) 15-Sep-2026 00:00:00 – 07-Oct-2026 23:59:59 –1.48 EUR In-contract discount P2 (10%) 15-Sep-2026 00:00:00 – 07-Oct-2026 23:59:59 –1.23 EUR VAT 21% on P1 15-Sep-2026 00:00:00 – 07-Oct-2026 23:59:59 1.76 EUR VAT 9% on P2 15-Sep-2026 00:00:00 – 07-Oct-2026 23:59:59 1.00 EUR Total — 22.23 EUR
Use scenario #1.2 – Full in-contract cycle (Cycle 2)
Cycle 2: 2026-10-08 00:00:00 – 2026-11-04 23:59:59.
P1 and P2 are active for the entire Cycle 2.
On 2026-11-05, the system closes Cycle 2 and:
Charges P1 = 12.00 EUR
Charges P2 = 15.00 EUR
In-contract discount for P1 = 15% → –1.80 EUR
- In-contract discount for P2 = 10% → –1.50 EUR
Invoice for Cycle 2 shows:
Description Period Amount P1 Mobile bundle 08-Oct-2026 00:00:00 – 04-Nov-2026 23:59:59 12.00 EUR P2 Gym bundle 08-Oct-2026 00:00:00 – 04-Nov-2026 23:59:59 15.00 EUR In-contract discount P1 (15%) 08-Oct-2026 00:00:00 – 04-Nov-2026 23:59:59 –1.80 EUR In-contract discount P2 (10%) 08-Oct-2026 00:00:00 – 04-Nov-2026 23:59:59 –1.50 EUR VAT 21% on P1 08-Oct-2026 00:00:00 – 04-Nov-2026 23:59:59 2.14 EUR VAT 9% on P2 08-Oct-2026 00:00:00 – 04-Nov-2026 23:59:59 1.22 EUR Total — 27.06 EUR
Use Case #2 – In-contract discount ends in the Middle of a 4-Week Cycle
Preconditions
Same customer and products as Use Case #1.
Contract dates:
Start: 2026-09-15 00:00:00
End: 2027-09-15 00:00:00 (365 days later)
- In-contract discount dates:
- Start: 2026-09-15 00:00:00
- End: 2027-03-15 00:00:00
4-week billing cycles continue as:
Cycle 6: 2027-01-28 00:00:00 – 2027-02-24 23:59:59
Cycle 7: 2027-02-25 00:00:00 – 2027-03-24 23:59:59
Cycle 8: 2027-03-25 00:00:00 – 2027-04-21 23:59:59
The in-contract discount end (2027-03-15 00:00:00) falls inside Cycle 7.
After in-contract discount end:
P1 discount becomes 7%
P2 discount becomes 5%
Roles: Billing system at Cycle 7 closing, customer
Use scenario #2.1 – Mixed pricing and discounts in Cycle 7
On 2027-03-25 00:00:00, the system closes Cycle 7 (2027-02-25 00:00:00 – 2027-03-24 23:59:59).
It recognizes that the in-contract discount expires at 2027-03-15 00:00:00, which is inside this cycle, and splits Cycle 7 into two sub-periods:
- Sub-period A (in-contract discount): 2027-02-25 00:00:00 – 2027-03-14 23:59:59, duration = 18 days
- Sub-period B (standard discount): 2027-03-15 00:00:00 – 2027-03-24 23:59:59, duration = 10 days
Fractions of the 28-day cycle:
Sub-period A fraction = 18 / 28 ≈ 0.6429
Sub-period B fraction = 10 / 28 ≈ 0.3571
Charges for Sub-period A (in-contract discount: P1=15%, P2=10%):
P1: 12.00 × 0.6429 = 7.71 EUR
P2: 15.00 × 0.6429 = 9.64 EUR
Discount for P1 (15%): –1.16 EUR → net 6.55 EUR
Discount for P2 (10%): –0.96 EUR → net 8.68 EUR
VAT for P1 (6.55 × 0.21): 1.38 EUR
VAT for P2 (8.68 × 0.09): 0.78 EUR
Charges for Sub-period B (standard discount: P1=7%, P2=5%):
P1: 12.00 × 0.3571 = 4.29 EUR
P2: 15.00 × 0.3571 = 5.36 EUR
Discount for P1 (7%): –0.30 EUR → net 3.99 EUR
Discount for P2 (5%): –0.27 EUR → net 5.09 EUR
VAT for P1 (3.99 × 0.21): 0.84 EUR
VAT for P2 (5.09 × 0.09): 0.46 EUR
The invoice for Cycle 7 shows:
Description Period Amount P1 Mobile bundle
25-Feb-2027 00:00:00 – 14-Mar-2027 23:59:59
7.71 EUR
P2 Gym bundle
25-Feb-2027 00:00:00 – 14-Mar-2027 23:59:59
9.64 EUR
In-contract discount P1 (15%)
25-Feb-2027 00:00:00 – 14-Mar-2027 23:59:59
–1.16 EUR
In-contract discount P2 (10%)
25-Feb-2027 00:00:00 – 14-Mar-2027 23:59:59
–0.96 EUR
VAT 21% on P1
25-Feb-2027 00:00:00 – 14-Mar-2027 23:59:59
1.38 EUR
VAT 9% on P2
25-Feb-2027 00:00:00 – 14-Mar-2027 23:59:59
0.78 EUR
P1 Mobile bundle
15-Mar-2027 00:00:00 – 24-Mar-2027 23:59:59
4.29 EUR
P2 Gym bundle
15-Mar-2027 00:00:00 – 24-Mar-2027 23:59:59
5.36 EUR
Standard discount P1 (7%)
15-Mar-2027 00:00:00 – 24-Mar-2027 23:59:59
–0.30 EUR
Standard discount P2 (5%)
15-Mar-2027 00:00:00 – 24-Mar-2027 23:59:59
–0.27 EUR
VAT 21% on P1
15-Mar-2027 00:00:00 – 24-Mar-2027 23:59:59
0.84 EUR
VAT 9% on P2
15-Mar-2027 00:00:00 – 24-Mar-2027 23:59:59
0.46 EUR
Total
—
27.77 EUR
Use Case #3 – Early Contract Termination and Breach Fee
Preconditions
Same contract as in Use Case #1 and #2:
Start: 2026-09-15 00:00:00
End: 2027-09-15 00:00:00
- In-contract discount dates:
- Start: 2026-09-15 00:00:00
- End: 2027-03-15 00:00:00
The customer decides to cancel early on 2027-03-02 16:00:00.
4-week cycles around that date:
Cycle 7: 2027-02-25 00:00:00 – 2027-03-24 23:59:59
Cycle 8: 2027-03-25 00:00:00 – 2027-04-21 23:59:59
P1 and P2 are active until 2027-03-02 16:00:00 and are terminated at 2027-03-02 16:00:00.
Breach fee policy:
- The breach fee is calculated as the sum of the net charges the customer would have paid for each remaining day of the contract, had the contract not been terminated early.
Roles: Billing system and contract management logic, customer
Use scenario #3.1 – Calculating remaining contract value and breach fee
On 2027-03-02 16:00:00, a John Smith records early termination for combo contract.
P1 and P2 are immediately terminated and removed from the John's account. No service usage is permitted after this timestamp.
- The system records the contract end date with the day-level precision as 2027-03-02 23:59:59 (last billed day).
On 2027-03-25, the system closes Cycle 7 (2027-02-25 00:00:00 – 2027-03-24 23:59:59) for John Smith and computes in-contract charges for the period when P1 and P2 were still active:
Active time for P1 and P2 in Cycle 7:
From 2027-02-25 00:00:00 to 2027-03-02 23:59:59, duration = 6 days
Fraction of 28-day cycle ≈ 6 / 28 ≈ 0.2143
Prorated product charges (in-contract prices):
P1 charge ≈ 12.00 × 0.2143 = 2.57 EUR
P2 charge ≈ 15.00 × 0.2143 = 3.21 EUR
In-contract discounts:
In-contract discount for P1 (15%) = –0.39 EUR
In-contract discount for P2 (10%) = –0.32 EUR
VAT for P1 (2.18 × 0.21) = 0.46 EUR
VAT for P2 (2.89 × 0.09) = 0.26 EUR
Total for in-contract usage in Cycle 7: 5.79 EUR
- Breach fee calculation: The remaining contract period starts from 2027-03-03 00:00:00 (the first day after the last billed day) to the contract end (2027-09-15 00:00:00) contains two distinct segments because the in-contract discount expires at 2027-03-15 00:00:00, which is after the termination date. Each segment is valued at the net rate applicable during that segment. Breach fees are calculated separately per product to allow correct VAT rates to be applied.
- Breach fee Segment 1 — remaining in-contract discount period:
From 2027-03-03 00:00:00 to 2027-03-14 23:59:59
Duration = 12 days 12 / 28 ≈ 0.4286 cycles
P1 net rate with in-contract discount: 12.00 − 15% = 10.20 EUR/cycle
P2 net rate with in-contract discount: 15.00 − 10% = 13.50 EUR/cycle
Breach fee P1 Segment 1: 0.4286 × 10.20 = 4.37 EUR
Breach fee P2 Segment 1: 0.4286 × 13.50 = 5.79 EUR
Breach fee Segment 2 — remaining post-discount period:
From 2027-03-15 00:00:00 to 2027-09-14 23:59:59
Duration = 184 days 184 / 28 ≈ 6.5714 cycles
P1 net rate with standard discount: 12.00 − 7% = 11.16 EUR/cycle
P2 net rate with standard discount: 15.00 − 5% = 14.25 EUR/cycle
Breach fee P1 Segment 2: 6.5714 × 11.16 = 73.34 EUR
Breach fee P2 Segment 2: 6.5714 × 14.25 = 93.64 EUR
Total breach fee P1 (4.37 + 73.34) = 77.71 EUR
Total breach fee P2 (5.79 + 93.64) = 99.43 EUR
VAT for P1 breach fee (77.71 × 0.21) = 16.32 EUR
VAT for P2 breach fee (99.43 × 0.09) = 8.95 EUR
- The invoice for Cycle 7 shows:
Description Period Amount P1 Mobile bundle
25-Feb-2027 00:00:00 – 02-Mar-2027 23:59:59
2.57 EUR
P2 Gym bundle
25-Feb-2027 00:00:00 – 02-Mar-2027 23:59:59
3.21 EUR
In-contract discount P1 (15%)
25-Feb-2027 00:00:00 – 02-Mar-2027 23:59:59
–0.39 EUR
In-contract discount P2 (10%)
25-Feb-2027 00:00:00 – 02-Mar-2027 23:59:59
–0.32 EUR
VAT 21% on P1
25-Feb-2027 00:00:00 – 02-Mar-2027 23:59:59
0.46 EUR
VAT 9% on P2
25-Feb-2027 00:00:00 – 02-Mar-2027 23:59:59
0.26 EUR
In-contract usage subtotal
—
5.79 EUR
Breach fee P1
03-Mar-2027 00:00:00 – 14-Sep-2027 23:59:59
77.71 EUR
Breach fee P2
03-Mar-2027 00:00:00 – 14-Sep-2027 23:59:59
99.43 EUR
VAT 21% on P1 breach fee
—
16.32 EUR
VAT 9% on P2 breach fee
—
8.95 EUR
Total breach fee (incl. VAT)
—
202.41 EUR
Invoice total
—
208.20 EUR
Use scenario #3.2 – Service and account status after early termination
Immediately after early termination is recorded (effective 2027-03-02 16:00:00):
The combo contract is marked as terminated (P1 and P2 are removed from John's account) and the services are blocked.
The system does not bill any recurring charges for P1/P2 in later cycles (e.g., Cycle 8).
If the outstanding invoices are not paid by due dates, a regular invoice payment collection process is triggered.
Use scenario #3.3 – Early termination of one product from the contract (nice-to-have)
- On 2027-03-02 16:00:00, a John Smith records early termination for P2 (Gym) only.
- P2 is immediately terminated and removed from the John's account. P1 (Mobile) remains active under the original contract terms.
- The system records early cancellation of the P2 from the contract with day-level precision as 2027-03-02 23:59:59 (last billed day).
- On 2027-03-25, the system closes Cycle 7 (2027-02-25 00:00:00 – 2027-03-24 23:59:59) for John Smith and computes the charges:
- P1 (Mobile) – active for the full Cycle 7 (28 days):
P1 charge: 12.00 EUR
In-contract discount (15%): –1.80 EUR → net 10.20 EUR
VAT (10.20 × 0.21): 2.14 EUR
- P2 (Gym) – active from 2027-02-25 00:00:00 to 2027-03-02 23:59:59 (6 days, fraction = 6 / 28 ≈ 0.2143):
P2 charge: 15.00 × 0.2143 = 3.21 EUR
In-contract discount (10%): –0.32 EUR → net 2.89 EUR
VAT (2.89 × 0.09): 0.26 EUR
Breach fee calculation: Only P2 was terminated early; the breach fee is calculated for P2 only. The remaining contract period from 2027-03-03 00:00:00 to 2027-09-14 23:59:59 contains two segments, because the in-contract discount for P2 expires at 2027-03-15 00:00:00.
Breach fee Segment 1 — remaining in-contract discount period (P2 only)
From 2027-03-03 00:00:00 to 2027-03-14 23:59:59
Duration = 12 days 12 / 28 ≈ 0.4286 cycles
P2 net rate with in-contract discount: 15.00 − 10% = 13.50 EUR/cycle
- Breach fee P2 Segment 1: 0.4286 × 13.50 = 5.79 EUR
Breach fee Segment 2 — remaining post-discount period (P2 only)
From 2027-03-15 00:00:00 to 2027-09-14 23:59:59
Duration = 184 days 184 / 28 ≈ 6.5714 cycles
P2 net rate with standard discount: 15.00 − 5% = 14.25 EUR/cycle
Breach fee P2 Segment 2: 6.5714 × 14.25 = 93.64 EUR
Total P2 breach fee (5.79 + 93.64) = 99.43 EUR
VAT for P2 breach fee (99.43 × 0.09) = 8.95 EUR
- P1 (Mobile) – active for the full Cycle 7 (28 days):
The invoice for Cycle 7 shows:
Description
Period
Amount
P1 Mobile bundle
25-Feb-2027 00:00:00 – 24-Mar-2027 23:59:59
12.00 EUR
In-contract discount P1 (15%)
25-Feb-2027 00:00:00 – 24-Mar-2027 23:59:59
–1.80 EUR
VAT 21% on P1
25-Feb-2027 00:00:00 – 24-Mar-2027 23:59:59
2.14 EUR
P2 Gym bundle
25-Feb-2027 00:00:00 – 02-Mar-2027 23:59:59
3.21 EUR
In-contract discount P2 (10%)
25-Feb-2027 00:00:00 – 02-Mar-2027 23:59:59
–0.32 EUR
VAT 9% on P2
25-Feb-2027 00:00:00 – 02-Mar-2027 23:59:59
0.26 EUR
P2 breach fee
03-Mar-2027 00:00:00 – 14-Sep-2027 23:59:59
99.43 EUR
VAT 9% on P2 breach fee
—
8.95 EUR
Invoice total
—
123.87 EUR
Use Case #4 – Natural Contract End
Preconditions:
- Same customer and products as Use Cases #1–#3:
Contract start: 2026-09-15 00:00:00
Contract end: 2027-09-15 00:00:00
In-contract discount end: 2027-03-15 00:00:00 (available for 6 months from the contract start)
Products active for the full contract duration:
P1 (Mobile): 12 EUR / 4-week cycle, taxed at 21%
P2 (Gym): 15 EUR / 4-week cycle, taxed at 9%
Discount schedule for Cycle 14:
Standard discount (P1 = 7%, P2 = 5%) applied after in-contract discount end on 2027-03-15 00:00:00, and applies to the whole of Cycle 14.
Relevant 4-week billing cycles:
Cycle 13: 2027-08-12 00:00:00 – 2027-09-08 23:59:59
Cycle 14: 2027-09-09 00:00:00 – 2027-10-06 23:59:59
Cycle 15: 2027-10-07 00:00:00 – 2027-11-03 23:59:59
Roles: Billing system and contract management logic, customer
Use scenario #4.1 – Contract ends inside the billing cycle
On 2027-09-15 00:00:00, the combo contract reaches its planned end date and is closed by the system.
Because the contract has reached its natural end, P1 and P2 remain assigned to John Smith’s account with standard discount (P1 = 7%, P2 = 5%), which has been in effect since 2027-03-15 00:00:00 and is unaffected by the contract closure.
On 2027-10-07, the system closes Cycle 14 (2027-09-09 00:00:00 – 2027-10-06 23:59:59), where the standard discount applies to the full 28-day cycle:
Charges for Cycle 14:
P1: 12.00 × 1.0 = 12.00 EUR
P2: 15.00 × 1.0 = 15.00 EUR
Standard discount for P1 (7%): –0.84 EUR → net 11.16 EUR
Standard discount for P2 (5%): –0.75 EUR → net 14.25 EUR
VAT for P1 (11.16 × 0.21): 2.34 EUR
VAT for P2 (14.25 × 0.09): 1.28 EUR
The invoice for Cycle 14 shows:
Description
Period
Amount
P1 Mobile bundle
09-Sep-2027 00:00:00 – 06-Oct-2027 23:59:59
12.00 EUR
P2 Gym bundle
09-Sep-2027 00:00:00 – 06-Oct-2027 23:59:59
15.00 EUR
Standard discount P1 (7%)
09-Sep-2027 00:00:00 – 06-Oct-2027 23:59:59
–0.84 EUR
Standard discount P2 (5%)
09-Sep-2027 00:00:00 – 06-Oct-2027 23:59:59
–0.75 EUR
VAT 21% on P1
09-Sep-2027 00:00:00 – 06-Oct-2027 23:59:59
2.34 EUR
VAT 9% on P2
09-Sep-2027 00:00:00 – 06-Oct-2027 23:59:59
1.28 EUR
Total
—
29.03 EUR
Non-functional Requirements
Auditability: Allow Support Engineers and Billing Admins audit how discounts, charges and penalties are applied, i.e. understand that fees were discounted due to an active contract, penalties applied due to an early cancelation.
Peculiarities
Contract start and end times are not aligned with billing cycle start and end times:
Most contracts will start on a random calendar date and time, not at midnight and not on cycle boundaries.
4-week cycles (28 days) advance independently of calendar months:
They may cross month ends, quarter ends, and even year boundaries.
They must behave correctly across leap years.
- Billing cycle, contract duration, in-contract discount duration should be calculated with day-level precision, as confirmed by CSP.
- According to CSP, contract duration and in-contract discount duration should be defined in calendar months independently from customer billing cycle.
For CSP it is nice-to-have one contract that contain 2 products (e.g. Mobile + Gym for 1 year), however, it is okay if these are configured as two separate contracts and are assigned with the same start and end date.
Partial cancellation of a combo contract (Use scenario #3.3) is marked as nice-to-have, because according to CSP, they are flexible with how this is modelled. Ideally, it is possible to cancel one product from the contract, but this could also be implemented as ending an existing contract and setting up a new one.
CSP doesn't use bundles functionality, only subscriptions are included into add-on products. The counters for bundles are maintained by the MVNE platform outside PortaBilling.
Important backgroud from Discovery phase:
Besides combo contracts, CSP provides single product contracts. Example of contract conditions:
- Contract duration: 12 months
- Product: "Mobile Basic" (5GB+400min+400SMS)
- Regular price for the product: 10 EUR
- Contract discount duration: 6 months
- Contract discount amount: 5 EUR
- Contract cancellation fee amount: remaining in-contract charges. E.g., If contract is cancelled after 5 months, the cancellation fee is calculated as: 5 EUR (discounted fee for the 6ths month) + 60 EUR ( fees for 7-12th months) = 65 EUR
- To configure such contracts in PortaBilling, CSP decived to use Subscriptions functionality. Example of configuration:
- A subscription with a minimum subscription period of 12 months is created.
- Penalty for subscription cancellation: “Remaining subscription charges”.
- Subscription full monthly fee: 10 euros
- Subscription discount: 5 EUR for the first 6 months (set by using the “Promotional periods” option)
- The configured subscription is assigned to the add-on product "Mobile Basic" (5GB+400min+400SMS)
- CSP decided not to use Commitments because the current commitment cancellation fee calculation logic (sum of the discounts applied) is not suitable.
- Once the 28-day billing period is introduced in PortaBilling, the custom invoice template, prepared by PortaOne for CSP within BA-47361, should be adjusted to consider the new billing period (we are showing the from/to of the invoice now while CSP requires week number - outlined in question #4 here).
Performance / Clustering, Geo Redundancy/ Dual-Version, Porter / Call Control API / ESPF / Monitoring
- Performance: Support 4-week billing cycles for large customer bases without more than 10% degradation in invoice run times compared to monthly billing.