# Customer signals Source: https://docs.meteroid.com/analytics/customer-signals Account-level intelligence for sales and CS—who's slipping, who's expanding, and live rosters of at-risk and opportunity accounts. Where [Steering](/analytics/steering) watches your **metrics**, **Customer Signals** (**Intelligence > Customer Signals**) watches your **accounts**. It's built for sales and customer success: surface the customers who need attention today, and act on them. Analytics signals ## Momentum board At the top of the page, the **Momentum board** is always on and needs no configuration. It shows two columns computed from your revenue movements: * **Slipping** — accounts whose MRR is contracting. * **Expanding** — accounts whose MRR is growing. Each row shows the customer, their current MRR and the MRR change, and links straight to the [customer detail page](/customer/managing-customers) so you can act. Use **View all** to open the full **Risk** or **Opportunity** report. ## Signals A **Signal** is a watch on a [customer segment](/analytics/segments) that produces a live, actionable roster. Instead of firing once, a signal tracks membership over time: **one alert per customer as they enter the segment, resolved when they leave**—so the signal's roster is always the current worklist. Create one with **New signal**: * **Name** * **Type** — **Risk** or **Opportunity** (this controls where it surfaces and how it's colored). * **Segment** — a saved segment, or an inline cohort defined on the spot. * **Usage lookback** — the window usage predicates evaluate over: 7, 14, 30, 60 or 90 days (default 30). * **Deliver to** — [notification channels](/analytics/steering#notification-channels). Signals appear as cards, filterable by **all / risk / opportunity**. ## Signal roster (detail) Opening a signal shows the actionable roster: * **Stat tiles** — In segment now, MRR at risk / Expansion MRR, Entered this week, Median time in segment. * **Member table** — each customer with their MRR, 30-day MRR change, and how long they've been in the segment; every row links to the customer. * **Export CSV** — hand the roster to your CRM or a campaign. * **Definition & recent membership** — what the signal watches, and who recently entered or left. ## On the customer page Signals are also surfaced **per customer**: the customer detail page has a **Signals** card showing which risk/opportunity segments that account currently belongs to, so a rep sees the context without leaving the account. ## Risk & opportunity reports The **Risk** and **Opportunity** reports (reached from the Momentum board's **View all**, or under Analytics) rank every account by revenue momentum—the biggest contractions and the biggest expansions—each row linking to the customer. They're the zero-setup companion to user-defined signals. # Dashboards Source: https://docs.meteroid.com/analytics/dashboards Composable dashboards assembled from saved charts and shareable via public link or embed. ## Composable dashboards Beyond the home page, you can build your own dashboards from saved charts. Open the **Dashboards** tab in **Intelligence > Analytics**. Analytics dashboard Build each view in the [explorer](/analytics/reports#the-explorer) and save it as a custom chart. Create a dashboard and add your saved charts as **tiles**, laid out at half or full width to compose the cockpit you want. Open the dashboard any time as a standing view—your morning revenue cockpit, a board-meeting summary, a team KPI wall. ## Sharing & embedding a dashboard A dashboard can be shared **outside** Meteroid—useful for investors, board members, or teammates without an account. From a dashboard, open **Share** to: * **Public link** — generate a tokenized, read-only URL (`/portal/dashboard?token=…`) that anyone with the link can open. No login required. * **Embed** — get an ` ``` **Auto-resize.** The embedded portal reports its height to the parent window via a `postMessage` of `{ type: 'meteroid:resize', height }`. The embed script and React component handle this automatically; with a plain iframe, add the listener shown above. When you pass an `onNavigate` handler, in-widget links post `{ type: 'meteroid:navigate', target }` instead of opening a new tab, so navigation stays inside your app. 💡 **Note:** Embedded widgets render on a transparent background so they blend into your page, and can be embedded on any origin — access is controlled entirely by the Customer Portal token, not by domain. # Managing customers Source: https://docs.meteroid.com/customer/managing-customers Meteroid allows you to manage your Customers, including creating, updating, and importing them. # Creating a New Customer To create a new Customer, go to **Customers > New Customer**. You will then need to enter the following details: * **Invoicing entity:** The invoicing entity you want to use to bill this Customer * **Customer Name:** The name of the Customer. This name will be used to create Invoices. * **Alias (External ID):** The Customer’s unique identifier in your system. * **Email address:** The contact email your Sales team use to contact Customers. This email is not used by Meteroid. * **Invoicing email:** The email you want Meteroid to use to send invoices to your Customers. * **Phone:** An optional contact phone number for the Customer. * **Invoice language:** The language this Customer's invoices and credit notes are issued in. Leave it on *Default (inherit)* to use the invoicing entity's setting. See [Invoice language](https://docs.meteroid.com/invoices/managing-invoices#invoice-language). * **VAT number:** This field must be filled if you want to use Meteroid VAT tax engine. * **Registration number:** The Customer's company registration number, if you need it on their invoices. * **Custom taxes:** This field must be filled if you want to apply custom tax rates or a tax rate outside of the EU. You can add several cumulative custom taxes. * **Tax status:** *Taxable* (the default), *Exempt*, or *Reverse charge*. See [Customer tax status](#customer-tax-status) below. * **Exemption reason:** Shown when the tax status is *Exempt* or *Reverse charge*. The legal mention printed on the Customer's documents. * **Billing Address:** This will appear on Invoices. * **Shipping Address:** If applicable. When it differs from the billing address, it is the destination used to match custom tax rates. Once created, you can connect a customer to external providers by clicking "manage" in the integrations section. For example, if you use Stripe for credit card payments, you can link there an existing Stripe customer ID to a Customer created in Meteroid for seamless payment processing. 📌 **Note:** If *“Disable all email notifications”* is enabled in Settings > General, no business emails (*e.g* invoicing, payment emails) will be sent to Customers. # Customer tax status **Tax status** replaces the former *Tax exempt* checkbox with three states: * **Taxable** — normal taxation. This is the default. * **Exempt** — no tax is applied on any line of this Customer's invoices. * **Reverse charge** — the Customer accounts for the tax themselves. This is an explicit choice on top of the intra-EU B2B reverse charge Meteroid already derives from a validated VAT number. Choosing **Exempt** or **Reverse charge** reveals **Exemption reason**, a free-text legal mention printed on the Customer's invoices and credit notes. EU exempt and reverse-charge documents are legally required to carry one. 📌 **Note:** **Tax status** is hidden while the Customer has **Custom taxes** defined, because those rates govern the Customer's taxation entirely. The Customer's tax status is the **first** thing Meteroid looks at when taxing an invoice line — it outranks tax categories, custom rates and the calculated VAT. The full order is documented in [Managing taxes](https://docs.meteroid.com/settings/taxes#how-tax-is-decided). # Import your Customers into Meteroid ## Import Customers via API To import your Customers into Meteroid, you can use the **API provided by Meteroid** (you can find the documentation to import customers [here](https://docs.meteroid.com/api-reference/customers/create-customer)), allowing for a smooth and programmatic transfer of Customer data. 📌 **Note:** If you have any questions or need support during the process, feel free to contact us at 👉 [**hey@meteroid.com**](#). ## Import Customers via CSV To upload Customers in bulk via CSV: 1. Go to **Customers > Import CSV**. 2. Upload your CSV file following Meteroid’s required structure. 📌 **Need a template?** We can provide a ready-to-use CSV template to help you format your data correctly. Simply reach out to 👉 [**hey@meteroid.com**](#) 💡**Note:** You can monitor and manage batch processing at any time by consulting the Developers > Batch Jobs section. This allows you to track the progress and see if the import was successful, partially successful, or failed. 💡**Note:** You can also **export** your Customers in bulk to CSV from the Customers list. # The Customer page Once a Customer exists, their detail page centralizes everything about the account: * **Billing info** — contact and billing details, addresses, tax settings, and linked external providers. * **Subscriptions, Invoices & Payment methods** — the account's active subscriptions, past invoices, and saved payment methods. * **Analytics** — MRR trend, billed revenue, and per-metric usage for this Customer. * **Signals** — which risk or opportunity [segments](/analytics/customer-signals) this Customer currently belongs to. * **Activity** — a timeline of recent actions on the account. # Create and manage entitlements Source: https://docs.meteroid.com/entitlements/create-and-manage-entitlements Entitlements define what a Customer can access, use, or consume as part of a Subscription. They allow you to connect billing logic with product access management. To manage Entitlements, go to **Product Catalog > Features**. To create a new Entitlement, click New Feature. 💡 **Note:** Meteroid does not directly manage or enforce access to your application or features. Meteroid provides APIs and entitlement data allowing you to determine which Customers should have access to a given feature. The effective access management and enforcement remain under your responsibility. ## Global vs. Product Entitlements ### Global Entitlements Global Entitlements are not linked to a specific Product. They can be used to grant broad or platform-wide access. ### Product Entitlements Product Entitlements are linked to a specific Product previously created in Meteroid. They are typically used to manage access to a specific feature, capability, or usage associated with that Product. ## Entitlement Types ### Boolean Entitlements Boolean Entitlements simply grant or revoke access, regardless of usage. As long as the Subscription is active and the Entitlement is enabled, the Customer has access to the corresponding feature or Product. ### Config Entitlements Config Entitlements carry a **static, typed configuration value** rather than a simple on/off flag or a usage limit. They are resolved synchronously and are ideal for plan-driven settings your application reads — for example a rate limit, a retention window, a tier label, or a feature configuration object. The supported value kinds are: * **Number** — e.g. `10000` * **Boolean** — `true` / `false` * **Text** — a free-form string * **JSON** — a structured object * **Select** — a value chosen from a predefined list of options ### Metered Entitlements Metered Entitlements are linked to a Billable Metric defined in the **Metrics** section. When configuring a Metered Entitlement, you can define: * A usage limit (optional) * A reset period The limit defines the maximum usage allowed during a given reset period. For example, if the metric is "API Calls" and the limit is set to 10,000, the Customer will be allowed to consume up to 10,000 API calls during the reset period. #### Reset Periods Meteroid supports five reset strategies for Metered Entitlements. 1. Never The count is never reset. This creates a lifetime cap. Once the limit is reached, access is permanently revoked unless manually updated. 2. Billing Cycle The limit is granted for one billing cycle. Usage counters are reset at the beginning of each billing cycle. If the limit is reached during the billing cycle, access is revoked until the next billing cycle starts. 3. Calendar Usage resets on calendar boundaries, independently from the Subscription start date. Examples: * Monthly reset: every 1st of the month * Weekly reset: every Monday * Yearly reset: every January 1st * Daily reset: every day at 00:00:00 UTC (ISO 8601) This mode is useful when usage quotas should align across all Customers. 4. Fixed Windows Usage resets at regular intervals based on the Subscription start date. For example, if: * the Subscription starts on June 3rd * and the reset window is set to 1 month then the limit resets every 3rd of the month. This mode is useful when quotas should align with each individual Subscription lifecycle. Compared to the Billing Cycle reset strategy, Fixed Windows provide more flexibility as you can define reset periods independently from the billing cycle. 5. Sliding Windows Sliding windows continuously evaluate usage over a rolling time period ending at the current moment. For example: * if the reset period is set to 1 hour * Meteroid always evaluates usage over the previous rolling hour This strategy is useful for rate limiting and rolling quotas. ## Entitlement Overrides Entitlements can be overridden at the Plan, Subscription, and Customer levels. The resolution hierarchy, from lowest to highest priority, is: 1. **Default Entitlement** — configured in the Feature section 2. **Plan Entitlement** 3. **Subscription Entitlement** 4. **Customer override** — highest priority This means a **Customer override wins everywhere** for that Customer, taking precedence over the Subscription, Plan, and default configuration. ### Customer overrides Customer-level overrides are account-wide: they apply to **every** subscription the Customer has—and even to Customers with **no** active subscription. Use them to force a feature on or off for a whole account regardless of what the Customer is subscribed to, for example to grant complimentary access to a design partner, provision a feature manually, or hard-cap a specific account. Because they win everywhere, use them sparingly. ### Effective entitlements & pinning The Customer detail page shows each Customer's **effective entitlements**—the resolved value for every feature—along with its **origin** (default feature, plan, plan version, add-on, subscription, or customer override) and whether the value is *direct* or *inherited*. You can **pin** an inherited value onto a specific subscription. Pinning snapshots the currently-resolved value so it no longer changes when the upstream Plan or feature default is later edited—useful for locking in terms for an existing Customer while you evolve your catalog. This flexibility allows you to adapt access rights for specific Customers. # Overview Source: https://docs.meteroid.com/home

Meteroid Docs

Welcome to the Meteroid documentation. Model any pricing strategy, automate billing, monetize usage, manage subscriptions, send quotes and track revenue on one unified platform built for scale.

Learn the core concepts and how Meteroid fits into your stack. Set up your first plan and subscription in minutes. Explore the full API — endpoints, parameters, and examples. Move from Stripe Billing to Meteroid with our step-by-step technical guide.

Explore

