The Power of Stripe Metadata
A little known Stripe feature is Stripe Metadata - a powerful way to associated extra data with just about any Stripe object, including Customers, Invoices, Products, Prices, Subscriptions and much more.
Stripe metadata appears in the Stipe Dashboard for just about every element in Stripe and allows you to store up to 50 key/value pairs per records. Even if it’s not shown in the Dashboard, metadata will be available through the Stripe API for every object.
After pressing the Edit button on the metadata panel you can edit existing key/value pairs or create new metadata
Each key can be up to 40 characters in length and each value can be up to 500 characters - they can be in any form (excluding squire brackets []).
Top 5 reasons to use Stripe metadata:
Control the way Stripe data moves to other systems - SubSync provides deep integration between Stripe and Xero. It allows you to use Stripe metadata to control the way invoices are allocated in Xero, including the Xero Account that is used, the Xero Product/Service and the Tracking Categories used. You can even combine Stripe metadata in the SubSync settings to create complex allocation rules.
Store a unique identifier from another system - if you have another system (external or internal) that has a unique identifier for customer records, you could store that unique identifier in Stripe metadata to create a simple relationship between the systems with no technical effort
Store additional attributes - while Stripe has a range of fields against each object in the system, you may find that you need extra data (e.g. the type of a product, the location of a service, etc). While other systems offer custom fields, Stripe provides the ultimate flexibility, allowing you to drop that extra data into the metadata section of each object.
No-code integration between systems - Stripe metadata supports URLs, providing a simple, no-code method of integrating between different systems. If you have a customer record in your CRM system (Hubspot, etc) or your finance system (Xero, Quickbooks, MYOB), you can drop that record straight into Stripe metadata - just add a label as the key (e.g. “Xero Contact”) and the URL of the other system into the value (e.g. “https://go.xero.com/app/contacts/contact/<CONTACTID>” - you can get the right URL for your contact by just visiting the Contact page in Xero).
Better reporting - When exporting Stripe reports you can include the metadata as a column in the report, providing lots of flexibility for detailed reporting. Note: though metadata is not explicitly listed on the available columns, exporting the report will automatically include the metadata.