Skip to main content

Recording usage in Turnstile

Record usage for subscriptions with usage-based pricing in Turnstile, either manually or via the API.

For customers on usage-based pricing, record usage in Turnstile before each billing period closes to ensure accurate invoices.

Record usage manually

You can manually enter usage data from the customer page or the invoices workflow page in Turnstile.

Manually add usage from the customer page

  1. Open the customer page and scroll to the Usage section.

  2. Click + to open the Add usage event window.

  3. Enter the number of units and select the date of the usage event.

  4. Click Save and add more to enter additional usage events, or Save and finish to close the window.

Once the usage event has been entered, Turnstile will immediately recalculate invoices to reflect the newly added data.

Manually add usage from the invoices workflow

Invoices with active usage periods (within 30 days) appear in the in progress section of the invoice workflow page.

  1. Head to Invoices > Invoice workflow.

  2. Click the In progress tile.

  3. Click an invoice to open a side panel with the invoice details.

  4. Click the + plus icon for the usage-based product to open the Add usage event window.

  5. Enter the number of units and select the date of the usage event.

  6. Click Save and add more to enter additional usage events, or Save and finish to close the window.

Once the usage event has been entered, Turnstile will recalculate invoices to reflect the newly added data.

Record usage automatically via the API

You can create usage events programmatically via the Turnstile API. Before you start, make sure the product has a billable metric configured with an event key matching the event_type you plan to send, and see the full API reference for request details.

Usage events must be added before the scheduled issue date. Any events added after the scheduled issue date will not be included on the current invoice and will appear on the next period instead.

Did this answer your question?