delivery_method_id
when setting the customer billing configuration. Ensure that your customer sign-up flow uses this field before setting up multi-entity billing. See set customer billing configuration for more details.Invoice settings | |
---|---|
Set invoice due date | Stripe defaults to invoice due dates within 30 days after they’re sent. You can change this option to a different value. This setting has no effect for customers configured to be charged automatically. |
Leave invoices as drafts | By default, Metronome sends all invoices to Stripe with the auto_advance option set to true allowing invoices to be finalized in Stripe immediately without any action required on your side. If you prefer to leave invoices as draft so you can review and finalize manually in Stripe, mark the “leave invoices as drafts” option in Metronome. Metronome sets the Stripe auto_advance to false. |
Skip zero-total invoices | If Stripe invoicing is enabled for a customer, all invoices finalized in Metronome are sent to Stripe by default. The “skip zero-total invoices” option limits this to only send non-zero invoice. Stripe imposes limits on the minimum charge amounts. For example, with USD currency, the minimum charge allowed is $0.50. If you select “skip zero-total invoices,” Metronome skips sending invoices to Stripe that fall below the minimum charge amount for the currency. |
Align effective_at with last day of period | By default, Stripe populates the “Invoice Date” field on PDF invoices and effective_at in the API with the date the invoice is finalized. Use this setting to populate the effective_at field with the last date of the invoice’s service period (like Oct 31 for an Oct 1-31 invoice). This can help ensure usage invoices are tracked against the correct accounting period, aligning with revenue recognition practices in downstream finance systems. This setting isn’t supported with Stripe Tax due to a Stripe limitation that causes invoice syncing to fail. |
Invoice Presentation | |
---|---|
Display line items with zero quantity on Stripe invoices | If selected, Metronome creates a Stripe line item on the Stripe invoices for all charges, including the ones that have zero quantity. |
Always display price and quantity information in Stripe invoice line item descriptions | Because Stripe doesn’t support decimal quantities, by default, Metronome displays quantities in line item descriptions if at least one quantity on an invoice is not an integer. By selecting “always display quantities in line items”, quantities will always appear in line item names, regardless of whether the invoice has any non-integer quantities. |
metronome_id
, which is the Metronome invoice ID that lets you map a Stripe invoice to its corresponding Metronome invoice.
You may want to add additional metadata to Stripe entities. For example:
stripe_product_id
.stripe_product_id
to Stripe invoiceitem.price
.billing_configuration
for each customer. The billing_configuration
is an object within the Metronome customer object that captures additional metadata necessary to support Metronome’s native integrations. This includes information like the billing provider customer.id
and invoice preferences. If the customer’s billing_configuration
is set to Stripe, a Stripe invoice gets issued to the corresponding Stripe customer.
Set the billing configuration for a customer in the Metronome app or with the API.
/customers
endpoint or after the customer already exists with /setCustomerBillingProviderConfigurations
setting the billing configuration.
To set the a billing configuration, Metronome requires you to either specify a delivery_method
or delivery_method_id
. If you are only connecting to a single Stripe account, use the delivery_method
. If connecting to multiple Stripe accounts, you must use delivery_method_id
. Metronome uses this ID to determine which Stripe account each invoice should be sent to.
delivery_method_id
by using the /listConfiguredBillingProviders
endpoint to fetch configured Stripe accounts in the Metronome environment./customers
endpoint to set the billing configuration using delivery_method
:
/setCustomerBillingProviderConfigurations
to set the billing configuration of an existing client using delivery_method_id
:
stripe_customer_id
: The Stripe customer ID for the customer that gets issued a Stripe invoice.stripe_collection_method
: Determines how to collect payment for the customer. Stripe supports two methods of collection:
charge_automatically
: Stripe attempts to charge for the invoice using the default payment method attached to the customer.send_invoice
: Stripe emails this invoice to the customer with payment instructions. For the send_invoice
option you must specify how many days a customer has until payment is due. This corresponds with the days_until_due
field in the Stripe API. By default, Stripe invoices are due 30 days after creation. The Metronome API doesn’t allow you to set this value directly, but you can update this setting on the General Settings - Integrations page./contracts/create
endpoint to set the billing configuration:
billing_configuration_id
which can be fetched from the /getCustomerBillingProviderConfigurations
endpoint:
Stripe Webhook Event | external_status in Metronome |
---|---|
invoice.finalized | FINALIZED |
invoice.marked_uncollectible | UNCOLLECTIBLE |
invoice.paid | PAID |
invoice.payment_failed | PAYMENT_FAILED |
invoice.payment_succeeded | PAID |
invoice.voided | VOID |
invoice.deleted | DELETED |
Leave invoices as drafts
, Stripe does not return a status and you won’t see a Stripe invoice status in Metronome.invoice.billing_provider_error
. When receiving those webhooks, trigger internal notifications and actions to ensure proper invoicing of your customers.
Stripe limitation | Metronome approach |
---|---|
Stripe does not support decimal quantities | If the quantity is a decimal for at least one line item on the invoice, Metronome sets the quantity as 1 for all the Stripe line items on the invoice. Metronome and provides the true quantity as part of each line item description. |
Stripe imposes a maximum of 250 line items on their invoices | If a customer invoice in Metronome exceeds 250 line items, the invoice is collapsed into one line item, labeled with your company name and the invoice total as the associated price. Provide full invoice visibility (with all line items) to your customers with dashboards that expose invoices in your UI. |
Stripe does not allow a charge above 999,999.99 USD | Metronome generates an error when creating an invoice with an amount above the Stripe maximum. Contact your Stripe representative and Metronome representative to increase the limit if you need invoices with amounts above $999,999.99. |
No native support for issuing credit memos with Metronome | The Metronome integration does not natively support issuing credit memos in Stripe. Learn more how to issue credit memos. |