---
"@context": https://schema.org
"@type": TechArticle
"@id": https://www.twilio.com/docs/voice/resolve-call-log-usage-discrepancies#article
headline: Resolving call log and call usage discrepancies
description: Learn to reconcile Twilio call logs and usage records. This guide covers how to align billed minutes and durations for various Twilio Voice use cases.
url: https://www.twilio.com/docs/voice/resolve-call-log-usage-discrepancies
inLanguage: en
dateModified: 2026-10-01T19:16:29.000Z
author:
  "@type": Organization
  name: Twilio Developer Education Team
publisher:
  "@type": Organization
  name: Twilio
---

# Resolving call log and call usage discrepancies

Learn how to align your records by understanding that call logs track every event while usage records only reflect billed minutes rounded to the nearest increment. This reconciliation ensures your internal data matches Twilio billing.

You can use this guide to manage your account's health and costs for all use cases.

See [Related reference documentation](#related-reference-documentation) to learn more about the API resources used in this guide.

## View call logs and usage in Twilio Console

To find call logs in Twilio Console, go to **Monitor** > **Logs** > **Voice** > **[Calls](https://1console.twilio.com/go?to=/account/__account__/us1/logs/voice/calls)**. You can also find them in the [legacy Console](https://www.twilio.com/console/voice/logs/calls). The legacy [Console Usage page](https://www.twilio.com/console/usage) shows your account's usage totals.

## Match Call Logs with Usage Logs

In order to match call logs with Usage API, keep these points in mind:

1. The `count` in the usage API is the number of events (# of calls, in this case)
2. The `usage` returned via the Usage API is the total number of **BILLED** minutes **per call**, rounded to duration defined by the pricing model ( minimum and round quantity )
3. In the `usage` console, call usage is displayed separately as "voice minutes" and "client minutes". Since client calls are a separate entity in the usage API definition, you will need to get the usage for calls and client calls separately.
4. Not all calls listed in call logs are billed. For example, calls with status : `Failed`, or `Busy`, are not billed and the usage API will **not** add the usage from those calls.
5. Internally, the date parameter defaults to midnight. When querying the call logs for a month, use `< 1st day of next month` as the end boundary (do **not** use `<= last day of this month`).

## Rectify Billing and Call Logs

| **Parameter**              | **Usage (API and Console)**                                     | **Logs (API and Console)**                   | **How to Reconcile Usage and Logs**                                                               |
| -------------------------- | --------------------------------------------------------------- | -------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| **Duration of Calls**      | Measured in minutes                                             | Measured in seconds                          | Round up duration in your call logs to the nearest minute to match the usage logs.                |
| **Voice vs. Client Calls** | Client and Voice calls are treated separately                   | Client and Voice calls are merged            | Add your voice and client usage minutes together to match the combined logs.                      |
| **Call Billing Time**      | The *start date* of the call is the date we use to attribute it | N/A                                          | If a call begins in one month and ends in another, usage would be attributed to the first month.. |
| **Call Time Zone**         | Calls timezone is always in UTC                                 | Calls will be in UTC or your local time zone | If your logs are in your local time zone, normalize them to UTC to match usage.                   |

## Use cases for resolving call log and usage discrepancies with Twilio Programmable Voice

This guide covers a feature that can support the following use cases:

### Send voice notifications with Twilio Programmable Voice

You can use the reconciliation methods in this guide to verify that critical automated alerts, such as emergency weather closings or system failure pages, actually reached their destinations. Cross-referencing internal dispatch times with Twilio's call logs allows you to detect undelivered notifications or unexpected routing delays.

To learn more advanced features that you can use with voice notifications, see [Voice notifications](/docs/voice/guides/notifications).

### Create self-service automation with Twilio Programmable Voice

You can use the reconciliation methods in this guide to align user interaction drops with specific points in your automated call flows. Auditing log discrepancies helps isolate whether call terminations during IVR steps (such as confirming an appointment) are due to user behavior or technical connection drops.

To learn more advanced features that you can use with voice self-service automation, see [Voice self-service automation](/docs/voice/guides/self-service-automation).

### Create an inbound call center with Twilio Programmable Voice

You can use the reconciliation methods in this guide to resolve differences between your internal call queue statistics and your Twilio usage invoice. Tracking down discrepancies ensures accurate metrics for agent handle times, abandoned calls, and inbound trunk utilization.

To learn more advanced features that you can use with inbound call centers, see [Voice inbound call centers](/docs/voice/guides/inbound-call-center).

### Create an outbound call center with Twilio Programmable Voice

You can use the reconciliation methods in this guide to audit agent productivity and ensure compliance across your outbound campaigns. Auditing call duration logs prevents billing errors related to answered calls versus answering machine detections.

To learn more advanced features that you can use with outbound call centers, see [Voice outbound call centers](/docs/voice/guides/outbound-call-center).

### Deploy virtual agents with Twilio Programmable Voice

You can use the reconciliation methods in this guide to analyze duration mismatches between your AI conversational layer and the underlying telephony carrier. This helps ensure that the virtual agent is not holding lines open unnecessarily or dropping sessions before completion.

To learn more advanced features that you can use with virtual agents, see [Voice AI agents](/docs/voice/guides/ai-agents).

### Optimize sales dialers with Twilio Programmable Voice

You can use the reconciliation methods in this guide to track down differences between CRM-reported talk tracks and raw carrier logs. Aligning these data points gives sales leadership accurate reporting on cold-calling connection rates and overall team output.

To learn more advanced features that you can use with sales dialers, see [Voice sales dialers](/docs/voice/guides/sales-dialer).

### Implement call tracking with Twilio Programmable Voice

You can use the reconciliation methods in this guide to double-check marketing attribution and campaign ROI. Resolving log discrepancies ensures that the inbound phone leads attributed to specific advertisement numbers match your actual platform billing.

To learn more advanced features that you can use with call tracking, see [Voice call tracking](/docs/voice/guides/call-tracking).

### Establish PSTN connectivity with Twilio Programmable Voice

You can use the reconciliation methods in this guide to match carrier-grade CDRs (Call Detail Records) from your on-premise IP-PBX with Twilio's platform logs. This bridges the visibility gap between your local hardware and public switched telephone network endpoints to pinpoint exact billing boundaries.

To learn more advanced features that you can use with PSTN connectivity, see [Voice PSTN connectivity](/docs/voice/guides/pstn-connectivity).

### Create transcriptions for AI or ML with Twilio Programmable Voice

You can use the reconciliation methods in this guide to guarantee that audio media payload durations exactly match your AI transcription API logs. Resolving these discrepancies guards against overpaying for processing time on dead air or incomplete audio fragments.

To learn more advanced features that you can use with AI or ML transcription, see [Voice AI and ML transcription](/docs/voice/guides/ai-ml-transcription).

## Next steps

Explore the following guides to build on what you've learned in this guide:

* [Retrieve call logs](/docs/voice/tutorials/how-to-retrieve-call-logs): Learn how to programmatically fetch call records to compare against your usage data.

## Related reference documentation

Find reference documentation for the topics on this page.

* [Call resource](/docs/voice/api/call-resource)
* [Programmable Voice API Overview](/docs/voice/api)
