VoIP Billing: Read an Invoice and Reconcile Call Charges
Yenra | Prepared October 3, 2026
Guide: https://yenra.com/voip-billing/

FICTIONAL BILLING RECONCILIATION KIT
Purpose: reproduce one per-call rounding example, not calculate your account.
Requires Python 3.10+ standard library. Extract the ZIP, open a terminal there,
then run: python calculate.py (or py -3 calculate.py on Windows).
Compare its output with expected.txt. Open fictional-calls.csv in a text editor
or spreadsheet; connected_seconds is an integer count of answered audio seconds.

Assumptions: one invented USD destination class; answered outgoing calls cost
$0.02 per started minute, rounded separately per call. Unanswered calls cost
zero. Four users cost $15 each and two numbers $1 each, for $62 recurring.
Tax, proration, credits, features and other charges are outside this example.
Never apply these rates or rules to a real invoice without its actual contract.

Expected: call minutes 1,2,2,0; usage $0.10; total before other charges $62.10.
Raw answered seconds total 206. Rounding after summation yields four minutes
and $0.08, which is wrong under this per-call rule. An invoice assigning three
minutes to the 61-second call would show $62.12, a $0.02 discrepancy.

Use review-template.txt for a real review, keeping personal account/call details
in the provider's authorized channel. The script intentionally reads only the
fictional CSV and uses decimal currency arithmetic.

Supporting sources (see guide for context):
https://www.twilio.com/docs/voice/api/call-resource
https://www.twilio.com/docs/voice/why-doesnt-my-invoice-match-what-i-pull-from-the-call-logs