Define billable metrics and ingest usage events in real time. Model any pricing structure — flat, usage-based, tiered, or hybrid. Create, manage, and update subscriptions with full lifecycle control. Generate and send quotes to close deals faster. Automated invoice generation with full audit trail. Issue credit notes and manage adjustments with ease. Manage your customer base, payment methods, and self-serve portal. Connect Meteroid with HubSpot, Pennylane, and more. Configure your merchant, taxes, invoices, and payment methods.
# Integrations Source: https://docs.meteroid.com/integrations/general-information The **Integrations** section in Meteroid allows you to connect with various external systems, including **payment providers, CRM platforms, and accounting systems**. These integrations help streamline billing, payment processing, customer management, and financial reconciliation. To set up an integration, navigate to **Settings > Integrations**, select the system you want to connect, and follow the setup instructions. ## Payment Providers Connect a Payment Service Provider (PSP) to collect payments on your invoices by card or direct debit. Card, direct debit (SEPA, ACH, Bacs) and Link payments. Recurring bank-debit collection across SEPA, BACS and ACH. European card and SEPA direct debit payments. European card payments platform. ## CRM Sync your billing data to your CRM to keep your sales and finance teams aligned. Sync customers and subscriptions to your CRM. ## Accounting Sync your customers and invoices to your accounting software for financial reconciliation. Sync customers and invoices to your accounting. 📌 **Note:** Meteroid is continuously expanding its integration library to better support your workflows. If you require a specific integration that is not currently available, feel free to contact us at 👉 [**hey@meteroid.com**](#) # GoCardless Integration Source: https://docs.meteroid.com/integrations/gocardless GoCardless is a payment platform specialized in bank-debit collection across SEPA, BACS and ACH schemes. With **Meteroid’s native integration**, you can collect recurring payments on your Meteroid invoices by direct debit through GoCardless. Your Customers authorize a mandate once, and payments are then collected automatically on each invoice. The integration enables: * **Direct Debit** (SEPA, BACS, ACH) * **Recurring mandates**: a Customer authorizes GoCardless to debit their bank account for future payments * **Secure storage of payment methods**: bank details and mandates are stored securely by GoCardless, not by Meteroid * **Payment status synchronization**: Meteroid tracks payments collected through GoCardless and updates invoice statuses automatically 💡 **Important:** GoCardless only supports bank debits. If you also want to accept **card payments**, connect a card-enabled provider such as [Stripe](/integrations/stripe), [Mollie](/integrations/mollie) or [Stancer](/integrations/stancer). ## Prerequisites * An active **GoCardless account**. ## How to Set It Up 1. Go to `Settings > Integrations` in your Meteroid dashboard. 2. Under **Payment Providers**, select **GoCardless** and click **Connect**. 3. Enter your GoCardless **Access token** and, optionally, your **Creditor ID**. 💡 **Important:** The access token must have the **read-write** scope. 4. Set up the webhook so that GoCardless can send payment updates to Meteroid: 1. In your GoCardless dashboard, create a new **webhook endpoint**. 2. Copy the webhook URL provided by Meteroid and paste it into the GoCardless webhook endpoint. 3. Copy the **webhook secret** generated by GoCardless and paste it into Meteroid. 5. Click **Activate** to enable the connection. 6. Once connected, go to `Settings > Payment methods` and enable **Direct Debit / SEPA** for your invoicing entity (see [Supported Payment Method](/settings/payment-methods)). 📌 Need help or want to customize your GoCardless integration further? 👉 Contact us at [hey@meteroid.com](mailto:hey@meteroid.com). # HubSpot Integration Source: https://docs.meteroid.com/integrations/hubspot HubSpot is a leading CRM platform offering powerful tools for marketing, sales, content management, and customer service. With **Meteroid’s native integration**, you can automatically sync your data to HubSpot, ensuring alignment between your sales and finance teams. The integration enables synchronization for changes in: * Your **customers** * Your **subscriptions** Meteroid-HubSpot is a **one-way integration** from Meteroid to HubSpot. When new customers or subscriptions are created in Meteroid, they are **automatically synced** to HubSpot. 💡 **Important:** Only customers and subscriptions created *after* the integration is enabled will be automatically synced. Existing data in Meteroid is not retroactively propagated to HubSpot. ## Prerequisites To enable the integration, your HubSpot account must be on the **Sales Hub Enterprise** plan. This is required to support custom objects and fields, which Meteroid uses to store billing data. ## Data Mapping ### Customers When a new customer is created in Meteroid, it is pushed as a **Company record** in HubSpot. The following fields are mapped: | Company property in Hubspot | Property in Meteroid | | - | - | | id | customer → id | | name | customer → name | | meteroid\_customer\_id | customer → id | | meteroid\_customer\_email | customer → billing\_email | | meteroid\_customer\_country | customer → billing\_address → country | | meteroid\_customer\_city | customer → billing\_address → city | | meteroid\_customer\_state | customer → billing\_address → state | | meteroid\_customer\_street | customer → billing\_address → line1 | | meteroid\_customer\_postal\_code | customer → billing\_address → zip\_code | 📌 Note: Hubspot properties prefixed with `meteroid_` are custom-created properties under `Meteroid information` property group. ### Subscriptions Meteroid subscriptions are synced and associated with the corresponding HubSpot Deal. The following fields are created or updated: | Deal property in Hubspot | Property in Meteroid | | - | - | | id | subscription → id | | dealname | plan → name | | meteroid\_customer\_id | subscription → customer\_id | | meteroid\_subscription\_id | subscription → id | | meteroid\_subscription\_plan | plan → name | | meteroid\_subscription\_start\_date | subscription → start\_date | | meteroid\_subscription\_end\_date | subscription → end\_date | | meteroid\_subscription\_currency | subscription → currency | | meteroid\_subscription\_status | subscription → status | | meteroid\_subscription\_mrr\_cents | subscription → mrr\_cents | 📌 Note: * Hubspot properties prefixed with `meteroid_` are custom-created properties under `Meteroid information` property group. * Subscriptions are synced only if the Customer has previously been synced. If you create a Subscription with a Customer that has not been synced to HubSpot (for example, if they were created before HubSpot synchronization), the associated deal will not be created in HubSpot. ## How to Set It Up 1. Navigate to `Settings > Integrations` in your Meteroid dashboard. 2. Select **HubSpot** and click **Connect**. 3. Follow the OAuth flow to authorize Meteroid’s access. 4. Once connected, Meteroid will automatically create the required custom fields in HubSpot and start syncing data for new customers and subscriptions. 📌 Need help or want to customize your HubSpot integration further? 👉 Contact us at [hey@meteroid.com](mailto:hey@meteroid.com). # Mollie Integration Source: https://docs.meteroid.com/integrations/mollie Mollie is a European payment provider. With **Meteroid’s native integration**, you can use Mollie to collect payments on the invoices generated by Meteroid. Pairing Meteroid for billing with Mollie for payments gives you a fully European billing and payment stack, which is useful if digital sovereignty matters to your business. The integration enables: * **Card payments** * **Direct Debit** (SEPA) * **Secure storage of payment methods**: payment details entered by your Customers in the hosted checkout or the Customer Portal are stored securely by Mollie and reused for future payments * **Payment status synchronization** ## Prerequisites * An active **Mollie account**. ## How to Set It Up 1. Go to `Settings > Integrations` in your Meteroid dashboard. 2. Under **Payment Providers**, select **Mollie** and click **Connect**. 3. In your Mollie dashboard, go to `Developers > API keys` and create a **standard API key**, then enter it in Meteroid. 4. Once connected, go to `Settings > Payment methods` and enable the relevant payment methods for your invoicing entity (see [Supported Payment Method](/settings/payment-methods)). 📌 Need help or want to customize your Mollie integration further? 👉 Contact us at [hey@meteroid.com](mailto:hey@meteroid.com). # Pennylane Integration Source: https://docs.meteroid.com/integrations/pennylane ## Overview Pennylane is a leading French financial and accounting management solution, available as SaaS. With **Meteroid’s native integration**, you can automatically sync to Pennylane, ensuring alignment with your accounting system. The integration enables synchronization for changes in: * **Customers** * **Invoices** Meteroid-Pennylane is a **one-way integration** from Meteroid to Pennylane. When new Customers or Invoices are created in Meteroid, they are **automatically synced** to Pennylane. 💡 **Important:** Only changes occuring *after* the integration is enabled will be automatically synced. Previously existing data in Meteroid is not retroactively propagated to Pennylane. ## Prerequisites To enable the integration, your Pennylane account must be on the **Essential** or **Premium** plan, which includes support for third-party integrations. ## Data Mapping ### Customer When a new Customer is created in Meteroid, Meteroid updates the Sales > Customers section in Pennylane. The following fields are mapped: | Pennylane | Meteroid | | - | - | | name | name | | billing\_address | billing\_address | | phone | phone | | external\_reference | customer\_id | | vat\_number | vat\_number | | emails | invoicing\_emails | | billing\_iban | null | 💡 Important: For Customers to be successfully synced to Pennylane: * The VAT number must have a valid format (*e.g* FRXX123456789). * The Phone number must have a valid format (*e.g* +33612345678). ### Invoices Meteroid exports invoices to Pennylane's Sales > Customer invoices section with the following fields: | Pennylane | Meteroid | | - | - | | external\_reference | id | | invoice\_number | invoice\_number | | date | invoice\_date | | deadline | due\_at (fallbacks to invoice\_date if due\_at is empty) | | currency | currency | | currency\_amount | total | | invoice\_lines → currency\_amount | line\_items → total | | invoice\_lines → label | line\_items → name | | invoice\_lines → quantity | line\_items → quantity | | invoice\_lines → raw\_currency\_unit\_price | line\_items → unit\_price | | invoice\_lines → description | null | | invoice\_lines → imputation\_dates → start\_date | line\_items → start\_date | | invoice\_lines → imputation\_dates → end\_date | line\_items → end\_date | ## How to Set It Up 1. Go to `Settings > Integrations` in your Meteroid dashboard. 2. Select **Pennylane** from the list. 3. Click **Connect** and complete the OAuth authorization flow. 4. Once connected, invoices created in Meteroid will be automatically pushed to your Pennylane account. # Stancer Integration Source: https://docs.meteroid.com/integrations/stancer Stancer is a European card payments platform. With **Meteroid’s native integration**, you can use Stancer to collect card payments on the invoices generated by Meteroid. The integration enables: * **Card payments** * **Secure storage of payment methods**: card details entered by your Customers in the hosted checkout or the Customer Portal are stored securely by Stancer and reused for future payments * **Payment status synchronization**: Meteroid tracks payments made through Stancer and updates invoice statuses automatically 💡 **Important:** Stancer only supports card payments in Meteroid. To collect payments by direct debit, connect another payment provider. ## Prerequisites * An active **Stancer account**. ## How to Set It Up 1. Go to `Settings > Integrations` in your Meteroid dashboard. 2. Under **Payment Providers**, select **Stancer** and click **Connect**. 3. Enter your Stancer **Secret key**. You can find it in the developer section of your Stancer account. 4. Once connected, go to `Settings > Payment methods` and enable **Credit Card** for your invoicing entity (see [Supported Payment Method](/settings/payment-methods)). 📌 Need help or want to customize your Stancer integration further? 👉 Contact us at [hey@meteroid.com](mailto:hey@meteroid.com). # Stripe Integration Source: https://docs.meteroid.com/integrations/stripe With **Meteroid’s native integration**, you can use Stripe as the Payment Service Provider (PSP) that executes payments on the invoices generated by Meteroid. Meteroid handles the billing logic and invoice generation, while Stripe processes the payments. The integration enables: * **Card payments** * **Direct Debit** (SEPA, ACH, Bacs) * **Link**, Stripe’s saved-payment-details checkout * **Secure storage of payment methods**: payment details entered by your Customers in the hosted checkout or the Customer Portal are stored securely by Stripe and reused for future payments * **Payment status synchronization**: Meteroid tracks payments made through Stripe and updates invoice statuses automatically 💡 **Important:** Meteroid does not process payments itself. Payments are executed by Stripe, using the payment method selected for each Subscription. ## Prerequisites * An active **Stripe account**. ## How to Set It Up 1. Go to `Settings > Integrations` in your Meteroid dashboard. 2. Under **Payment Providers**, select **Stripe** and click **Connect**. 3. Enter your Stripe **Publishable key** and **Secret key**. You can find them in your Stripe dashboard under `Developers > API keys`. 4. Authorize Meteroid to listen to Stripe webhooks. Meteroid subscribes to the following events to keep payments, refunds, disputes and payment methods in sync: * **Charges**: `charge.refunded`, `charge.refund.updated`, `charge.dispute.created`, `charge.dispute.closed`, `charge.dispute.funds_reinstated`, `charge.dispute.funds_withdrawn` * **Refunds**: `refund.updated` * **Payment intents**: `payment_intent.processing`, `payment_intent.requires_action`, `payment_intent.succeeded`, `payment_intent.payment_failed`, `payment_intent.partially_funded` * **Setup intents**: `setup_intent.succeeded`, `setup_intent.requires_action`, `setup_intent.canceled` * **Payment methods**: `payment_method.updated`, `payment_method.automatically_updated`, `payment_method.detached` * **Mandates**: `mandate.updated` 5. Once connected, go to `Settings > Payment methods` and enable **Credit Card** and/or **Direct Debit** for your invoicing entity (see [Supported Payment Method](/settings/payment-methods)). 📌 Need help or want to customize your Stripe integration further? 👉 Contact us at [hey@meteroid.com](mailto:hey@meteroid.com). # Get Started with Meteroid Source: https://docs.meteroid.com/introduction/get-started-with-meteroid Whether you're exploring Meteroid for the first time or preparing for a production deployment, we recommend following these steps to test and validate your setup safely and efficiently. Start by creating an account on Meteroid. This gives you access to the billing platform and all the tools needed to manage subscriptions, invoicing, and payments. We **strongly recommend** testing in a non-production environment before going live. You have two options: * **Development Environment**: Ideal for custom setups or teams integrating Meteroid into their own infrastructure * **Sandbox Environment (with sample data)**: A preconfigured environment populated with mock data, designed to help you visualize how Meteroid works for your business To confirm you're in the right environment (also called a **tenant**), go to **Settings > General** and check the Tenant slug — this will be "dev" for Development, "sandbox" for Sandbox, or "prod" for Production. Tenants in Meteroid You can create additional tenants at any time by clicking **New Tenant**. New tenants in Meteroid Before testing or going live, make sure your **invoicing setup is complete**: * **Invoicing Entity Details** — Go to **Settings > Merchant** and ensure all billing information is accurate. This will be reflected on all generated invoices. * **Connect a Payment Provider** — If needed, connect Meteroid to your preferred payment provider via **Settings > Integrations**. Meteroid currently supports **Stripe**. * **Define Payment Methods** — Go to **Settings > Payment Methods** and choose the options available to your customers (Credit Card, Direct Debit, or Bank Transfer). Once your environment and billing setup are ready, you can simulate your first usage: * **Create Metrics** *(if your pricing model is usage-based)* via **Product Catalog > Metrics** * **Create Plans** under **Product Catalog > Plans** with your desired pricing, trial, and billing configuration * **Add Customers** in the **Customers** tab * **Assign Plans to Customers** by creating a **Subscription** from **Billing > Subscriptions** * **View and Manage Invoices** in **Billing > Invoices** — Meteroid automatically generates invoices based on each subscription # Glossary Source: https://docs.meteroid.com/introduction/glossary Billing can get **quite complex**. Learn more about Meteroid's key concepts and what they mean in the context of our platform. Something is still unclear? Don't hesitate to reach out to us at 👉 [**hey@meteroid.com**](#) for additional support. ## Add-ons An Add-on is an optional product or service that can be purchased in addition to a Subscription. Add-ons allow you to extend an End User's subscription with additional features, capacity, or services without requiring them to change Plans. Depending on its configuration, an Add-on can be purchased directly by the End User through the Customer Portal or assigned manually by an Account Manager to a subscription. ## Account Manager In Meteroid, an Account Manager is the internal user (typically from your team) actively using Meteroid to manage and oversee the commercial relationship with a Customer. ## Billing Cycle The Billing Cycle defines when Invoices are issued for a given Subscription. It can either be the 1st of the month or be based on the anniversary of the Subscription's start date. ## Billing Entity A Billing Entity refers to the legal and financial entity responsible for issuing invoices, collecting payments, and managing tax obligations. It defines the company name, registered address, and the currency in which invoices are issued. In Meteroid, each invoice is linked to a specific Billing Entity. For more details, refer to **Settings > Merchant**. ## Billing Period The **Billing Period** defines the timeframe for which price components are calculated. While Invoices in Meteroid are often issued on a monthly basis, different price components (e.g., subscription fees, usage-based charges) can have varying billing periods, such as monthly or annually and can be billed in advance or in arrear. * **Recurring charges** (e.g., subscriptions, slot-based pricing) are billed at the **begining** (in advance) of the billing period, which can be monthly, quarterly or annually. * **Non-recurring charges** (e.g., usage-based billing, overage charges) are billed at the **end** (in arrear) of the billing period, which is always monthly. ## Check-out page The **Checkout Page** is where Customers review complete their purchase. In Meteroid, the checkout experience is fully connected to your product setup: any changes made in Meteroid—such as updating a plan’s pricing—will automatically reflect on your website. Likewise, events happening on your site, like a new customer or subscription, are instantly synced back to Meteroid. You can also generate a Checkout Page for a specific customer and share it as a link, making it easy to guide them through the purchase process. ## Coupon A coupon is a way to give a discount to your customers. It can be either a fixed amount (a €10 coupon), or a percentage (10% off). It can also be limited in time or used a limited number of time. ## Customer (or End User) In Meteroid, Customers are the End User of the services you are selling. You can assign them Subscriptions or bill them for one-time payments. ## Customer Portal The Customer Portal is a self-service space where End Users can independently manage their relationship with your product. Through the Portal, End Users can: * View, download, and pay their invoices * Monitor the status of their subscriptions * Update their billing information * Add and manage payment methods ## Credit Note A Credit Note is a commercial document issued by a seller to a buyer. It serves as a formal notification that the customer has been credited a specific amount against a sale that has already been invoiced and, critically, paid or partially paid. It effectively reduces the customer's accounts receivable balance with the seller. ## Entitlements An Entitlement defines what a Customer is allowed to access, use, or consume as part of a Subscription. Entitlements in Meteroid can be managed in the Features section. Examples of entitlements include: * API access * Storage limits * Access to premium features * Usage quotas ## Grace Period The Grace Period is the time frame before an invoice is considered finalized and officially due by the Customer. In Meteroid, the Grace Period can be configured per Invoicing Entity under Settings > Invoices > Grace Period ## Invoice Meteroid allow you to bill your customers easily for many different products and pricing models. The Invoice is the document sent to your customers that details the products or services delivered, the total amount due, and the payment method and deadline. ## Invoicing Entity An Invoicing Entity represents the legal and financial entity responsible for issuing Invoices to Customers. Each entity has its own billing details (legal name, address, VAT number...). Companies operating in multiple regions or countries can create in the Settings > Invoice section multiple Invoicing Entities to comply with local regulations and currencies. ## Meteroid **Meteroid** is a billing platform designed for B2B SaaS companies. It helps manage pricing, Subscriptions, Invoicing, and Usage-Based Billing. Unlike a Payment Service Provider (PSP) such as Stripe or PayPal, Meteroid doesn’t process payments directly—instead, it connects with your PSP to track payments and update invoice statuses automatically. With Meteroid, your teams can automate recurring billing, configure complex pricing models, and provide customers with a seamless billing experience—all without relying on engineering. ## Metric A Metric in Meteroid represents consumption data or a metered feature (e.g., number of API calls, GB used). It is built by filtering and aggregating raw events sent to Meteroid. Metrics are the foundation for implementing Usage-Based Billing (UBB) or Hybrid pricing models, enabling you to charge Customers based on actual usage. ## MRR The Monthly Recurring Revenue (MRR) is a measure of your monthly recurring subscription revenue. It includes subscription rates, slot-based prices, capacity commitments (the monthly tier price being included but not overage charges) and additional recurring charges. On the contrary, it excludes usage-based billing and one-time charges. ## Net Terms **Net Terms** refer to the number of days a customer has to pay an invoice after it is issued. It defines the payment due date, impacting cash flow and financial planning. In Meteroid, Net Terms can be defined at different levels: * **Invoicing Entity** (Settings > Invoices) – Applies as a general rule for all invoices. * **Plan** (Product Catalog > Plan) – Allows specific payment terms per Plan. 📌 **Priority Rule:** If Net Terms are defined in a Plan, they take precedence over the Invoicing Entity's default Net Terms. Otherwise, the default terms from the Invoicing Entity apply. ## Plan Plans represent the functionality of a product that customers are billed for during a pre-defined time period (*e.g* monthly or annually). Meteroid allows your teams to manage plans, their content, price and trial configuration without requiring additional engineering changes. ## Pricing model A pricing model refers to the strategy used to determine how a product or service will be priced. It can include various approaches such as: * subscription-based pricing models: Customers pay a fixed recurring fee (e.g., monthly or annually) to access a product or service. * usage-based pricing models: Also known as pay-as-you-go, this model charges Customers based on how much they use a product or service (e.g., number of API calls, GB of storage, minutes used). * hybrid (mix of both) pricing models combine subscription fees with usage-based components. For example, a Customer might pay a base monthly rate for core features and an additional fee based on usage. Read our [Blog Articles](https://www.meteroid.com/blog) for insights into Pricing Models. Moreover, we explain in more details the different pricing models supported by Meteroid in the *Modelling your Pricing* section. ## Product Products in Meteroid represent a product or service that you offer to your Customers. ## Product Line **Product Line** in Meteroid represents a category or grouping of related Plans. Each Plan is created within a specific Product Line, allowing you to organize offerings more effectively—for example, grouping by service types like “Operations” or “Support,” with Plans such as Starter, Pro, or Advanced under each. End users can subscribe independently to multiple Plans across different Product Lines, enabling flexible bundling and modular access to your products or services. Product Lines can be defined in Settings. Once defined, Metrics and Plans can be assigned to a given Product Line. If no Product Line is specified, Meteroid automatically assigns the "Default" Product Line. ## Purchase Order Number A **Purchase Order (PO) number** is a unique reference communicated by the Customer to their Account Manager. It allows the Customer's finance department to internally link the Invoice they receive back to the original contract or quote signed, facilitating efficient approval and payment processing. For many large companies, a valid PO number is mandatory to process and approve supplier invoices. ## Quote A Quote, is a document issued from a business to a potential Customer outlining how much the requested products or services will cost. Quotes are issued early in the sales process, and help the Customer determine if they would like to continue with the purchase. ## Subscription In Meteroid, a subscription connects a customer to a specific plan, specifying what products or services Customers can access and how they are charged. Customers can have multiple subscriptions and manage them flexibly—pause, cancel, or adjust as needed. ## Subscription (Sales-led) These apply to customers with ad-hoc, bespoke contracts. Sales-led subscriptions in Meteroid are used when the **price and content of Plans are negotiated individually** with each customer, leading to variations in pricing and structure. This approach is common in enterprise or high-touch sales opportunities. ## Subscription (Self-served) These are for standard-priced, self-service paying customers. Self-served subscriptions in Meteroid are designed to enable customers to subscribe to your Plan independently, without sales interaction. This model relies on **standardized pricing and offerings**, making it easy to scale. ## Tenant A Tenant in Meteroid represents a separate environment used to manage and test your billing configuration. You can create multiple Tenants—for example, for Production, Development, or Sandbox purposes—each with its own settings and data. ## Trial Period The **Trial Period** allows customers to use a Plan for free for a defined period before billing starts. It helps customers evaluate the service before committing to a paid subscription. Trial duration and conditions can be configured per Plan in Meteroid. 📌 For more details, refer to the **Product Catalog > Pricing** section. # Introduction Source: https://docs.meteroid.com/introduction/understanding-meteroid ## Key concepts * **Usage-Based Billing:**
Our platform supports flexible usage-based billing models, in addition to more standard subscription models, allowing businesses to charge customers based on actual usage, fostering fairness and transparency. * **Product Catalog:**
Meteroid's versatile product catalog allows businesses to create, manage and evolve products and pricing plans, supporting both traditional and innovative pricing models. * **Subscription Management:**
Comprehensive tools to manage subscriptions efficiently, including upgrades, downgrades, and cancellations, enhancing customer experience. * **Real-Time Data Processing:**
Meteroid processes data in real-time, providing up-to-date insights and billing calculations, ensuring accuracy and customer satisfaction. * **Actionable Insights:**
Our platform provides actionable insights into customer behavior, revenue streams, and billing processes, enabling data-driven decision-making and product-led growth strategies. ## Why Meteroid? Meteroid addresses the complexities and limitations of traditional billing systems, particularly for businesses transitioning to usage-based models or product-led-growth principles. It eliminates the gap between customer usage and billing, ensuring accuracy, transparency, and satisfaction. By providing real-time data processing and versatile management tools, Meteroid solves the critical problem of adapting billing processes to the digital age, catering to the evolving needs of both businesses and their customers. ## How Meteroid Works Meteroid integrates with your existing systems via a simple API, collecting data on customer usage and interactions. This data fuels the Meteroid billing engine, applying your custom pricing models to generate accurate, timely invoices. Our platform simplifies the creation, scaling and maintenance of complex billing models, automates invoice generation, and provides *clear, actionable insights* for achieving your KPIs. Meteroid Schema Meteroid operates through a series of steps to ensure accurate billing and efficient subscription management: 1. Data Ingestion: Capturing and processing usage data from various sources. 2. Metric Calculation: Converting data into billable metrics. 3. Billing Cycle Management: Automating invoicing and payment collection, upgrades, downgrades, churn management. 4. Customer Dashboard: Providing customers with a self-service portal to manage their subscriptions and view usage. ## For whom? Meteroid is designed for startups, SMEs, and enterprises looking to embrace some form of usage-based billing or product-led growth. It's ideal for SaaS companies, digital service providers, and any business that requires a sophisticated, yet user-friendly billing solution to adapt to their growth strategy and the evolving needs of their customers. Whether you're a tech entrepreneur, a product manager, or a business executive, Meteroid provides the tools and flexibility needed to streamline your billing processes, enhance customer satisfaction and build for sustainable growth. ## Build for Sustainable Growth Our philosophy is deeply rooted in the principles of open source and open startup culture. We believe in **transparency** and **collaboration** as foundational pillars that not only foster innovation but also build trust and community around our mission. By choosing Rust as our core technology, we leverage its efficiency, reliability, and safety features, ensuring our platform is built on a solid, secure foundation. Our focus on Product-Led Growth (PLG) reflects our commitment to creating products that drive user acquisition, retention, and expansion through their inherent value and user experience This approach, combined with our open philosophy, guides us toward creating a more inclusive, sustainable future for the SaaS industries. # Managing invoices Source: https://docs.meteroid.com/invoices/managing-invoices The **Billing > Invoices** section in Meteroid provides a central view of all invoices issued to your Customers. Each invoice includes a summary of the billed items, the total amount, payment status, and key metadata such as the invoicing entity, Customer's details, and due date. # Create new Invoices While most invoices in Meteroid are generated automatically based on the conditions defined in your Plans (subscription pricing, usage, one-time charges, etc.), you also have the flexibility to handle ad-hoc or non-recurring events. To manually create an invoice (e.g., for one-off services not covered by a Plan), click "New Invoice" in the Billing > Invoices section. 📌 **Note**: * Newly created invoices are first generated in **Draft** status and can be freely edited or deleted. They remain in Draft until you click “**Finalize & Send**”. Once finalized, the invoice is no longer editable as it becomes an accounting document and is automatically sent to the End User. * The invoice will always use the **Invoicing Entity defined at the Customer level**, ensuring correct legal and billing details appear on the document. # Edit Invoices ## Edit standard invoices elements To **edit standard invoice elements** like footnotes or legal mentions (such as VAT number, company details, or custom messaging), go to **Settings > Invoices** and update these elements for the relevant invoicing entity. To change the logo displayed on invoices, go to **Settings > Branding** (see [Branding](/settings/branding)). How Invoice elements are determined: * Invoice date: Set when the invoice is finalized and sent. It’s based on the subscription's billing cycle and any applicable grace period. * Due date: Automatically calculated using the invoice date plus the configured net payment terms. * Bill to: Pulled directly from the Customer’s details (Name and Billing Address). 📌 **Note**: Meteroid supports localized invoice generation in eight languages, resolved per document. See [Invoice language](#invoice-language) below. ## Edit generated invoices Invoices with Draft status can be edited in Meteroid. 📌 **Note**: Generated invoices are not editable once finalized, in compliance with accounting and legal requirements. If a correction is needed, consider issuing a credit note and generating a new invoice with the updated details. To edit a draft invoice: 1. Go to **Billing > Invoices** 2. Click the invoice you want to modify 3. Open **Actions > Edit Invoice** You can perform the following changes: * Add, remove, or update line items * Update Customer details * Refresh from Customer record: Pulls the latest information from the Customer section (useful if the Customer has been recently updated). * Edit directly on the invoice: Updates the invoice only without modifying the Customer record afterwards. * Add a discount * Add, update, or remove metadata, such as Purchase Order Number, Due date... 📌 **Note**: Sublines generated by Meteroid (e.g., tier breakdown, group usage details) **are not editable**. # Manage Invoices Invoices in Meteroid are handled at the **Subscription level**, meaning a Customer receives a separate invoice for each Subscription. 💡 **Note**: By enabling the "Consolidate recurring invoices" in Settings > Invoices, Meteroid can consolidate invoices from different Subscritpions into a single Invoice, providing the Subscriptions share the same billing properties. More info in the documentation's Settings > Invoices section. To manage invoices, navigate to **Billing > Invoices**. There, you can view and track all invoices with the following key details: * **Invoice Number** – Unique identifier for each invoice * **Customer** – The recipient of the invoice * **Amount & Currency** – Total due in the relevant currency * **Invoice Date** – Date the invoice was issued * **Status** – Current state of the invoice (see below) * **Payment Status** – Whether or not the invoice has been paid (see below) ## Invoice Status * **Draft**: Set automatically between the end of the billing period and the end of the grace period. The invoice is not yet finalized and is not sent to the Customer. * **Finalized**: Unless specified, this status is set automatically at the end of the grace period. Finalized invoices are accounting documents and can no longer be edited. At this stage, if the preferred payment method is: * **Direct Debit or Credit Card**: If automatic payment is configured, Meteroid will charge the Customer directly and send an invoice afterwards. Otherwise, Meteroid sends a secure payment link along with the invoice, allowing the Customer to complete the payment manually. * **Bank Transfer**: The Customer receives the invoice along with your bank details to initiate the transfer manually. * **Voided**: Equivalent to canceling an invoice, while preserving an audit trail. Can only be applied to finalized invoices. This action is manual. * \*\*Uncollectible: \*\*Used when an invoice is considered definitively unpaid (e.g., in case of customer bankruptcy). This is a **final and irreversible status**, set manually. ## Payment Status In addition to invoice status, Meteroid tracks **Payment Status**: * **Unpaid**: The invoice is due and has not been paid yet. * **Paid**: Set automatically once full payment is received. Applies to payments made via credit card or direct debit. * **Partially Paid**: Set if only part of the total amount has been paid. * **Errored**: Triggered after multiple failed payment attempts (e.g., declined card, insufficient funds). Typically applies to automatic payments via credit card or direct debit after all retries have failed. 💡 **Note**: Meteroid automatically updates the payment status if the payment method is Direct Debit or Credit Card. If the payment method is set at bank transfer, payment status for a given invoice can be updated by clicking on Actions > Mark as Paid. ## Previewing Upcoming Invoices Meteroid allows you to preview the estimated amount for the next billing cycle before the invoice is created. This is particularly useful for monitoring high-volume usage-based accounts. To view an upcoming invoice: * Navigate to the Subscriptions section. * Click on a specific Subscription. * Scroll down to the Upcoming Invoice section. The preview provides a real-time calculation based on all data processed by Meteroid to date, whether it is flat rates or usage-based events. Upcoming Invoices Visualization in Meteroid # When are End Users Invoiced? To invoice End Users in Meteroid, their Subscriptions must first be **activated** (cf. *Billing > Subscriptions*). Once active, invoicing depends on two factors: * The **billing cycle** defined at the subscription level — either on the **1st of the month** or on the **anniversary date** (i.e., the date the subscription started). * The **billing period** defined for each pricing component within a Plan — monthly, quarterly, annually, etc. Different types of pricing components are billed at different moments within the billing period: * **Subscription rates** and **slot-based pricing** are billed **at the beginning** of the billing period. * **Capacity commitments** and **usage-based charges** are billed **at the end** of the billing period, once actual usage or fulfillment is known. Examples: * If a Plan is solely composed of a subscription rate billed quarterly, and the billing cycle is set to the 1st of the month, Customers will receive an Invoice at the beginning of each quarter (e.g., January 1st, April 1st, etc.). * In Month M, an Invoice will charge End Users for their monthly subscription rate for Month M+1 (in advance) and their usage or capacity consumption from Month M (in arrears). Moreover, when an invoice is finalized, Meteroid automatically sends an email to the End users provided the following conditions are met: * \*\*“Disable all email notifications” is disabled in \*\*Settings > General, AND * An **Invoicing Email** is configured at the **Customer** level. If both conditions are met, Meteroid sends one of the following emails: * **Receipt Email**: Sent when an automatic payment method (e.g., credit card, direct debit) is configured and the payment succeeds. This email includes attached the payment receipt. * **Invoice Email**: Sent when no automatic payment method is available or when payment fails. This email contains the invoice as an attachment and includes a **“View and Pay”** button redirecting the End User to the checkout page where they can pay their invoice. # Invoice Language Meteroid can issue invoices, credit notes and their footers in **8 languages**: English, French, German, Spanish, Italian, Dutch, and Portuguese (Portugal and Brazil are handled as two separate variants). 📌 **Note**: If you want to bill in a language that is not yet supported, please contact us at 👉 [**hey@meteroid.com**](#) The language of a given document is resolved in this order, first match wins: 1. **Customer preference** — **Customers > Invoice language** on the Customer record. Leave it on *Default (inherit)* to fall through. 2. **Invoicing entity default** — **Settings > Invoices > Default invoice language**. 3. **The invoicing entity's country** — the locale of the incorporation country set when the invoicing entity was created. 4. **English** — the final fallback. Regional variants collapse onto the language they belong to: `fr-BE` and `fr-CH` both render from the French bundle, `de-AT` and `de-CH` from the German one. Portuguese is the exception, shipped as two distinct bundles — `pt-BR` for Brazil, `pt-PT` for everywhere else — because the two diverge on the vocabulary a document is made of. Invoice footers (**Settings > Invoices > Invoice footer**) can be written separately for each supported language, so the correct legal mentions appear regardless of which language a given document renders in. 📌 **Note**: A document never fails to render over a language tag — an unrecognised one falls back to English. Meteroid rejects unsupported language tags when you *save* them, so the mistake surfaces while you're still there to fix it, rather than silently at render time. ## When the issuer's law decides the language For a **Belgian** invoicing entity the order above is inverted: the entity's own setting outranks the customer's preference. A Belgian invoice is a document prescribed by law, which brings it under the language legislation — Dutch in Flanders, French in Wallonia — and a document in the wrong language can be void. Setting a Walloon customer to French on a Flemish seller's account is exactly the well-meant change that would otherwise produce a void invoice, so Meteroid does not let the customer preference win there. Meteroid warns in **Settings > Invoices** when a Belgian entity has no explicit language set, and prompts for an explicit choice when you create a Belgian or Swiss entity. Switzerland is a prompt only, not a precedence rule — Swiss law imposes no language requirement on an invoice, but with four official languages no single default serves them. # E-Invoices #### What is e-invoicing? **E-invoicing (electronic invoicing)** is the digital exchange of invoice documents between a supplier and a buyer, using a **standardized format** that enables automated processing. Unlike traditional PDFs or paper invoices, e-invoices follow a structured format (typically XML) that can be seamlessly interpreted by accounting systems and tax authorities. This process is particularly important in jurisdictions like the **European Union**, where specific e-invoicing standards are mandated for businesses to comply with tax and reporting obligations. #### E-invoices in Meteroid Meteroid's invoices and credit notes are modeled on **EN 16931**, the European semantic standard for electronic invoices, and are issued as **Factur-X / ZUGFeRD** — a CII-format XML file embedded directly inside the invoice PDF. Your Customer receives a single file that is both human-readable and machine-readable, and their accounting system can import it without re-keying anything. Factur-X / ZUGFeRD is the Franco-German hybrid standard, and one of the formats accepted under the French e-invoicing reform. Enable it per invoicing entity under **Settings > Invoices > Structured e-invoicing**. 📌 **Note**: Need another EN 16931 format — XRechnung for German public-sector buyers, or Peppol BIS Billing 3.0 to send over the Peppol network? Tell us at 👉 [**hey@meteroid.com**](mailto:hey@meteroid.com). We're expanding format coverage based on what customers actually need to send. ## The compliance report Every invoice and credit note issued by an entity with structured e-invoicing enabled is checked against the format's requirements. The result is shown in the **E-invoicing** section of the document's side panel in **Billing > Invoices**. On a **draft**, the check is a dry run against the live Customer and invoicing entity records. The status reads either: * **Ready to issue**, naming the profile — nothing is missing. * **Would not be issued** — with the number of issues, and the list a click away. On a **finalized** document, the same section reports what actually happened: **Issued**, again naming the profile, or **Not issued** with the reasons. When the e-invoice was issued you can download the **XML file**, and for a hybrid format the **Hybrid PDF** that carries the XML inside it. ### Generating an e-invoice never blocks billing An invoice that cannot be expressed as a structured document is still a legally issued invoice: it is numbered, it is owed, and it is sent. Meteroid will not refuse to issue an invoice because a VAT number is missing — that would take down billing over metadata. The PDF goes out either way, and the findings are recorded against the document instead. ### Reading the findings Findings are reported in the standard's own vocabulary, so they name the exact field to fill rather than saying "not compliant": ``` BG-8/BT-55 — The Buyer postal address shall contain a Buyer country code. ``` * The **business term path** (`BG-8/BT-55`) is where in the document the field belongs. * The **message** is the rule's own wording, verbatim, so you can look it up in CEN's or KoSIT's index. * Some findings carry a short **hint** where the rule text alone isn't actionable. ### Fix findings before finalization This matters more than it looks. A draft still reads the **live** Customer and invoicing entity records, so filling in a missing field and refreshing the draft fixes *that* invoice. A finalized invoice is immutable — French law is explicit about it — and the seller and customer identity are frozen onto the document at finalization. Correcting your entity's registration number today does **not** make yesterday's invoice compliant, because yesterday's invoice no longer reads from the entity. After finalization, the findings only tell you what to fix for the next document. 📌 **Note**: The draft check re-runs every time you open the invoice, so the verdict always reflects what you just filled in on the Customer or entity. # Tax mentions on invoices When a document carries no tax — reverse charge, an exemption, or a cross-border export — the corresponding statutory mention is generated automatically, with the legal reference matching your jurisdiction and the wording in the document's language. There is nothing to configure. See [Legal tax mentions on documents](https://docs.meteroid.com/settings/taxes#legal-tax-mentions-on-documents) for what is generated and when. # Billable Metrics Source: https://docs.meteroid.com/metering/billable-metrics Learn how to create and manage your billable metrics in Meteroid. Billable Metrics are at the core of Usage-Based Billing in Meteroid. Unlike subscriptions, which apply fixed recurring charges, Metrics allow you to bill customers based on real usage—giving you the opportunity to monetize metered features and consumption. Meteroid is built to ingest and process high volumes of events efficiently, thanks to a robust and scalable event processing pipeline written in Rust, leveraging Kafka and Clickhouse. Meteroid makes it easy to send raw, unaggregated event data, automatically handling aggregation based on your configured logic—so you can ensure accuracy without pre-processing your data. As you get started, we strongly recommend using a Meteroid Test Tenant to define and test your Metrics setup without impacting your production environment. ## Adding a Metric in Meteroid To create a new metric, navigate to: **Product Catalog > Metrics > New Metric** Then, you will need to enter the following details: * **Metric Name** – A unique name that will help identify the billable metric when defining pricing strategies. * **Event Code** – This is the usage event used to build a billable Metric. It corresponds to the name of the event that your system sends to Meteroid and that Meteroid should consider to build the billable Metric. Indeed, Metrics are assembled by filtering and aggregating (cf. Aggragation Type below) these incoming events. * **Description** – A brief explanation of the metric and what it measures. * **Aggregation Type** – Defines how the data is processed by Meteroid. It is applied to the values included in the events matching the Event Code. * **Count** – Counts the number of occurrences of an event (e.g., API calls). * **Count Distinct** – Counts the number of unique occurrences (e.g., unique users accessing a feature). * **Sum** – Sums up numerical values (e.g., total data usage in GB). * **Mean** – Calculates the average value (e.g., average response time). * **Min** – Retrieves the minimum recorded value. * **Max** – Retrieves the maximum recorded value. * **Latest** – Captures the most recent recorded value. 💡 **Note**: You can optionally define a **Conversion Factor** for Billable Metric. The raw usage value sent to Meteroid will be **divided** by this factor before billing calculations take place. This is useful when your system reports usage in a base unit that you want to convert into a more readable Billable Metric. For example, if your application tracks storage in **bytes**, you can set a conversion factor of **1024** to bill in **kilobytes (KB)**. 💡 **Important:** Meteroid automatically aggregates Metrics at the end of each billing period based on the selected Aggregation Type. To avoid double counting or incorrect calculations, **you should send raw, unprocessed data rather than pre-aggregated values.** In option you can configure the segmentation for more granular pricing strategies: * **No Segmentation** – By default, the metric is not segmented. * **Single Dimension Segmentation** – Allows different pricing strategies based on a single attribute (e.g., Cloud Provider). * **Example**: You want different pricing for AWS, Azure, and GCP. * Fields to fill: * **Dimension** (e.g., "Cloud Provider") * **Values** – List the different values, separated **only by a comma without spaces** (e.g., "AWS,Azure Cloud,GCP", not "AWS, Azure Cloud, GCP" * When configuring a plan, you can set different prices for each cloud provider. * **Two-Dimensional (Independent) Segmentation** – Allows separate pricing for two independent attributes (e.g., Cloud Provider & Region). * Fields to fill: * **Dimension 1** (e.g., "Cloud Provider") with values "AWS,Azure Cloud,GCP" (separated by coma without spaces). * **Dimension 2** (e.g., "Geography") with values "North America,Europe,Asia" (separated by coma without spaces). * Each dimension is independent, meaning pricing can be set separately for each cloud provider in each region. * **Two-Dimensional (Dependent) Segmentation** – Allows pricing variations based on two interdependent attributes (e.g., Cloud Provider & Region). * Fields to fill: * **Dimension** (e.g., "Cloud Provider") * **Relative Dimension** (e.g., "Geography") * **Values:** The possible combinations of the two dimensions, formatted as follows: ``` { "DimensionValue1": ["RelativeDimensionValue1", "RelativeDimensionValue2", ...], "DimensionValue2": ["RelativeDimensionValue3", "RelativeDimensionValue4", ...], "DimensionValue3": ["RelativeDimensionValue5", "RelativeDimensionValue6", ...], ... } ``` For example, for cloud providers and geographies: ``` { "AWS": ["North America", "Europe"], "Azure Cloud": ["Europe", "Asia"], "GCP": ["North America", "Asia"] } ``` 💡 **Note**: Difference Between Dependent vs. Independent Dimensions * **Two Dimensions (Independent):** You must define a price for **every possible combination** of the two dimensions (e.g., every Cloud Provider in every Geography). * **Two Dimensions (Dependent):** You can **restrict pricing to specific valid combinations** (e.g., AWS may only be available in North America and Europe). 💡 **Note**: You can **edit existing Segmentation** without archiving and recreating a Metric by clicking Metrics > Edit. It allows you for instance to add a new Cloud Provider or Region to an existing Metric. Optionally, you can configure as well: * **usage grouping**: To do so, enter a **grouping key**. This allows you to group usage events by values from your events (e.g., `cluster_id`, `project_id`). These groups will then be displayed on Invoices, making it easier for Customers to understand how usage is allocated across different projects, clusters, or other attributes. 💡 **Note**: **Groups are considered independent**. For exampple, if you configure a tiered pricing model, the usage within each group will be evaluated separately. The consumption from different groups will not be summed across groups when determining the applicable tier. * **filters** to restrict which events are considered when calculating a Billable Metric. Filters are based on event properties. Only events matching all configured filters are included in the metric. # Manage Metrics in Meteroid ## Editing a Metric To edit a Metric, go to **Metrics > Edit**. You can modify the: * **Metric Name** * **Segmentation values** (e.g., adding a new region, etc.). This is especially useful if you need to introduce new segmentation options while keeping existing Plan configurations intact. 💡**Note:** Modifying the dimensions of an existing metric may impact your current pricing structures. For more informations, please read the managing upgrade & downgrade and price updates section. 💡**Note:** The Event Code and the Aggregation Type of a Metric cannot be edited once the Metric has been created. If you need to change either of these, you must archive the Metric and create a new one. ## Archiving a Metric Metrics can be archived by clicking **Metrics > Archive**. Archived Metrics cannot be used to create or update Plans but billing for existing Plans using archived metrics is **not disrupted**. If required, you can **unarchive** a metric by filtering on Archived metrics in the Metrics list and clicking **Unarchive**. ## Duplicating a Metric You can duplicate a Metric by selecting **Metrics > Duplicate**. This feature is useful if you want to create a new Metric based on the configuration of an existing one—for example, reusing the same event setup while changing the aggregation type. # Managing events Source: https://docs.meteroid.com/metering/managing-events In the **Events** section, you can review the latest events sent to Meteroid, whether they were ingested through the API or imported via CSV. This gives you full visibility into the raw data that powers your billable metrics. ## Import Events via API To import Events via Meteroid's API, please refer to the [dedicated API doumentation](https://docs.meteroid.com/api-reference/events/ingest-events). ## Import Events via CSV You can bulk import events into Meteroid by clicking **“Import CSV.”** The imported CSV file must include the following mandatory fields: * **event\_code**: This field will later be used when creating a billable metric (corresponds to the Event Code when creating a new Billable Metric). * **customer\_id**: Used to link the event to a Customer in Meteroid. The link is established through the **Alias** defined in the Customer record. 💡**Note:** You can monitor and manage batch processing at any time by consulting the Developers > Batch Jobs section. This allows you to track the progress and see if the import was successful, partially successful, or failed. # Stripe Migration Guide Source: https://docs.meteroid.com/migration/stripe-migration-guide # Migrating from Stripe Billing to Meteroid This guide outlines the technical workflow for migrating your existing customers, subscriptions, and pricing models from Stripe to Meteroid. ## Overview of Migration Steps The migration process follows a structured path to ensure data integrity and billing accuracy: 1. **Sandbox Setup**: Isolate your testing environment. 2. **Import Product & Metrics**: Mirror Stripe Products and Metrics in Meteroid. 3. **Merchant Setup**: Configure branding and tax details. 4. **Core Data Import & Payment Setup**: Move Customers, Subscriptions, and connect your gateway. 5. **Historical Backfill (optional)**: Ingest past usage to validate billing logic. 6. **Real-time Ingestion Setup**: Configure your application to send live usage data. 7. **Moving to Production**: Final delta sync and Stripe Billing deactivation. ## 1. Environment Selection Before starting the migration, ensure you are working in a **Development or Sandbox environment**. This allows you to test the ingestion of historical data and invoice generation without affecting live financial records. **Important Safety Step**: Navigate to **Settings > General** and ensure the **"Disable all email notifications"** option is enabled. This prevents Meteroid from sending automated billing or subscription emails to your customers while you are performing tests. ## 2. Modeling Pricing & Metadata Meteroid offers a module to mirror your existing Stripe **Products** and **Metrics**. For more information, please contact our support team at [**hey@meteroid.com**](#) ## 3. Configuring Invoicing Details Configure your brand and legal identity before generating any test invoices. * Navigate to **Settings > Merchant**. * Set up your tax calculation method, contact information, and invoice branding (logo, footers). ## 4. Importing Core Data & Payment Setup Use our API to migrate your customer base and their active subscriptions, and configure how you will collect payments. ### Import Customers Use the `POST /api/v1/customers` endpoint. * **Key Requirement**: Ensure the `alias` field in Meteroid matches your internal identifier or your Stripe Customer ID to maintain a clear link for event ingestion. ### Payment Integration Connect your payment provider to handle future transactions. * Navigate to **Settings > Payment Methods**. * Connect your gateway (e.g., Stripe) to allow Meteroid to trigger payments on finalized invoices. ### Import Subscriptions Use the `POST /api/v1/subscriptions` endpoint to recreate active subscriptions. * Map the Stripe subscription start dates to Meteroid to maintain billing cycle alignment. * `skip_past_invoices: false`: By setting this to `false`, Meteroid will generate invoices for previous periods. This is recommended to compare Meteroid-generated invoices against your historical Stripe invoices to verify that your pricing models are configured correctly. ## 5. Backfilling Historical Usage (Optional) To ensure continuity in reporting and verify billing accuracy, you can backfill usage data. * **Usage Ingestion**: Use `POST /api/v1/events/ingest`. * **Configuration Flags**: * `allow_backfilling: true`: Enables the ingestion of events with past timestamps. ## 6. Real-time Data & Usage Ingestion Once historical data is validated, you must configure your application to stream live events to Meteroid. * **Event Streaming**: Transition your usage tracking logic from Stripe Usage Records to Meteroid's `POST /api/v1/events` endpoint. * **Idempotency**: Use the `idempotency_key` field to prevent duplicate billing for the same event in case of network retries. * **Low Latency**: Meteroid is designed for high-frequency ingestion. Ensure your application sends events as they occur to provide customers with real-time visibility into their usage via the Customer Portal. ## 7. Moving to Production Once you have validated your data in the sandbox/dev environment: 1. **Request Production Access**: Contact your Account Manager to activate your Production environment. 2. **Deactivate Stripe Billing**: Disable the recurring billing engine in Stripe to prevent double-billing, while keeping Stripe as your payment gateway. ## Frequently Asked Questions (FAQ) **Can I run Meteroid and Stripe in parallel?** Yes. Many teams run both systems in parallel during the migration phase. You can ingest usage into both platforms to compare the resulting draft invoices. Only once you are confident in the Meteroid output should you deactivate Stripe Billing. **Will I lose access to my Stripe payment?** No. Meteroid acts as the orchestration layer (billing logic, usage calculation, and invoice generation). You can still use Stripe as your underlying payment gateway. **How long does migration take?** While customer and subscription imports take minutes, a full migration typically takes 2 weeks. This timeline includes modeling your pricing, backfilling usage for validation, and conducting a side-by-side billing comparison to ensure 100% accuracy before the final cut-over. # Create and manage quotes Source: https://docs.meteroid.com/quotes/create-and-manage-quotes ## Create a Quote To create a new Quote, go to **Billing > Quotes** and click **+ Create Quote.** Steps: 1. **Choose a Customer and a Plan.** 2. **Fill in the Quote details:** 3. **Subscription Settings:** If enabled, Meteroid will automatically create a Subscription once the Quote is signed by all the required recipients (*cf*. below). For more details (*e.g* susbcription dates, billing configuration), refer to the Creating a Subscription section. 💡 **Note**: If disabled, Account Managers can always create a subscription from a specific quote by clicking Actions > convert to subscription. 4. **Recipient(s):** Choose who should receive and sign the Quote. If you select multiple recipients, the Quote will only be considered accepted once **all recipients** have signed. Once the required fields are complete, click **Create Quote** in the upper right. * Quotes are created in **Draft** status by default. * To move the Quote to **Pending** status, click **Actions > Publish Quote.** 💡 **Note**: Publishing a Quote will not automatically send it to the Customer. To do so, click Actions > Send to Customer. By doing so, the Quote will be sent to the Customer using the Email (and not the Invoicing email). If needed, you can resend the Quote to Customers by: * Clicking **Actions > Send to Customer** * Clicking **Actions > Generate portal link** * Clicking on a given quote and copy-pasting the portal link from the Recipient section and sending it manually. Once signed by all recipients, the Quote will move to the **Accepted** status. ## Signature Meteroid provides a built-in signature feature. The recipient simply enters their name and signs in the dedicated section to validate the Quote. 💡 **Note**: Meteroid's built-in signature featrue \*\*does not have probative legal value \*\*but serves as a lightweight, easy-to-use confirmation step. 📌 **Note:** Meteroid is continuously expanding its integration library to better support your workflows. If your organization requires integration with a third-party e-signature provider that is not currently available, feel free to contact us at 👉 [**hey@meteroid.com**](https://docs.meteroid.com/integrations/general-information#) ## Manage Quotes In **Billing > Quotes**, you’ll find an overview of all created Quotes, along with their current status (Draft, Pending, Accepted). This gives your team full visibility on deal progress and pending customer actions. # Overview Source: https://docs.meteroid.com/quotes/introduction Quotes in Meteroid give your Sales team the ability to manage custom deals while keeping Finance in sync. Thanks to CPQ (Configure, Price, Quote), you can streamline the process of negotiating and closing deals without manual handovers. The benefits are twofold: * **Close custom deals faster** – Sales can configure personalized offers directly in Meteroid. * **Automated downstream process** – Once a Quote is signed, Meteroid automatically creates a Subscription, and the Customer is billed accordingly. This ensures zero friction between Sales and Finance. # Branding Source: https://docs.meteroid.com/settings/branding In the **Settings > Branding** section, you can customize how your brand appears to your Customers. Branding is configured **per invoicing entity**, so each entity can have its own logo and colors. To switch to another invoicing entity, click the double arrow in the upper right. ## Logo Upload a logo for each invoicing entity. The logo is used: * On your **invoices** * In the **Customer Portal** and the **checkout** page * In the **emails** sent to your Customers 📌 The logo must be a **PNG** or **JPEG** file, with a maximum size of **1 MB**. ## Customer Portal and Checkout You can customize the look and feel of your Customer Portal, checkout and invoice payment pages to match your brand identity: * **Theme**: `Light` or `Dark`. * **Roundness**: `Sharp`, `Modern` or `Rounded` corners. * **Accent color**: the color used for highlights and primary actions (buttons, links). Pick a color from the palette or enter a custom hex code (e.g. `#4C3A82`). An **embed preview** shows how your settings look before you save them. ## White Labelling With white labelling, you can: * Hide the **“Powered by Meteroid”** mention from your portals, checkout and emails * Remove the **“Meteroid - billing automation for SaaS”** mention at the bottom of your invoices * Serve them from **your own domain** 📌 White labelling is not enabled by default. Contact your account manager to enable it. # Custom properties Source: https://docs.meteroid.com/settings/custom-properties Custom properties let you attach your own **typed, validated fields** to Meteroid's core entities — the same idea as metadata in Stripe or custom properties in HubSpot, but strongly typed and enforced at write time. Use them to store business-specific data that Meteroid doesn't model natively, for example a customer's CRM account ID, a subscription's internal cost center, an invoice's PO approval status, or a credit note's accounting reference. You define properties once per entity type in **Settings > Custom Properties**, and every entity of that type then carries those values — visible in tables, on create/edit forms, in the API, and in webhooks. ## Supported entities Custom properties can be defined for the following entity types: * **Customer** * **Subscription** * **Invoice** * **Credit note** Each entity type has its own independent set of properties. ## Property types When you create a property you pick a type. The type drives how the value is rendered in the app and how it is validated on write. | Type | Stores | Notes | | - | - | - | | **Text** | A free-form string | Optional maximum length | | **Number** | A numeric value | Optional min / max bounds | | **Boolean** | `true` / `false` | | | **Date** | A calendar date | | | **Date & time** | A timestamp | | | **Single select** | One value from a fixed list | You configure the allowed options | | **Multi select** | Several values from a fixed list | You configure the allowed options | | **JSON** | An arbitrary JSON object | | | **URL** | A URL string | Validated as a URL | | **Email** | An email string | Validated as an email address | ## Defining a property Go to **Settings > Custom Properties** and click **New property**. Select whether the property applies to Customers, Subscriptions, Invoices or Credit notes. A property belongs to a single entity type. * **Key** — the immutable machine name used in the API and in webhook payloads (e.g. `crm_account_id`). It may only contain **letters, digits and underscores**, and must be **unique per entity type**. The key cannot be changed after creation, so pick a stable one. * **Name** — the human-friendly label shown in the app. * **Description** *(optional)* — a short note explaining what the property is for. Choose one of the [property types](#property-types). Depending on the type you can configure extra rules: * **Single / Multi select** — the list of allowed **options**. * **Number** — an optional **minimum** and **maximum**. * **Text** — an optional **maximum length**. * **Required** — when enabled, the property must be present when the entity is created or fully updated through the API. * **Default value** — pre-filled when no value is supplied. * **Display order** — controls where the property appears relative to the others. ## Filling in values Once a property is defined, it shows up automatically: * On the entity's **create and edit forms** in the app. * As a **column** in the entity's list view. * On the entity's **detail** view. 💡 **Note:** Values are validated against the definition every time they are written. Selects must match a configured option, numbers must respect their min/max, text respects its maximum length, and URL/Email values must be well-formed. A required property must be provided on full writes. Custom properties are external workflow metadata, so they stay editable throughout an entity's lifecycle — including after an invoice or credit note is finalized. This is intentional: you can keep tracking things like a tax-filing or accounting-export status on a document long after its financial content is locked. ## Using values in the API and webhooks Custom property values are exposed as a JSON object, keyed by each property's `key`, on the corresponding entity in the REST and gRPC APIs, and on the matching webhook events. For example an invoice or credit note payload carries a `custom_properties` object: ```json theme={null} { "custom_properties": { "crm_account_id": "acct_1837", "po_status": "approved" } } ``` Because values are stored in a structured, indexed way, you can also filter and segment entities by their custom property values in analytics and workflows. ## Editing and archiving definitions You can rename a property, change its description, tweak its constraints, and toggle whether it is required. The **key** and **entity type** are fixed once created. When you no longer need a property, **archive** it. Archiving stops the property from being enforced or offered on new writes, but **keeps the values already stored on existing entities**, so your history stays intact and readable. # Invoices settings Source: https://docs.meteroid.com/settings/invoices-settings The Settings > Invoices section allows you to configure key invoice-related details. By clicking "Default" (upper right) and selecting "New Invoicing Entity," you can create an additional invoicing entity. You'll need to enter: * **Name** – Used internally in Meteroid (only the name in Settings > Merchant appears on invoices sent to customers). * **Incorporation country** – Determines the default currency in which this invoicing entity will bill. You can always change the currency for a specific plan by going to Product Catalog > Currency. In Settings > Invoices, you can also update the following settings: * **Invoice number pattern** – Defines how invoice numbers appear in Billing > Invoices. * **Grace period** – The time frame before an invoice is considered finalized and officially due. * **Net terms** – The number of days customers have to pay their invoice. 📌 **Priority Rule**: If **Net Terms** are defined at the **Plan level** (in **Product Catalog > Plan**), they will override the Net Terms of the invoicing entity. Otherwise, the default Net Terms from the invoicing entity apply. * **Invoice footer** – Space for additional or legal information, which appears at the bottom of invoices. This could include: headquarters address, legal registration number, juridical status (e.g., SAS, GmbH, Ltd.), VAT number or any other compliance-required text. The footer can be written separately for each language you invoice in. * **Default invoice language** – The language documents from this invoicing entity are issued in, unless the Customer has their own preference. Meteroid supports eight languages; see [Invoice language](https://docs.meteroid.com/invoices/managing-invoices#invoice-language) for how a document's language is resolved. 📌 **Best Practice:** Write an **invoice footer for every language you invoice in**. A document renders its footer in the language it was issued in, and falls back where you haven't written one — so a missing translation means legal mentions in the wrong language. * **Structured e-invoicing** * if set as **Off — PDF only** (default): invoices are issued as a regular PDF. * if set as **Factur-X / ZUGFeRD (France, Germany)**: Meteroid embeds an EN 16931-compliant XML file inside the invoice PDF. 📌 **Note:** Draft invoices are checked against the format's requirements, and anything missing is surfaced on the draft while it can still be corrected. Generating the e-invoice never blocks the invoice itself from being issued. See [The compliance report](https://docs.meteroid.com/invoices/managing-invoices#the-compliance-report). 📌 **Note**: Need another EN 16931 format — XRechnung for German public-sector buyers, or Peppol BIS Billing 3.0 to send over the Peppol network? Tell us at 👉 [**hey@meteroid.com**](mailto:hey@meteroid.com). # Consolidating Recurring Invoices By default, Meteroid creates one invoice per Subscription. You can instead consolidate invoices by enabling "Consolidate recurring invoices" in Settings > Invoices. When enabled, Meteroid automatically groups recurring invoices from multiple Subscriptions into a single invoice, provided the Subscriptions share the same billing properties: * Customer * Invoice date * Currency * Payment method * Net terms * Auto-advance setting If any of these properties differ, separate invoices are generated. # Managing your billing details Source: https://docs.meteroid.com/settings/merchant In the **Settings > Merchant** section, you can update your billing details. Click the double arrow in the upper right to create a new invoicing entity. By default, the billing entity created during account setup will be used. You can modify all information visible on client invoices, including your legal name, address (Address Line 1 & 2, City, State, ZIP Code, Country) and VAT number. For example, your billing information will be formatted as: Acme Inc. \[Legal name] 123 Main Street \[Adress line 1] Suite 456 \[Adress line 2] Los Angeles, CA 90001 \[City, State, ZIP Code] United States \[Country] 💡 Note: * The logo of each invoicing entity is managed in **Settings > Branding** (see [Branding](/settings/branding)). * The accounting currency is the currency used to record your transactions. It is determined by your billing country and cannot be changed once set. To bill in a different currency, you must create a new invoicing entity based in the corresponding country. * You can manage **multiple invoicing entities** in Meteroid—ideal if you operate in different countries or with separate legal structures. Each entity can have its own info (tax ID, currency, and payment methods etc) enabling region-specific invoicing and compliance. To create a new invoicing entity, the button next to billing details and then click "New invoicing entity". Creating an invoicing entity in Meteroid # Supported Payment Method Source: https://docs.meteroid.com/settings/payment-methods In Meteroid, payment methods are managed at the **Invoicing Entity** level. To edit payment methods navigate Settings > Payment methods 📌 Tip: To add a new invoicing entity, navigate to **Settings > Merchant** and click **"New Invoicing Entity"**. Meteroid supports multiple payment options: * **Credit Card**: Requires connection to a supported PSP (Payment Service Provider e.g. Stripe), that can be edited in Settings > Integrations. Meteroid provides a hosted check out portal to allow End Users manage their preferred payment method, which is secruely stored by the PSP and used in future payment flows. * **Direct Debit / SEPA**: Idem Credit Card * **Bank Transfer**: You must select a bank account. If required, to add a bank account: * Click **“Add bank account”** * Fill in the required details (bank name, IBAN, BIC, etc.) 📌 **Additional Rules**: * If you **define multiple payment methods**, you can choose which one applies for a given Customer when creating a subscription (*cf*. creating a subscription section). * If credit card and direct debit are set, end users can choose their preferred method at checkout. # Security Management Source: https://docs.meteroid.com/settings/security-management 💡 **Note**: the Security Management Suite is only available on the Enterprise Plan. # MFA Policies Multi-Factor Authentication (MFA) adds an extra layer of security to your Meteroid account by requiring a one-time verification code in addition to your password when signing in. ## Enable MFA To enable MFA, navigate to Settings > Security and click Enable.Then: * Scan the QR code using your preferred authentication application (such as Google Authenticator). * Enter the verification code displayed by your authentication app. * Click Confirm to activate MFA. Once enabled, users will be required to enter both their password and a verification code generated by their authentication app each time they sign in to Meteroid. 💡 **Important**: Save your recovery code in a secure location. This code is displayed only once during the setup process and cannot be retrieved or sent again. It can be used to regain access to your account if you lose access to your authentication app. ## Disable MFA To disable MFA, go to Settings > Security, click Actions > Disable two-factor authentication, then enter your password to confirm the operation. Once disabled, users will only need their password to sign in to Meteroid. # Single Sign-On (SSO) SSO lets your team sign in with your company credentials through your OIDC identity provider (Okta, Microsoft Entra ID, Google Workspace, Auth0, or any OIDC-compliant provider). Admins configure it under Settings > Security > SSO, after verifying the organization's email domains under Settings > Security > Domains. You can also **require** SSO for your verified domains and **auto-provision** members on their first sign-in. 💡 See the full setup guide in [Single Sign-On](/settings/single-sign-on). # Role-Based Access Control (RBAC) RBAC allows you to control what each member of your organization can view and manage within Meteroid. By assigning roles with specific permissions, you can ensure that each user only has access to the features required for their responsibilities. To manage roles, navigate to Settings > Security > Roles. ## Default Roles By default, Meteroid provides two built-in roles: * **Owner** * **Member** These default roles cannot be modified or deleted. ## Creating a Custom Role To create a new role, click **New Role**. When creating a role, define: * **Role name**, for example *RevOps*, *Finance*, or *Support*. * **Permissions**, specifying which sections of Meteroid the role can access and which actions members can perform. Permissions can be configured for areas such as: * Customers * Billing * Product Catalog * Analytics * Alerts * Settings & Integrations * Members * Roles * Organization This allows you to tailor access to the responsibilities of each team/member. ## Assigning a Role Once a role has been created, it can be assigned to members of your organization. To assign or update a role, navigate to **Settings > Members**, click the **three-dot menu** next to the desired member, then select **Change role**. The new permissions take effect immediately after the role is assigned. # Security Log The Security Log provides an audit trail of security-related events that occur within your Meteroid workspace. It helps administrators monitor account activity, investigate incidents, and ensure compliance with internal security policies. To access the Security Log, navigate to Settings > Security > Security Log. The Security Log records events such as user sign-ins and authentication events (including SSO sign-ins), MFA changes, SSO and domain configuration changes, Role assignments and permission changes, member management and other security-related actions performed within the workspace For each event, Meteroid records key information such as the event type, the user who performed the action, and the date and time it occurred. # Audit Log The Audit Log provides a complete, historical trail of all actions occurring within your Meteroid tenant. To access the audit log, navigate to Settings > Audit Log. The ledger records every state change and event, identifying whether the action was performed by an administrator, or automatically. For example, the following events are tracked: * Customer Modifications: Profile creation, edits to customer details... * Invoice Lifecycle: Automated generation invoices, status changes... * Communication & Notifications: Delivery status of all system-generated and automated transactional emails sent to Customers... * Subscription Operations: Plan upgrades/downgrades, cancellations... # Single Sign-On (SSO) Source: https://docs.meteroid.com/settings/single-sign-on Let your team sign in through your organization's OIDC identity provider. Single Sign-On lets your team sign in to Meteroid with your company credentials instead of a Meteroid password. Meteroid connects to your identity provider (IdP) over **OIDC** — Okta, Microsoft Entra ID, Google Workspace, Auth0, and any OIDC-compliant provider are supported. SSO is an organization-level feature configured by **admins** under **Settings → Security → SSO**, and is available on plans that include SSO (Enterprise). Domain ownership and the identity-provider connection are managed per organization. ## How it works * You prove ownership of one or more **email domains** (for example `acme.com`) with a DNS record. * You connect your **OIDC identity provider** and attach it to those domains. * When a member signs in with an email on a verified domain, Meteroid routes them to your IdP through the standard OIDC authorization-code flow. * Optionally, you can **require** SSO for those domains and **auto-provision** members on their first sign-in. Setup has three parts: verify a domain, connect your identity provider, then enable SSO. ## Before you begin * You are an **organization admin**. * You can add a **DNS TXT record** for the domain you want to use. * You can create an **OIDC application** in your identity provider. ## Step 1 — Verify your domain Only **verified** domains route logins, so start here. Go to **Settings → Security → Domains**. Enter your organization's email domain (for example `acme.com`) and click **Add domain**. Meteroid shows a TXT record to publish at your DNS provider: | Field | Value | | - | - | | Type | `TXT` | | Name / Host | `_meteroid-challenge.` | | Value | the verification token shown in-app | Some DNS providers append the domain automatically. If yours does, enter just `_meteroid-challenge` as the name. Click **Verify domains**. DNS can take a few minutes to propagate, so if the domain is still **Pending**, wait and re-check (there's a short cooldown between checks). Once the record is found, the domain flips to **Verified**. ## Step 2 — Create the OIDC application in your identity provider In **Settings → Security → SSO**, copy the **Redirect URI** shown in-app (it ends in `/sso/callback`) — you'll register this exact value in your provider. Then create an OIDC application and collect its **Issuer URL**, **Client ID**, and **Client secret**. Create an **OAuth 2.0 Client ID** (type: *Web application*) in Google Cloud Console → **APIs & Services → Credentials**, and add the Meteroid redirect URI as an authorized redirect URI. * **Issuer:** `https://accounts.google.com` Register an app in Entra ID → **App registrations**, add the Meteroid redirect URI as a **Web** platform redirect, and create a **client secret**. * **Issuer:** `https://login.microsoftonline.com//v2.0` (replace `` with your directory/tenant ID) Create an OIDC **Web** application in Okta and add the Meteroid redirect URI as a sign-in redirect URI. * **Issuer:** `https://.okta.com` Create a **Regular Web Application** in Auth0 and add the Meteroid redirect URI to its allowed callback URLs. * **Issuer:** `https://..auth0.com` Any OIDC-compliant provider works. Create a confidential/web application, add the Meteroid redirect URI, and use your provider's **Issuer URL** — the base of its `/.well-known/openid-configuration` document. ## Step 3 — Configure the connection in Meteroid Back in **Settings → Security → SSO**, fill in the connection: * **Identity provider** — pick your provider to prefill the issuer, or choose *Other (OIDC)*. * **Issuer URL**, **Client ID**, **Client secret** — from the app you just created. * **Email domains** — the domains this provider covers, space- or comma-separated. Only domains you verified in Step 1 will route logins. Meteroid resolves the authorization, token, and userinfo endpoints automatically from the issuer's discovery document. If your provider needs them set by hand, expand **Advanced** to enter the endpoints manually and adjust the requested **scopes** (default: `openid email profile`). Click **Create connection**. New connections are always created **disabled** — you enable them in the next step. ## Step 4 — Enable SSO Once at least one attached domain is **Verified**, turn on **Enable SSO**. Members on your verified domains will now see a **Continue with SSO** option on the login screen. Test the sign-in flow with your own account before rolling SSO out to the team, and especially before requiring it. ### Require SSO (enforcement) Turn on **Require SSO** to refuse password and social sign-in for your verified domains — members on those domains must sign in through your identity provider. Enforcement disables password and social login for everyone on the verified domains. Confirm SSO works end to end first, or you risk locking your team out. ### Auto-provision members With **Auto-provision members** enabled (the default), a member account is created and added to your organization on their first successful SSO sign-in — no invite required. When a member signs in through an invite link, they join with the **role from the invite** instead of the default membership. ## How members sign in Login is email-first: 1. The member enters their email and clicks **Continue**. 2. Meteroid looks up the identity provider for that email's domain. 3. If SSO is **required** for the domain, they're sent straight to your IdP. Otherwise the password field appears alongside a **Continue with SSO** button. 4. After authenticating with your IdP, they're returned to Meteroid and signed in. ## Security log Every SSO and domain action is recorded in the **Security log** (**Settings → Security → Security log**), including SSO sign-ins, connection created/updated/removed, the requirement being turned on or off, and domains added, verified, or removed. See [Security Management](/settings/security-management#security-log). ## Managing the connection * **Edit configuration** — update the provider, endpoints, domains, or secret. Leave the client secret blank to keep the stored one. * **Remove** — deletes the connection. Members fall back to password and social sign-in, and enforcement (if on) is lifted immediately. # Managing taxes Source: https://docs.meteroid.com/settings/taxes Tax in Meteroid is configured per **Invoicing Entity**, under **Settings > Taxes**. If you use several invoicing entities, configure each one separately by switching entity with the button in the upper right corner. There are three things to set up, in this order: 1. **A method** — how tax is calculated for this entity. 2. **Tax categories** — what you sell, classified for tax purposes. 3. **Custom rates** — the rates that apply to a category, by customer location. Customer-level settings (tax status, VAT number, customer-specific rates) live on the Customer record and are covered in [Managing customers](https://docs.meteroid.com/customer/managing-customers). # Tax calculation method Under **Settings > Taxes > Tax calculation**, pick a **Method**: * **No tax** — nothing is taxed. Custom rates and customer tax status are ignored entirely. * **Manual — custom rates only** — there is no calculated VAT. Each line uses the customer's own flat rate, or a matching custom rate; otherwise it is untaxed. * **Automatic EU VAT** — Meteroid computes VAT by scenario (your domestic rate, reverse charge for intra-EU B2B, the customer's country rate for intra-EU B2C, zero-rating for exports). 📌 **Note**: **Automatic EU VAT** is available to EU-based sellers only. Non-EU sellers use manual rates. Two more settings appear once the method is anything other than **No tax**: * **Default product tax category** — used for invoice lines whose product has no tax category set. * **Require a valid tax ID for reverse charge** — when on, reverse charge is applied only after the customer's VAT number passes [VIES](https://ec.europa.eu/taxation_customs/vies/). Until it does, the customer's country standard rate applies. When off, a correctly formatted VAT number is enough. ## How tax is decided The method is the gate. When it is **No tax**, nothing is taxed. Otherwise every invoice line is resolved in the order below, and **the first match wins**: 1. **The customer is exempt or reverse-charged.** The customer's tax status wins first — a tax-exempt customer is untaxed, and intra-EU B2B reverse charge shifts the liability to them (validated by VIES when required). 2. **The product's tax category is Non-taxable.** Lines whose category is Non-taxable carry no tax, whatever the method or custom rates say. 3. **A custom rate matches the category and country.** A custom rate targeting the line's tax category, with a rule matching the customer's destination country, applies to that line. Under **Automatic EU VAT** it *replaces* the calculated VAT; under **Manual** it *sets* the tax. 4. **Otherwise, the method decides.** Manual — the customer's own flat rate applies, otherwise the line is untaxed. Automatic EU VAT — the engine computes the statutory rate for the scenario. This ladder is also available in the app, behind the **How is tax decided?** link next to the Method selector. 📌 **Note**: Custom rates match against the customer's **destination** address — their shipping address when they have one that differs from billing, their billing address otherwise. # Tax categories A **tax category** classifies *what you sell*, independently of any specific tax provider. Manage them under **Settings > Taxes > Tax categories**. Meteroid ships three built-in categories: | Category | Behaviour | | - | - | | **Digital services** | Standard-rated. Covers SaaS, software and electronically supplied services. | | **Physical goods** | Standard-rated. | | **Non-taxable / exempt** | Never yields tax, on any line, under any method. | You can add your own categories on top (for example *Streaming services*, or *Training*), optionally nested under a parent category. Built-in categories are marked **Built-in** in the table and cannot be deleted; your own show as **Custom**. ## Assigning a category to a product Open **Product Catalog > Products**, select a product, and set **Tax category** in the detail panel. Leaving it on **Entity default** means the line falls back to the invoicing entity's **Default product tax category**. If neither is set, the line is unclassified and the method alone decides its tax. # Custom rates Under **Settings > Taxes**, the section is called **Custom rates** under the Manual method and **Overrides** under Automatic EU VAT — same mechanism, different consequence: * Under **Manual**, a custom rate *defines* the tax for a category, since there is no calculated VAT to replace. * Under **Automatic EU VAT**, a custom rate *replaces* the VAT Meteroid calculated for that line. Each rate has: * **Name** — as it appears on the invoice, e.g. *French VAT*, *US sales tax*. * **Applies to** — the tax category this rate targets. It then applies to every line whose resolved category matches, rather than being wired product by product. * **Rate by customer location** — one or more rules, each with a customer country (or *any country*), an optional region, and a percentage. The most specific matching rule wins: **region beats country, country beats a rule with neither**. * **Accounting code** — the reporting code carried onto the invoice's tax breakdown, e.g. `VAT_FR`, `SALES_US`. It must be unique within your tenant. 📌 **Note**: Rules with no country act as an "everywhere" fallback for that category. If no rule matches the customer's destination, the custom rate doesn't apply and the line falls through to the method. # Customer tax status Set on each Customer record, under **Customers > Tax information** (see [Managing customers](https://docs.meteroid.com/customer/managing-customers#customer-tax-status)). **Tax status** is one of: * **Taxable** — normal taxation. This is the default. * **Exempt** — no tax applies on any line. * **Reverse charge** — the buyer accounts for the tax. This is an explicit choice, and it is *additive* to the intra-EU B2B reverse charge Meteroid already derives from the VAT number. Selecting **Exempt** or **Reverse charge** reveals an **Exemption reason** field. This free-text legal mention is printed on the customer's invoices and credit notes, and is legally required on EU exempt and reverse-charge documents. 📌 **Note**: **Tax status** is hidden when the Customer has customer-level **Custom Taxes** defined, because those rates take over the customer's taxation entirely. Meteroid supports **multiple cumulative rates per customer** — TPS and TVQ in Canada, IGST, SGST and CGST in India — so complex regional structures can be reflected accurately. # Automatic EU VAT in detail When the method is **Automatic EU VAT**, Meteroid resolves the statutory scenario from the seller's country, the customer's country, and whether the customer is a business: * A customer is treated as a **business (B2B)** when they carry a VAT number that passes format validation — and, if **Require a valid tax ID for reverse charge** is on, VIES validation as well. Without a VAT number, the customer is **B2C**. * Domestic supplies take your own country's rate. * Intra-EU B2B supplies are reverse-charged. * Intra-EU B2C supplies take the customer's country rate, subject to the EU distance-selling threshold. * Supplies outside your VAT territory are zero-rated as exports, and carry the corresponding legal mention. Meteroid EU VAT decision tree # Legal tax mentions on documents When a document carries no tax — because of reverse charge, an exemption, or a cross-border export — Meteroid prints the corresponding statutory mention automatically. You don't configure these. The mention is **selected** from the seller's tax jurisdiction and **worded** in the document's language (see [Invoice language](https://docs.meteroid.com/invoices/managing-invoices#invoice-language)). Examples of what is generated: * **Reverse charge** — *"VAT to be accounted for by the customer (Article 196 of Directive 2006/112/EC)."* * **Export, B2B** — for a French seller, *"Article 259-1° of the French General Tax Code (CGI): supply of services to a taxable person established outside the European Union (Article 44 of Directive 2006/112/EC)."* * **Export, B2C** — a different provision is cited, because it is a different rule. * **Exemption** — the headline plus the customer's own **Exemption reason**. Any EU seller gets EU VAT Directive wording. On top of that, a growing set of jurisdictions carry their own **national statute citations** and **registration-number labels** — *MWST-Nr.*, *UID-Nummer*, *NIF*, *CNPJ* rather than a generic "VAT ID" — and those are used in preference to the directive wording wherever we support them. A seller outside the EU never receives EU directive wording. 📌 **Note**: We add national wording jurisdiction by jurisdiction. If you need a specific country's statutory mentions and don't see them on your documents, tell us at 👉 [**hey@meteroid.com**](mailto:hey@meteroid.com) — it's a small, self-contained addition. Tax rows are labelled in the document's language rather than the engine's internal English label, so a German-language invoice shows *USt.* A jurisdiction whose own abbreviation differs overrides that from the seller's side: a Swiss seller invoicing in German shows *MWST*. 📌 **Note**: Meteroid makes a document *say* the right thing. It is not a substitute for country-specific issuance requirements. For example, a Portuguese seller still needs AT-certified software with an ATCUD and QR code, and a Brazilian sale is still documented by an NF-e or NFS-e issued through the state or municipal system. # VAT number validation VAT numbers entered on a Customer are checked for format, then validated against **VIES** in the background. Results are re-checked periodically, and the evidence VIES returns (request date, registered name and address) is kept alongside the customer as an audit trail for reverse-charge decisions. A pending or unavailable VIES answer is not treated as a failure. Whether it blocks reverse charge depends on the **Require a valid tax ID for reverse charge** setting on the invoicing entity. # Tenants Source: https://docs.meteroid.com/settings/tenants Meteroid allows you to manage multiple environments through Tenants. To create a new Tenant, click Tenant (upper left) > New Tenant. New tenants in Meteroid When creating a Tenant, you can choose from three types of environments: * **Production** – Your live environment, connected to real Customers and payment providers. * **Development** – A test environment to simulate your setup. You cannot connect a Stripe account in Development mode. * **Sandbox** – A pre-filled demo environment with fake data, ideal to explore how Meteroid works. In **Settings > General**, you can further personalize each Tenant’s settings: * **Company Trade Name** – This name is used within the Platform but does not appear on invoices. To update invoice details, go to Settings > Merchant. * **Tenant Name** – You can modify this field as needed. To create a new tenant, go to **Tenant > New Tenant** (upper left). * **Tenant Slug** – Customize the tenant slug name. Different tenant types (e.g., Production, Staging, Development, QA) can be created for various use cases. 💡 Only changes in Production Tenants affect End Users and financial transactions. * **Reporting Currency** – This currency is used exclusively for reporting and dashboards presented in the Reports section. It does not affect Plans & Invoices. 📌 Note: Only Customers are shared across Tenants. All other data (Plans, Subscriptions, Metrics, Invoices, etc.) is Tenant-specific and cannot be accessed across environments. # Check-out Source: https://docs.meteroid.com/subscriptions/check-out Meteroid provides a **hosted check-out page** that lets your End Users subscribe and complete purchases securely. When assigning a Subscription, you can create a checkout session—this generates a shareable public page where End Users can: * Review their subscription details (e.g., plan, pricing) * Enter their billing information * Select a payment method * Complete the purchase The checkout page is optimized for seamless payments and supports multiple payment methods, including credit cards, direct debits, and bank transfers. You can enable one or multiple methods based on your preferences in the payment settings (Settings > Payment Methods). You can customize the look and feel of your checkout session to match your brand identity and provide a consistent experience for End Users. Customization is managed directly from the **Settings > Branding** section (see [Branding](/settings/branding)). Once the Subscription is confirmed, Meteroid will automatically update the subscription status and billing information—ensuring a smooth, real-time experience for both Account Managers and End Users. 📌 Payments are processed by your chosen Payment Service Provider (PSP) and not by Meteroid. Meteroid supports integrations with providers such as Stripe to handle payment execution. # Creating a subscription Source: https://docs.meteroid.com/subscriptions/creating-a-subscription A Subscription can be created either: * manually by Account Managers directly in Meteroid * automatically on CheckOut * automatically via API (cf. API Reference) * via a csv file upload ## Creating a subscription direclty in Meteroid To create a subscription manually: * Go to Billing > Subscription and click **"+ New Subscription"**. * Choose a **Plan** from your existing Product Catalog. You can use the Pricing section to customize the pricing inherited from the Plan. 💡 **Note**: When assigning a subscription, customizing the information inherited from the Plan does not affect the original Plan. * Assign the plan to a **Customer** by selecting one from the list. * Set the **Start Date** using the **"From Date"** field. If needed, define an **End Date** with the **"To Date"** field. If no End Date is set, the Subscription will continue indefinitely until it is canceled. 💡 **Note**: If the Start Date is set in the future, the Subscription will remain in **Pending** status until that date is reached **and** the payment is successfully processed. Once these conditions are met, the Subscription will automatically move to **Active** (cf. Managing Subscriptions). When an End Date is defined, the Subscription will automatically transition to **Expired** status once that date is reached. 💡**Note**: If a Subscription is created with a start date in the past, a Skip past invoices option appears. If enabled, Meteroid will not generate invoices for past billing periods and will only consider the current billing period and future ones. This is particularly useful when migrating or importing existing Subscriptions into Meteroid, as it prevents **double invoicing Customers** for periods that have already been billed outside of Meteroid. * Choose a **Billing Cycle**: * **1st of the month**: Customers will be charged each billing period (e.g monthly) the 1st of the month. 💡**Note**: For the first Invoice, the Customer will be charged for the full month, even if they subscribed mid-month. * **Anniversary date of the Subscription**: Customers will be charged each billing period (e.g monthly) at the Subscription's anniversary date. * Configure Advanced Settings: * **Auto-Advance Invoice**: When **activated**, the invoice is first created in Draft status and automatically transitions to Finalized status at the end of the Grace Period. When deactivated, the Invoice remains in Draft status until it is manually finalized by selecting Actions > Finalize & Send. * **Charge Automatically**: When this setting is **enabled**, and if a Payment Method is configured in **Settings > Payment Methods**, Meteroid will automatically charge the Customer once the invoice is finalized. * **Purchase Order (PO)**: You can enter a PO number associated with the Subscription. This PO number will be automatically displayed on every invoice generated from that Subscription. * **Activation condition**: * **On start date**: If the start date is in the past, the subscription is created with the Active status. If the **start date is set in the future**, the subscription is created with the **Pending** status and automatically moves to **Active** once the start date is reached * **On Checkout**: The subscription is created with the **Pending** status and automatically moves to Active once the Customer completes the payment through the checkout flow * **Manual activation**: The subscription is created with the **Pending** status and **remains pending** until manually activated. To activate it, go to the subscription and click Actions > Activate Subscription * **Payment methods strategy**: * **Default**: Meteroid tries to use any online payment methods configured in **Settings > Payment Methods** for the invoicing entity (e.g., credit card, direct debit). If no online payment method is configured, a **“Pay online”** button appears on the invoice, redirecting the Customer to bank details to complete the payment manually. * **Bank transfer**: If bank account details are configured in **Settings > Payment Methods**, these details are automatically displayed on the invoice. The Customer is expected to pay using a manual bank transfer. * **External**: Payment is handled entirely outside of Meteroid. ## Creating a subscription using Meteroid's APIs To create a subscription via API, please refer to the [API documentation](https://docs.meteroid.com/api-reference/subscriptions/create-subscription). ## Creating a subscription via a csv file upload To upload Subscriptions in bulk via CSV: 1. Go to **Subscriptions > Import CSV**. 2. Upload your CSV file following Meteroid’s required structure. 📌 **Need a template?** We can provide a ready-to-use CSV template to help you format your data correctly. Simply reach out to 👉 [**hey@meteroid.com**](#) 💡**Note:** You can monitor and manage batch processing at any time by consulting the Developers > Batch Jobs section. This allows you to track the progress and see if the import was successful, partially successful, or failed. # Managing Subscriptions Source: https://docs.meteroid.com/subscriptions/managing-a-subscription ## Subscriptions Statuses To manage subscriptions in Meteroid, go to the **Billing > Subscriptions** section. Here, you’ll find all current and past subscriptions with their associated statuses: * **Pending Activation**: The subscription has a start date in the future. It is scheduled but not yet active. No billing occurs until activation. * **Pending Charge**: The subscription is awaiting payment before becoming active. Once the first payment is confirmed, the subscription is activated. * **Trial Active**: The subscription is currently in a trial period. No charges are issued during this time. * **Trial Expired**: The trial period has ended, and the Customer has not subscribed to a paid plan. * **Active**: The subscription is live. The customer is billed according to the pricing defined in the subscribed plan. This status is set automatically at the **later of** (i) the subscription’s activation date, or (ii) the payment confirmation date. It can also be set manually by Account Managers. * **Suspended**: The subscription has encountered a payment failure (e.g., unsuccessful retries via credit card or direct debit). 💡 **Note**: Meteroid does not currently enforce entitlement revocation—access is not automatically cut off—but billing retries continue. * **Cancelled**: The subscription was manually terminated and will no longer generate charges. * **Completed**: The subscription has reached its predefined end date and is now inactive. No further billing occurs. By default, customers reaching the end of a paid plan are downgraded to the Free Plan (if available). Meteroid triggers an alert to the Account Manager **one month before expiration**. This status is set **automatically**. * **Superseded**: A new subscription has replaced this one, due to a self-serve plan change (e.g., upgrade, downgrade) or Plan migration. The old subscription is marked as **superseded** and no longer billed. * **Paused** *(Coming Soon)*: This will be a manual action. A paused subscription is not billed during the pause period, and once resumed, the remaining duration continues from where it was left. For example, pausing a 12-month plan at month 3 means 9 months remain when resumed. ## Cancel a subscription You can cancel any active subscription directly from its detail view and clicking Actions > Cancel Subscription. You can choose when the cancellation should take effect: * **Immediately**: billing stops and the subscription ends right away. * **At the end of the billing period**: the subscription remains active until the current billing cycle closes * **On a specific date**: choose a future date at which the cancellation becomes effective. Once cancelled, the subscription will stop generating new invoices according to its cancellation rule. Furthermore, Meteroid follows the below rules to cancel a subscription: * If the Customer has already been invoiced for unused time a Credit Note needs to be issued by Account Managers Example: The Customer is billed on January 1st for the full month. The subscription is cancelled on January 15th. A manual credit note must be created for the unused period (Jan 15–31). * If the Customer has *not yet* been invoiced, a prorated invoice is automatically generated by Meteroid. This occurs when cancellation impacts a future billing period that has not yet been billed. Example: The Customer is billed monthly on the 1st of each month. On January 1st, the subscription is cancelled effective February 15th. On February 1st, Meteroid automatically generates a prorated invoice covering only Feb 1–15. # Updating a subscription Source: https://docs.meteroid.com/subscriptions/updating-a-subscription ## Billing Settings Updates You can update the billing settings of an existing Subscription by navigating to the desired Subscription and clicking **Actions > Edit billing settings**. From there, you can update the following elements: * **Payment method strategy:** You can change how the Customer is expected to pay (for example, credit card, direct debit, bank transfer etc). This change is reflected at the Invoice level in the Customer Portal or when sharing a payment link for example. * **Charge automatically:** If the Subscription uses an online payment method such as credit card or direct debit, you can enable or disable automatic charging. * **Auto-advance invoices:** You can control whether Invoices automatically move from **Draft** to **Finalized** after the Grace Period, or remain in Draft until manually finalized. * **Net terms:** You can update the payment due terms (for example, Net 15, Net 30). This defines the Invoice due date relative to its issuance date. * **Purchase Order number:** You can add or update the Purchase Order number associated with the Subscription. This value will be displayed on all future Invoices generated from this Subscription. ## Seats updates For subscriptions using a **seat-based pricing model**, you can update the number of seats at any time during the life of the subscription. To do so: * Go to **Subscriptions** * Select the subscription you want to modify * Click on the **⇅** icon * Add or remove seats as needed Once the number of seats has been updated, an invoice is issued 💡 **Note**: the new seat count can take effect either: * Immediately: the number of active seats is updated right away and the updated seat count is used for future invoices * After payment: The seat count will be updated only after the Customer pays the upcoming invoice. Until then, the former number of seats remains active 💡 **Note**: by clicking the 🕓 icon, you can see previous and upcoming seat change for a given subscription ## Updating a subscription from the Customer Portal End users can update their subscriptions directly from the Customer Portal. For more information, please read the [Customer Portal](/customer/customer-portal#upgrade-downgrade-their-subscriptions) section. ## Upgrading / downgrading the Plan associated to a subscription You can transition an existing subscription to a different plan directly from the Subscription section. This is useful for scaling customers up (upgrade) or down (downgrade) based on their needs. To change a plan: * Navigate to the Subscriptions section and select the specific subscription. * Click on the Actions button in the top right corner. * Select Change Plan from the dropdown menu. * Choose the new target plan from the list of available options. 💡 **Note**: You can only transition a subscription to Standard Plans. Custom Plans are not available as targets for plan change. * Choose if the upgrade / downgrade should be applied at the end of the current billing period or immediately. 💡 **Note**: If the upgrade / downgrade is applied immediately, one of the following 2 options is automatically applied: * if the end user needs to pay an additional amount, a prorated invoice is issued including credit for the former plan and charge for the new one * if the end user needs to be credited, its balance is credited of the net of the credit from the old plan and the charge for the new one. This credit balance is then used in priority to pay for future invoices. # What is a subscription? Source: https://docs.meteroid.com/subscriptions/what-is-a-subscription In Meteroid, **a subscription connects a Customer to a specific Plan**, specifying what products or services they can access and how they are charged. Subscriptions can start immediately or be scheduled to begin in the future. Similarly, cancellations can take effect instantly or be scheduled for a later date. A Customer can have one or multiple subscriptions active at the same time. As Invoices are handled at the subscription level, a Customer will receive a separate Invoice for each Subscription. Meteroid’s flexible subscription model allows you to manage different payment cadences, renewal rules, and make changes easily as your business or Customers' needs evolve.