{"id":9557,"date":"2026-04-13T07:40:19","date_gmt":"2026-04-13T07:40:19","guid":{"rendered":"https:\/\/asrrcrm.com\/stripe-bulk-usage-based-metered-billing\/?page_id=9557"},"modified":"2026-05-16T06:06:02","modified_gmt":"2026-05-16T06:06:02","slug":"faqs","status":"publish","type":"page","link":"https:\/\/asrrcrm.com\/stripe-bulk-usage-based-metered-billing\/faqs\/","title":{"rendered":"FAQs"},"content":{"rendered":"<div  class=\"tatsu-fw1yg558ck8cczm3 tatsu-section    tatsu-clearfix\" data-title=\"\"  data-headerscheme=\"background--dark\"><div class='tatsu-section-pad clearfix' data-padding='{\"d\":\"90px 0px 90px 0px\"}' data-padding-top='90px'><div class=\"tatsu-row-wrap  tatsu-wrap tatsu-row-one-col tatsu-row-has-one-cols tatsu-medium-gutter tatsu-reg-cols  tatsu-clearfix tatsu-fw1yg558jrekcnpx\" ><div  class=\"tatsu-row \" ><div  class=\"tatsu-column  tatsu-column-no-bg tatsu-one-col tatsu-column-image-none tatsu-column-effect-none  tatsu-fw1yg558r6f194e0\"  data-parallax-speed=\"0\" style=\"\"><div class=\"tatsu-column-inner \" ><div class=\"tatsu-column-pad-wrap\"><div class=\"tatsu-column-pad\" ><div  class=\"tatsu-module tatsu-inline-text clearfix tatsu-fw1yg558wh64o64v   \" ><style>.tatsu-fw1yg558wh64o64v .tatsu-inline-text-inner{width: 100%;text-align: center;}.tatsu-fw1yg558wh64o64v.tatsu-inline-text{margin: 0px 0px 15px 0px;}@media only screen and (min-width:768px) and (max-width: 1024px) {.tatsu-fw1yg558wh64o64v .tatsu-inline-text-inner{width: 100%;}}@media only screen and (max-width: 767px) {.tatsu-fw1yg558wh64o64v .tatsu-inline-text-inner{width: 100%;}}<\/style><div class=\"tatsu-inline-text-inner tatsu-align-center\">\n<h3 style=\"text-align: center;\"><span class=\"palette-1\">Frequently Asked Questions<\/span><\/h3>\n<\/div><\/div><div  class=\"tatsu-module tatsu-inline-text clearfix tatsu-Sy47aatq7   \" ><style>.tatsu-Sy47aatq7 .tatsu-inline-text-inner{width: 55%;text-align: center;}@media only screen and (min-width:768px) and (max-width: 1024px) {.tatsu-Sy47aatq7 .tatsu-inline-text-inner{width: 100%;}}@media only screen and (max-width: 767px) {.tatsu-Sy47aatq7 .tatsu-inline-text-inner{width: 100%;}}<\/style><div class=\"tatsu-inline-text-inner tatsu-align-center\">\n<p style=\"text-align: center;\"><span class=\"palette-1 \">Everything you need to know about the Stripe \u201cBulk Usage-Based Metered Billing\u201d app \u2014 from how metered billing works to advanced usage reporting scenarios. If you can\u2019t find what you\u2019re looking for, feel free to contact our support team and we\u2019ll get back to you promptly.<\/span><\/p>\n<\/div><\/div><\/div><\/div><div class = \"tatsu-column-bg-image-wrap\"><div class = \"tatsu-column-bg-image tatsu-bg-lazyload\" data-src = \"\"><\/div><\/div><\/div><style>.tatsu-row > .tatsu-fw1yg558r6f194e0.tatsu-column{width: 100%;}.tatsu-fw1yg558r6f194e0.tatsu-column > .tatsu-column-inner > .tatsu-column-overlay{mix-blend-mode: none;}.tatsu-fw1yg558r6f194e0 > .tatsu-column-inner > .tatsu-top-divider{z-index: 9999;}.tatsu-fw1yg558r6f194e0 > .tatsu-column-inner > .tatsu-bottom-divider{z-index: 9999;}.tatsu-fw1yg558r6f194e0 > .tatsu-column-inner > .tatsu-left-divider{z-index: 9999;}.tatsu-fw1yg558r6f194e0 > .tatsu-column-inner > .tatsu-right-divider{z-index: 9999;}@media only screen and (max-width:1377px) {.tatsu-row > .tatsu-fw1yg558r6f194e0.tatsu-column{width: 100%;}}@media only screen and (min-width:768px) and (max-width: 1024px) {.tatsu-row > .tatsu-fw1yg558r6f194e0.tatsu-column{width: 100%;}}@media only screen and (max-width: 767px) {.tatsu-row > .tatsu-fw1yg558r6f194e0.tatsu-column{width: 100%;}}<\/style><\/div><\/div><\/div><\/div><div class=\"tatsu-section-background-wrap\"><div class = \"tatsu-section-background tatsu-bg-lazyload\" data-src = \"\"><\/div><\/div><style>.tatsu-fw1yg558ck8cczm3.tatsu-section{background-color: rgba(84,51,255,1);}.tatsu-fw1yg558ck8cczm3 .tatsu-section-pad{padding: 90px 0px 90px 0px;}.tatsu-fw1yg558ck8cczm3 > .tatsu-bottom-divider{z-index: 9999;}.tatsu-fw1yg558ck8cczm3 > .tatsu-top-divider{z-index: 9999;}<\/style><\/div><div  class=\"tatsu-Skb3b5aY9Q tatsu-section    tatsu-clearfix\" data-title=\"\"  data-headerscheme=\"background--dark\"><div class='tatsu-section-pad clearfix' data-padding='{\"d\":\"90px 0px 90px 0px\"}' data-padding-top='90px'><div class=\"tatsu-row-wrap  tatsu-wrap tatsu-row-has-two-cols tatsu-medium-gutter tatsu-reg-cols  tatsu-clearfix tatsu-Byen-9atcQ\" ><div  class=\"tatsu-row \" ><div  class=\"tatsu-column  tatsu-column-no-bg tatsu-one-third tatsu-column-image-none tatsu-column-effect-none  tatsu-HyO75at9X\"  data-parallax-speed=\"0\" style=\"\"><div class=\"tatsu-column-inner  tatsu-column-sticky\" ><div class=\"tatsu-column-pad-wrap\"><div class=\"tatsu-column-pad\" ><div class=\"tatsu-row-wrap  tatsu-row-one-col tatsu-row-has-one-cols tatsu-medium-gutter tatsu-reg-cols tatsu-inner-row-wrap  tatsu-clearfix tatsu-HyeCh56F5X\" ><div  class=\"tatsu-row \" ><div  class=\"tatsu-column  tatsu-column-no-bg tatsu-one-col tatsu-column-image- tatsu-column-effect-  tatsu-H1C3cpY5X\"  data-parallax-speed=\"0\" style=\"\"><div class=\"tatsu-column-inner \" ><div class=\"tatsu-column-pad-wrap\"><div class=\"tatsu-column-pad\" ><div  class=\"tatsu-module tatsu-inline-text clearfix tatsu-BkMyi6F5X   \" ><style>.tatsu-BkMyi6F5X .tatsu-inline-text-inner{width: 100%;text-align: left;}.tatsu-BkMyi6F5X.tatsu-inline-text{margin: 0px 0px 15px 0px;}<\/style><div class=\"tatsu-inline-text-inner \">\n<h5><span class=\"palette-0\">1.<\/span>\u00a0 Getting Started<\/h5>\n<\/div><\/div><div  class=\"tatsu-module tatsu-inline-text clearfix tatsu-rkCbJae37   \" ><style>.tatsu-rkCbJae37 .tatsu-inline-text-inner{width: 100%;text-align: left;}.tatsu-rkCbJae37.tatsu-inline-text{margin: 0px 0px 15px 0px;}<\/style><div class=\"tatsu-inline-text-inner \">\n<h5><span class=\"palette-0\">2.<\/span>\u00a0 How Metered Billing Works<\/h5>\n<\/div><\/div><div  class=\"tatsu-module tatsu-inline-text clearfix tatsu-H1rWo6Kqm   \" ><style>.tatsu-H1rWo6Kqm .tatsu-inline-text-inner{width: 100%;text-align: left;}.tatsu-H1rWo6Kqm.tatsu-inline-text{margin: 0px 0px 15px 0px;}<\/style><div class=\"tatsu-inline-text-inner \">\n<h5><span class=\"palette-0\">3.<\/span>\u00a0 Module 1 \u2014 Creating Metered Subscriptions<\/h5>\n<\/div><\/div><div  class=\"tatsu-module tatsu-inline-text clearfix tatsu-ryD-oaKqQ   \" ><style>.tatsu-ryD-oaKqQ .tatsu-inline-text-inner{width: 100%;text-align: left;}.tatsu-ryD-oaKqQ.tatsu-inline-text{margin: 0px 0px 15px 0px;}<\/style><div class=\"tatsu-inline-text-inner \">\n<h5><span class=\"palette-0\">4.<\/span>\u00a0 Module 2 \u2014 Uploading Usage Events<\/h5>\n<\/div><\/div><div  class=\"tatsu-module tatsu-inline-text clearfix tatsu-HybdREyRC   \" ><style>.tatsu-HybdREyRC .tatsu-inline-text-inner{width: 100%;text-align: left;}.tatsu-HybdREyRC.tatsu-inline-text{margin: 0px 0px 15px 0px;}<\/style><div class=\"tatsu-inline-text-inner \">\n<h5><span class=\"palette-0\">5.<\/span>\u00a0 Failures & Re-Processing<\/h5>\n<\/div><\/div><div  class=\"tatsu-module tatsu-inline-text clearfix tatsu-H1SaIl9nbl   \" ><style>.tatsu-H1SaIl9nbl .tatsu-inline-text-inner{width: 100%;text-align: left;}.tatsu-H1SaIl9nbl.tatsu-inline-text{margin: 0px 0px 15px 0px;}<\/style><div class=\"tatsu-inline-text-inner \">\n<h5><span class=\"palette-0\">6.<\/span>\u00a0 Invoices, Tax & Customisation<\/h5>\n<\/div><\/div><div  class=\"tatsu-module tatsu-inline-text clearfix tatsu-SkZ6ATqO-g   \" ><style>.tatsu-SkZ6ATqO-g .tatsu-inline-text-inner{width: 100%;text-align: left;}.tatsu-SkZ6ATqO-g.tatsu-inline-text{margin: 0px 0px 15px 0px;}<\/style><div class=\"tatsu-inline-text-inner \">\n<h5><span class=\"palette-0\">7.<\/span>\u00a0 Support & Feedback<\/h5>\n<\/div><\/div><\/div><\/div><div class = \"tatsu-column-bg-image-wrap\"><div class = \"tatsu-column-bg-image tatsu-bg-lazyload\" data-src = \"\"><\/div><\/div><\/div><style>.tatsu-row > .tatsu-H1C3cpY5X.tatsu-column{width: 100%;}.tatsu-H1C3cpY5X.tatsu-column > .tatsu-column-inner > .tatsu-column-pad-wrap > .tatsu-column-pad{padding: 45px 35px 45px 35px;}.tatsu-H1C3cpY5X.tatsu-column > .tatsu-column-inner{border-width: 2px 2px 2px 2px;border-color: rgba(241,241,241,1); }.tatsu-H1C3cpY5X.tatsu-column > .tatsu-column-inner > .tatsu-column-overlay{mix-blend-mode: none;}.tatsu-H1C3cpY5X > .tatsu-column-inner > .tatsu-top-divider{z-index: 9999;}.tatsu-H1C3cpY5X > .tatsu-column-inner > .tatsu-bottom-divider{z-index: 9999;}.tatsu-H1C3cpY5X > .tatsu-column-inner > .tatsu-left-divider{z-index: 9999;}.tatsu-H1C3cpY5X > .tatsu-column-inner > .tatsu-right-divider{z-index: 9999;}@media only screen and (max-width:1377px) {.tatsu-row > .tatsu-H1C3cpY5X.tatsu-column{width: 100%;}}@media only screen and (min-width:768px) and (max-width: 1024px) {.tatsu-row > .tatsu-H1C3cpY5X.tatsu-column{width: 100%;}.tatsu-H1C3cpY5X.tatsu-column > .tatsu-column-inner > .tatsu-column-pad-wrap > .tatsu-column-pad{padding: 45px 20px 45px 20px;}}@media only screen and (max-width: 767px) {.tatsu-row > .tatsu-H1C3cpY5X.tatsu-column{width: 100%;}}<\/style><\/div><\/div><\/div><div class=\"tatsu-row-wrap  tatsu-row-one-col tatsu-row-has-one-cols tatsu-medium-gutter tatsu-reg-cols tatsu-inner-row-wrap  tatsu-clearfix tatsu-SJ-JKRFcQ\" ><div  class=\"tatsu-row \" ><div  class=\"tatsu-column  tatsu-bg-overlay tatsu-one-col tatsu-column-image- tatsu-column-effect-  tatsu-HylZktAK9X\"  data-parallax-speed=\"0\" style=\"\"><div class=\"tatsu-column-inner \" ><div class=\"tatsu-column-pad-wrap\"><div class=\"tatsu-column-pad\" ><div  class=\"tatsu-module tatsu-inline-text clearfix tatsu-rJAxt0Y9Q   \" ><style>.tatsu-rJAxt0Y9Q .tatsu-inline-text-inner{width: 100%;text-align: left;}.tatsu-rJAxt0Y9Q.tatsu-inline-text{margin: 0px 0px 20px 0px;}<\/style><div class=\"tatsu-inline-text-inner \">\n<h4><span class=\"palette-1\">Have a question? Talk to support<\/span><\/h4>\n<\/div><\/div><div  class=\"tatsu-module tatsu-normal-button tatsu-button-wrap   tatsu-HJOVY0Y9X button-scale  \"><a class=\"tatsu-shortcode smallbtn tatsu-button left-icon rounded   bg-animation-none  \" href=\"https:\/\/asrrcrm.com\/stripe-bulk-usage-based-metered-billing\/contact-support\/\" style= \"\"  aria-label=\"Contact Support\" data-gdpr-atts={} >Contact Support<\/a><style>.tatsu-HJOVY0Y9X .tatsu-button{background-color: #ffffff;color: rgba(84,51,255,1) ;border-width: 2px;border-color: #ffffff; }.tatsu-HJOVY0Y9X .tatsu-button:hover{background-color: rgba(84,51,255,1);color: #ffffff ;border-color: #ffffff; }<\/style><\/div><\/div><\/div><div class = \"tatsu-column-bg-image-wrap\"><div class = \"tatsu-column-bg-image tatsu-bg-lazyload\" data-src = \"\"><\/div><\/div><div class=\"tatsu-overlay tatsu-column-overlay tatsu-animate-none\" ><\/div><\/div><style>.tatsu-row > .tatsu-HylZktAK9X.tatsu-column{width: 100%;}.tatsu-HylZktAK9X.tatsu-column > .tatsu-column-inner{background-color: rgba(84,51,255,1);border-width: 1px 1px 1px 1px;border-color: rgba(232,232,232,1); }.tatsu-HylZktAK9X.tatsu-column > .tatsu-column-inner > .tatsu-column-pad-wrap > .tatsu-column-pad{padding: 45px 35px 45px 35px;}.tatsu-HylZktAK9X.tatsu-column > .tatsu-column-inner > .tatsu-column-overlay{mix-blend-mode: normal;}.tatsu-HylZktAK9X > .tatsu-column-inner > .tatsu-top-divider{z-index: 9999;}.tatsu-HylZktAK9X > .tatsu-column-inner > .tatsu-bottom-divider{z-index: 9999;}.tatsu-HylZktAK9X > .tatsu-column-inner > .tatsu-left-divider{z-index: 9999;}.tatsu-HylZktAK9X > .tatsu-column-inner > .tatsu-right-divider{z-index: 9999;}@media only screen and (max-width:1377px) {.tatsu-row > .tatsu-HylZktAK9X.tatsu-column{width: 100%;}}@media only screen and (min-width:768px) and (max-width: 1024px) {.tatsu-row > .tatsu-HylZktAK9X.tatsu-column{width: 100%;}}@media only screen and (max-width: 767px) {.tatsu-row > .tatsu-HylZktAK9X.tatsu-column{width: 100%;}}<\/style><\/div><\/div><\/div><\/div><\/div><div class = \"tatsu-column-bg-image-wrap\"><div class = \"tatsu-column-bg-image tatsu-bg-lazyload\" data-src = \"\"><\/div><\/div><\/div><style>.tatsu-row > .tatsu-HyO75at9X.tatsu-column{width: 33.33%;}.tatsu-HyO75at9X.tatsu-column > .tatsu-column-inner > .tatsu-column-overlay{mix-blend-mode: none;}.tatsu-HyO75at9X > .tatsu-column-inner > .tatsu-top-divider{z-index: 9999;}.tatsu-HyO75at9X > .tatsu-column-inner > .tatsu-bottom-divider{z-index: 9999;}.tatsu-HyO75at9X > .tatsu-column-inner > .tatsu-left-divider{z-index: 9999;}.tatsu-HyO75at9X > .tatsu-column-inner > .tatsu-right-divider{z-index: 9999;}@media only screen and (max-width:1377px) {.tatsu-row > .tatsu-HyO75at9X.tatsu-column{width: 33.33%;}}@media only screen and (min-width:768px) and (max-width: 1024px) {.tatsu-row > .tatsu-HyO75at9X.tatsu-column{width: 40%;}}@media only screen and (max-width: 767px) {.tatsu-row > .tatsu-HyO75at9X.tatsu-column{width: 100%;}}<\/style><\/div><div  class=\"tatsu-column  tatsu-column-no-bg tatsu-two-third tatsu-column-image-none tatsu-column-effect-none  tatsu-Syld79pK9m\"  data-parallax-speed=\"0\" style=\"\"><div class=\"tatsu-column-inner \" ><div class=\"tatsu-column-pad-wrap\"><div class=\"tatsu-column-pad\" ><div class=\"tatsu-row-wrap  tatsu-row-one-col tatsu-row-has-one-cols tatsu-medium-gutter tatsu-reg-cols tatsu-inner-row-wrap  tatsu-clearfix tatsu-HyH__TATC\" ><div  class=\"tatsu-row \" ><div  class=\"tatsu-column  tatsu-column-no-bg tatsu-one-col tatsu-column-image- tatsu-column-effect-  tatsu-HyxrO_TR6R\"  data-parallax-speed=\"0\" style=\"\"><div class=\"tatsu-column-inner \" ><div class=\"tatsu-column-pad-wrap\"><div class=\"tatsu-column-pad\" ><div  class=\"tatsu-module tatsu-inline-text clearfix tatsu-HkFHu_p0pR   \" ><style>.tatsu-HkFHu_p0pR .tatsu-inline-text-inner{width: 100%;text-align: left;}.tatsu-HkFHu_p0pR.tatsu-inline-text{margin: 0px 0px 15px 0px;}<\/style><div class=\"tatsu-inline-text-inner \">\n<h4>1. Getting Started<\/h4>\n<\/div><\/div><div  class=\"tatsu-module tatsu-accordion tatsu-accordion-style2 tatsu-SyzD5a7cnWl   \"  ><style>.tatsu-SyzD5a7cnWl .accordion-content.ui-accordion-content{border-color: #CACACA; }.tatsu-SyzD5a7cnWl .accordion-head.ui-accordion-header{border-color: #CACACA; }.tatsu-SyzD5a7cnWl.tatsu-module{margin: 0 0 60px 0;}<\/style><div data-collapsed=\"0\" class = \"tatsu-accordion-inner\"><h3 class=\"accordion-head h5\">How do I log in or create an account?<span class = \"tatsu-accordion-expand\"><\/span><\/h3><div class = \"accordion-content body\" ><div class = \"accordion-content-inner \">\n<p>There is <strong>no manual registration or login required<\/strong>. Simply install the app from the Stripe Marketplace and open it inside your Stripe Dashboard. Your account is created <strong>automatically<\/strong> using your Stripe account details \u2014 your Stripe Account ID, name, email, and company name are used to set everything up instantly. From the app, click <strong>\u201cVisit WebApp\u201d<\/strong> and you will be logged in automatically every time. You cannot access the WebApp directly from a browser without going through the Stripe Dashboard first.<\/p>\n<\/div><\/div><h3 class=\"accordion-head h5\">What do I need to set up in Stripe before using this app?<span class = \"tatsu-accordion-expand\"><\/span><\/h3><div class = \"accordion-content body\" ><div class = \"accordion-content-inner \">\n<p>Before creating metered subscriptions (Module 1), you need: <strong>(1)<\/strong> Your customers already created in Stripe (use the Stripe Bulk Customer Importer if needed). <strong>(2)<\/strong> A Stripe Meter created in your Stripe Dashboard under Billing \u2192 Meters. <strong>(3)<\/strong> A recurring Price with usage_type=metered and the meter attached. For Module 2 (usage events), you additionally need your customers to already have active metered subscriptions using the correct metered price. Without an active subscription, usage events are recorded but never invoiced.<\/p>\n<\/div><\/div><h3 class=\"accordion-head h5\">Where do I find the Price ID and Meter Event Name in Stripe?<span class = \"tatsu-accordion-expand\"><\/span><\/h3><div class = \"accordion-content body\" ><div class = \"accordion-content-inner \">\n<p><strong>Price ID<\/strong> \u2014 go to Stripe Dashboard \u2192 Products \u2192 click a product \u2192 scroll to the Prices section. The Price ID starts with <code>price_<\/code>. Make sure you select a price with <code>usage_type = metered<\/code> and a Stripe Meter attached. <strong>Meter Event Name<\/strong> \u2014 go to Stripe Dashboard \u2192 Billing \u2192 Meters \u2192 click a meter. The event_name field shows the exact string to use in your file \u2014 e.g. <code>api_requests<\/code>. The Meter_Event_Name in your file must match this exactly, including case and underscores.<\/p>\n<\/div><\/div><\/div><\/div><\/div><\/div><div class = \"tatsu-column-bg-image-wrap\"><div class = \"tatsu-column-bg-image tatsu-bg-lazyload\" data-src = \"\"><\/div><\/div><\/div><style>.tatsu-row > .tatsu-HyxrO_TR6R.tatsu-column{width: 100%;}.tatsu-HyxrO_TR6R.tatsu-column > .tatsu-column-inner > .tatsu-column-overlay{mix-blend-mode: none;}.tatsu-HyxrO_TR6R > .tatsu-column-inner > .tatsu-top-divider{z-index: 9999;}.tatsu-HyxrO_TR6R > .tatsu-column-inner > .tatsu-bottom-divider{z-index: 9999;}.tatsu-HyxrO_TR6R > .tatsu-column-inner > .tatsu-left-divider{z-index: 9999;}.tatsu-HyxrO_TR6R > .tatsu-column-inner > .tatsu-right-divider{z-index: 9999;}@media only screen and (max-width:1377px) {.tatsu-row > .tatsu-HyxrO_TR6R.tatsu-column{width: 100%;}}@media only screen and (min-width:768px) and (max-width: 1024px) {.tatsu-row > .tatsu-HyxrO_TR6R.tatsu-column{width: 100%;}}@media only screen and (max-width: 767px) {.tatsu-row > .tatsu-HyxrO_TR6R.tatsu-column{width: 100%;}}<\/style><\/div><\/div><\/div><div class=\"tatsu-row-wrap  tatsu-row-one-col tatsu-row-has-one-cols tatsu-medium-gutter tatsu-reg-cols tatsu-inner-row-wrap  tatsu-clearfix tatsu-By79kN93Wx\" ><div  class=\"tatsu-row \" ><div  class=\"tatsu-column  tatsu-column-no-bg tatsu-one-col tatsu-column-image- tatsu-column-effect-  tatsu-BJlmqJE5nbx\"  data-parallax-speed=\"0\" style=\"\"><div class=\"tatsu-column-inner \" ><div class=\"tatsu-column-pad-wrap\"><div class=\"tatsu-column-pad\" ><div  class=\"tatsu-module tatsu-inline-text clearfix tatsu-B1W7ck4c3-g   \" ><style>.tatsu-B1W7ck4c3-g .tatsu-inline-text-inner{width: 100%;text-align: left;}.tatsu-B1W7ck4c3-g.tatsu-inline-text{margin: 0px 0px 15px 0px;}<\/style><div class=\"tatsu-inline-text-inner \">\n<h4>2. How Metered Billing Works<\/h4>\n<\/div><\/div><div  class=\"tatsu-module tatsu-accordion tatsu-accordion-style2 tatsu-S1f75yN9hbx   \"  ><style>.tatsu-S1f75yN9hbx .accordion-content.ui-accordion-content{border-color: #CACACA; }.tatsu-S1f75yN9hbx .accordion-head.ui-accordion-header{border-color: #CACACA; }.tatsu-S1f75yN9hbx.tatsu-module{margin: 0 0 60px 0;}<\/style><div data-collapsed=\"1\" class = \"tatsu-accordion-inner\"><h3 class=\"accordion-head h5\">When does Stripe charge customers \u2014 at subscription creation or at cycle end?<span class = \"tatsu-accordion-expand\"><\/span><\/h3><div class = \"accordion-content body\" ><div class = \"accordion-content-inner \">\n<p><strong>At the end of the billing cycle \u2014 never at creation.<\/strong> Unlike fixed-price subscriptions, metered subscriptions never generate a charge when they are created. The billing cycle begins when the subscription is activated, usage events accumulate throughout the cycle, and Stripe generates the invoice only at cycle end. At that point, Stripe either automatically charges the customer\u2019s saved payment method (<code>charge_automatically<\/code>) or emails an invoice for manual payment (<code>send_invoice<\/code>) depending on the Collection_Method you set. The only exception is if you set a <strong>Setup_Fee<\/strong> \u2014 that fee is charged immediately at subscription creation, before any usage is reported.<\/p>\n<\/div><\/div><h3 class=\"accordion-head h5\">Do usage events charge customers immediately when I upload them?<span class = \"tatsu-accordion-expand\"><\/span><\/h3><div class = \"accordion-content body\" ><div class = \"accordion-content-inner \">\n<p>No \u2014 usage events never cause immediate charges. When you upload usage events via Module 2, this app creates Billing Meter Events in Stripe. These events are recorded against the customer\u2019s meter and accumulate throughout the billing cycle. No invoice is generated and no charge occurs when usage is reported. At the end of the billing cycle, Stripe automatically totals all accumulated usage, calculates the amount based on the metered price, and either charges or invoices the customer \u2014 depending on their subscription\u2019s collection method.<\/p>\n<\/div><\/div><h3 class=\"accordion-head h5\">Can I report usage for the same customer multiple times in the same billing cycle?<span class = \"tatsu-accordion-expand\"><\/span><\/h3><div class = \"accordion-content body\" ><div class = \"accordion-content-inner \">\n<p>Yes \u2014 and this is the normal pattern for usage-based billing. You can upload usage events for the same customer and the same meter multiple times during a billing cycle. Stripe accumulates all events. For example, if your price is $0.01 per unit and you upload 500 units on the 5th and 300 units on the 20th, Stripe bills 800 \u00d7 $0.01 = $8.00 at cycle end. You can run Module 2 daily, weekly, or any frequency that matches your internal usage data generation \u2014 Stripe handles the aggregation automatically.<\/p>\n<\/div><\/div><h3 class=\"accordion-head h5\">What happens if a customer has no active metered subscription when I upload usage?<span class = \"tatsu-accordion-expand\"><\/span><\/h3><div class = \"accordion-content body\" ><div class = \"accordion-content-inner \">\n<p>Stripe will still record the usage event against the meter, but <strong>the usage will never be invoiced<\/strong>. Without an active subscription using a metered price connected to that meter, there is no billing relationship to generate an invoice from. Always ensure customers have an active metered subscription (created via Module 1 or directly in Stripe) before uploading usage events for them. The app validates the file format but cannot verify live subscription status during upload \u2014 check the WebApp after import to review any Stripe API errors returned.<\/p>\n<\/div><\/div><h3 class=\"accordion-head h5\">Does metered billing work with both monthly and annual billing cycles?<span class = \"tatsu-accordion-expand\"><\/span><\/h3><div class = \"accordion-content body\" ><div class = \"accordion-content-inner \">\n<p>Yes. The billing frequency is determined by the <strong>Price ID<\/strong> \u2014 if the price is set to monthly in Stripe, usage accumulates for one month and is billed monthly. If it\u2019s annual, usage accumulates for a year and is billed annually. You can mix different billing cycles across rows in the same file. You can also report usage multiple times per cycle regardless of the cycle length \u2014 Stripe aggregates everything until the cycle ends.<\/p>\n<\/div><\/div><\/div><\/div><\/div><\/div><div class = \"tatsu-column-bg-image-wrap\"><div class = \"tatsu-column-bg-image tatsu-bg-lazyload\" data-src = \"\"><\/div><\/div><\/div><style>.tatsu-row > .tatsu-BJlmqJE5nbx.tatsu-column{width: 100%;}.tatsu-BJlmqJE5nbx.tatsu-column > .tatsu-column-inner > .tatsu-column-overlay{mix-blend-mode: none;}.tatsu-BJlmqJE5nbx > .tatsu-column-inner > .tatsu-top-divider{z-index: 9999;}.tatsu-BJlmqJE5nbx > .tatsu-column-inner > .tatsu-bottom-divider{z-index: 9999;}.tatsu-BJlmqJE5nbx > .tatsu-column-inner > .tatsu-left-divider{z-index: 9999;}.tatsu-BJlmqJE5nbx > .tatsu-column-inner > .tatsu-right-divider{z-index: 9999;}@media only screen and (max-width:1377px) {.tatsu-row > .tatsu-BJlmqJE5nbx.tatsu-column{width: 100%;}}@media only screen and (min-width:768px) and (max-width: 1024px) {.tatsu-row > .tatsu-BJlmqJE5nbx.tatsu-column{width: 100%;}}@media only screen and (max-width: 767px) {.tatsu-row > .tatsu-BJlmqJE5nbx.tatsu-column{width: 100%;}}<\/style><\/div><\/div><\/div><div class=\"tatsu-row-wrap  tatsu-row-one-col tatsu-row-has-one-cols tatsu-medium-gutter tatsu-reg-cols tatsu-inner-row-wrap  tatsu-clearfix tatsu-SyuHWVch-l\" ><div  class=\"tatsu-row \" ><div  class=\"tatsu-column  tatsu-column-no-bg tatsu-one-col tatsu-column-image- tatsu-column-effect-  tatsu-SJguH-V5hZe\"  data-parallax-speed=\"0\" style=\"\"><div class=\"tatsu-column-inner \" ><div class=\"tatsu-column-pad-wrap\"><div class=\"tatsu-column-pad\" ><div  class=\"tatsu-module tatsu-inline-text clearfix tatsu-H1bOS-Ecnbg   \" ><style>.tatsu-H1bOS-Ecnbg .tatsu-inline-text-inner{width: 100%;text-align: left;}.tatsu-H1bOS-Ecnbg.tatsu-inline-text{margin: 0px 0px 15px 0px;}<\/style><div class=\"tatsu-inline-text-inner \">\n<h4>3. Module 1 \u2014 Creating Metered Subscriptions<\/h4>\n<\/div><\/div><div  class=\"tatsu-module tatsu-accordion tatsu-accordion-style2 tatsu-Byzdr-Vc3Zg   \"  ><style>.tatsu-Byzdr-Vc3Zg .accordion-content.ui-accordion-content{border-color: #CACACA; }.tatsu-Byzdr-Vc3Zg .accordion-head.ui-accordion-header{border-color: #CACACA; }.tatsu-Byzdr-Vc3Zg.tatsu-module{margin: 0 0 60px 0;}<\/style><div data-collapsed=\"1\" class = \"tatsu-accordion-inner\"><h3 class=\"accordion-head h5\">Do I need to create a subscription if my customers already have one?<span class = \"tatsu-accordion-expand\"><\/span><\/h3><div class = \"accordion-content body\" ><div class = \"accordion-content-inner \">\n<p>No \u2014 and this is important to understand. <strong>Module 1 is only for customers who do not yet have an active metered subscription.<\/strong> If a customer already has an active metered subscription in Stripe, you do not need to create another one. Creating a duplicate subscription will result in the customer being billed twice. Use Module 2 to report usage for customers with existing subscriptions. Module 1 and Module 2 are independent workflows designed to be used at different stages of the customer lifecycle.<\/p>\n<\/div><\/div><h3 class=\"accordion-head h5\">How does the trial period work with metered billing?<span class = \"tatsu-accordion-expand\"><\/span><\/h3><div class = \"accordion-content body\" ><div class = \"accordion-content-inner \">\n<p>When a trial is set via the <strong>Trial_Days<\/strong> field, the subscription becomes active immediately but billing is deferred until the trial ends. Usage events CAN be recorded during the trial period and will accumulate on the meter \u2014 but they will <strong>not be billed until the trial ends and the first billing cycle completes<\/strong>. After the trial expires, the billing cycle begins and all accumulated usage is included in the first invoice. This lets you offer free usage during a trial while still tracking consumption accurately from day one.<\/p>\n<\/div><\/div><h3 class=\"accordion-head h5\">How does backdating work and when would I use it?<span class = \"tatsu-accordion-expand\"><\/span><\/h3><div class = \"accordion-content body\" ><div class = \"accordion-content-inner \">\n<p>Use <strong>Backdate_Start_Date<\/strong> when a customer started using your service before their subscription was formally created in Stripe. By backdating, Stripe captures all usage events reported since that past date and includes them in the first invoice. This is especially powerful in metered billing \u2014 you can report historical usage events for a customer and then create a backdated subscription to capture them all in the first billing cycle. The app automatically applies <code>proration_behavior: none<\/code> internally when backdating to prevent unexpected proration charges.<\/p>\n<\/div><\/div><h3 class=\"accordion-head h5\">Why would I add a Setup Fee to a metered subscription?<span class = \"tatsu-accordion-expand\"><\/span><\/h3><div class = \"accordion-content body\" ><div class = \"accordion-content-inner \">\n<p>This is optional and depends on your requirements. Metered subscriptions never charge anything at creation \u2014 the first charge only happens at billing cycle end. For many businesses this creates a cash flow problem or makes new customers feel like nothing was activated. A <strong>Setup Fee<\/strong> charges a one-time amount immediately at subscription creation \u2014 before any usage is reported or billed. Use it for onboarding fees, platform access fees, account activation charges, or any cost you want to recover upfront. The currency is automatically detected from the Price ID. Different amounts can be set per customer row.<\/p>\n<\/div><\/div><h3 class=\"accordion-head h5\">How does automatic payment renewal work after subscriptions are created?<span class = \"tatsu-accordion-expand\"><\/span><\/h3><div class = \"accordion-content body\" ><div class = \"accordion-content-inner \">\n<p>When you set a <strong>Payment_Method_ID<\/strong>, the app sets it as the default payment method at the <strong>subscription level<\/strong>. At the end of every billing cycle, Stripe automatically charges that specific payment method for the accumulated usage amount \u2014 no manual action needed for any subsequent billing cycle. The customer\u2019s other saved payment methods in Stripe are not affected. If a payment fails, Stripe\u2019s built-in dunning and retry logic handles it automatically.<\/p>\n<\/div><\/div><\/div><\/div><\/div><\/div><div class = \"tatsu-column-bg-image-wrap\"><div class = \"tatsu-column-bg-image tatsu-bg-lazyload\" data-src = \"\"><\/div><\/div><\/div><style>.tatsu-row > .tatsu-SJguH-V5hZe.tatsu-column{width: 100%;}.tatsu-SJguH-V5hZe.tatsu-column > .tatsu-column-inner > .tatsu-column-overlay{mix-blend-mode: none;}.tatsu-SJguH-V5hZe > .tatsu-column-inner > .tatsu-top-divider{z-index: 9999;}.tatsu-SJguH-V5hZe > .tatsu-column-inner > .tatsu-bottom-divider{z-index: 9999;}.tatsu-SJguH-V5hZe > .tatsu-column-inner > .tatsu-left-divider{z-index: 9999;}.tatsu-SJguH-V5hZe > .tatsu-column-inner > .tatsu-right-divider{z-index: 9999;}@media only screen and (max-width:1377px) {.tatsu-row > .tatsu-SJguH-V5hZe.tatsu-column{width: 100%;}}@media only screen and (min-width:768px) and (max-width: 1024px) {.tatsu-row > .tatsu-SJguH-V5hZe.tatsu-column{width: 100%;}}@media only screen and (max-width: 767px) {.tatsu-row > .tatsu-SJguH-V5hZe.tatsu-column{width: 100%;}}<\/style><\/div><\/div><\/div><div class=\"tatsu-row-wrap  tatsu-row-one-col tatsu-row-has-one-cols tatsu-medium-gutter tatsu-reg-cols tatsu-inner-row-wrap  tatsu-clearfix tatsu-rJYcf45h-e\" ><div  class=\"tatsu-row \" ><div  class=\"tatsu-column  tatsu-column-no-bg tatsu-one-col tatsu-column-image- tatsu-column-effect-  tatsu-SyeK5fV9nbl\"  data-parallax-speed=\"0\" style=\"\"><div class=\"tatsu-column-inner \" ><div class=\"tatsu-column-pad-wrap\"><div class=\"tatsu-column-pad\" ><div  class=\"tatsu-module tatsu-inline-text clearfix tatsu-SkZFcG45hZx   \" ><style>.tatsu-SkZFcG45hZx .tatsu-inline-text-inner{width: 100%;text-align: left;}.tatsu-SkZFcG45hZx.tatsu-inline-text{margin: 0px 0px 15px 0px;}<\/style><div class=\"tatsu-inline-text-inner \">\n<h4>4. Module 2 \u2014 Uploading Usage Events<\/h4>\n<\/div><\/div><div  class=\"tatsu-module tatsu-accordion tatsu-accordion-style2 tatsu-HkzYqGE52Zg   \"  ><style>.tatsu-HkzYqGE52Zg .accordion-content.ui-accordion-content{border-color: #CACACA; }.tatsu-HkzYqGE52Zg .accordion-head.ui-accordion-header{border-color: #CACACA; }.tatsu-HkzYqGE52Zg.tatsu-module{margin: 0 0 60px 0;}<\/style><div data-collapsed=\"1\" class = \"tatsu-accordion-inner\"><h3 class=\"accordion-head h5\">Can I report usage for multiple different meters in the same file?<span class = \"tatsu-accordion-expand\"><\/span><\/h3><div class = \"accordion-content body\" ><div class = \"accordion-content-inner \">\n<p>Yes \u2014 each row specifies its own <strong>Meter_Event_Name<\/strong>, so you can mix different meters in a single file upload. For example, row 1 could report <code>api_requests<\/code> for customer A, row 2 could report <code>tokens_used<\/code> for customer B, and row 3 could report <code>storage_gb<\/code> for customer A. Each event is routed to the correct meter independently. This means you can report your entire customer base across all your usage metrics in one upload.<\/p>\n<\/div><\/div><h3 class=\"accordion-head h5\">What format does the Meter_Event_Name need to be in?<span class = \"tatsu-accordion-expand\"><\/span><\/h3><div class = \"accordion-content body\" ><div class = \"accordion-content-inner \">\n<p>The <strong>Meter_Event_Name<\/strong> must match exactly the <code>event_name<\/code> configured on the Stripe Meter in your Dashboard \u2014 it is case-sensitive. The format allows only lowercase letters, digits, and underscores. No spaces, no uppercase, no hyphens, no special characters. Examples: <code>api_requests<\/code>, <code>tokens_used<\/code>, <code>emails_sent<\/code>, <code>storage_gb<\/code>. The app validates the format during file upload \u2014 but cannot verify whether the meter name exists in your Stripe account until the import runs. If the event_name does not match an existing meter, Stripe returns an error for that row which is logged in your WebApp.<\/p>\n<\/div><\/div><h3 class=\"accordion-head h5\">What happens if I accidentally upload the same usage file twice?<span class = \"tatsu-accordion-expand\"><\/span><\/h3><div class = \"accordion-content body\" ><div class = \"accordion-content-inner \">\n<p>Each Stripe API call in this app uses a <strong>unique idempotency key<\/strong> based on the row ID, customer ID, and meter event name. This means if you upload and run the same file again \u2014 whether by accident or because the app was interrupted and resumed \u2014 <strong>already-processed rows are never re-submitted to Stripe<\/strong>. The app tracks which rows have been successfully processed and skips them on retry. Idempotency protection is applied at both the app level (row tracking) and the Stripe API level (idempotency keys), providing two layers of protection against duplicate usage events.<\/p>\n<\/div><\/div><h3 class=\"accordion-head h5\">What is the maximum Usage_Quantity I can report per event?<span class = \"tatsu-accordion-expand\"><\/span><\/h3><div class = \"accordion-content body\" ><div class = \"accordion-content-inner \">\n<p>The maximum value accepted is <strong>2,147,483,647<\/strong> (the maximum value of a 32-bit integer). Practically, this is more than enough for any usage quantity per single event. If your actual usage for a customer in a period exceeds this, split it across multiple rows in the same file. The <strong>Usage_Quantity must be a positive whole number<\/strong> \u2014 decimals (e.g. 1.5) and zero are not accepted. Stripe meters count whole units only. If your usage data is fractional, round up before uploading.<\/p>\n<\/div><\/div><\/div><\/div><\/div><\/div><div class = \"tatsu-column-bg-image-wrap\"><div class = \"tatsu-column-bg-image tatsu-bg-lazyload\" data-src = \"\"><\/div><\/div><\/div><style>.tatsu-row > .tatsu-SyeK5fV9nbl.tatsu-column{width: 100%;}.tatsu-SyeK5fV9nbl.tatsu-column > .tatsu-column-inner > .tatsu-column-overlay{mix-blend-mode: none;}.tatsu-SyeK5fV9nbl > .tatsu-column-inner > .tatsu-top-divider{z-index: 9999;}.tatsu-SyeK5fV9nbl > .tatsu-column-inner > .tatsu-bottom-divider{z-index: 9999;}.tatsu-SyeK5fV9nbl > .tatsu-column-inner > .tatsu-left-divider{z-index: 9999;}.tatsu-SyeK5fV9nbl > .tatsu-column-inner > .tatsu-right-divider{z-index: 9999;}@media only screen and (max-width:1377px) {.tatsu-row > .tatsu-SyeK5fV9nbl.tatsu-column{width: 100%;}}@media only screen and (min-width:768px) and (max-width: 1024px) {.tatsu-row > .tatsu-SyeK5fV9nbl.tatsu-column{width: 100%;}}@media only screen and (max-width: 767px) {.tatsu-row > .tatsu-SyeK5fV9nbl.tatsu-column{width: 100%;}}<\/style><\/div><\/div><\/div><div class=\"tatsu-row-wrap  tatsu-row-one-col tatsu-row-has-one-cols tatsu-medium-gutter tatsu-reg-cols tatsu-inner-row-wrap  tatsu-clearfix tatsu-H1jNVE9hbx\" ><div  class=\"tatsu-row \" ><div  class=\"tatsu-column  tatsu-column-no-bg tatsu-one-col tatsu-column-image- tatsu-column-effect-  tatsu-ryeoENVc3Zx\"  data-parallax-speed=\"0\" style=\"\"><div class=\"tatsu-column-inner \" ><div class=\"tatsu-column-pad-wrap\"><div class=\"tatsu-column-pad\" ><div  class=\"tatsu-module tatsu-inline-text clearfix tatsu-HkZsNNN52Wx   \" ><style>.tatsu-HkZsNNN52Wx .tatsu-inline-text-inner{width: 100%;text-align: left;}.tatsu-HkZsNNN52Wx.tatsu-inline-text{margin: 0px 0px 15px 0px;}<\/style><div class=\"tatsu-inline-text-inner \">\n<h4>5. Failures & Re-Processing<\/h4>\n<\/div><\/div><div  class=\"tatsu-module tatsu-accordion tatsu-accordion-style2 tatsu-rkziVEN5hbg   \"  ><style>.tatsu-rkziVEN5hbg .accordion-content.ui-accordion-content{border-color: #CACACA; }.tatsu-rkziVEN5hbg .accordion-head.ui-accordion-header{border-color: #CACACA; }.tatsu-rkziVEN5hbg.tatsu-module{margin: 0 0 60px 0;}<\/style><div data-collapsed=\"1\" class = \"tatsu-accordion-inner\"><h3 class=\"accordion-head h5\">What happens if a subscription fails to create or a usage event fails to report?<span class = \"tatsu-accordion-expand\"><\/span><\/h3><div class = \"accordion-content body\" ><div class = \"accordion-content-inner \">\n<p>Failed rows are logged in the WebApp with the <strong>exact error message returned by Stripe<\/strong> \u2014 so you know precisely what went wrong for each row. The import continues processing all remaining rows \u2014 one failure does not stop the entire batch. You can review all failed records in the WebApp, fix the underlying issue (e.g. incorrect meter name, expired payment method, missing subscription), and re-process just the failed rows without re-uploading or re-validating the entire file.<\/p>\n<\/div><\/div><h3 class=\"accordion-head h5\">What if my internet disconnects mid-import?<span class = \"tatsu-accordion-expand\"><\/span><\/h3><div class = \"accordion-content body\" ><div class = \"accordion-content-inner \">\n<p>The app is designed to handle interruptions safely. When you re-open the Stripe app after a disconnection, you do not need to re-upload your file. Simply click the relevant fetch button in the Stripe app to reload your existing file data, and then start the import again. The app automatically resumes from where it stopped \u2014 rows that were already successfully processed are skipped. Idempotency keys ensure that nothing is created or reported twice, even if the same row is encountered again during resumption.<\/p>\n<\/div><\/div><h3 class=\"accordion-head h5\">Is there a limit to how many rows I can process at once?<span class = \"tatsu-accordion-expand\"><\/span><\/h3><div class = \"accordion-content body\" ><div class = \"accordion-content-inner \">\n<p>There is no hard technical limit on file size \u2014 the app processes rows in batches with real-time progress tracking, so large imports of hundreds or thousands of rows are handled reliably without timeouts or browser memory issues.<\/p>\n<\/div><\/div><\/div><\/div><\/div><\/div><div class = \"tatsu-column-bg-image-wrap\"><div class = \"tatsu-column-bg-image tatsu-bg-lazyload\" data-src = \"\"><\/div><\/div><\/div><style>.tatsu-row > .tatsu-ryeoENVc3Zx.tatsu-column{width: 100%;}.tatsu-ryeoENVc3Zx.tatsu-column > .tatsu-column-inner > .tatsu-column-overlay{mix-blend-mode: none;}.tatsu-ryeoENVc3Zx > .tatsu-column-inner > .tatsu-top-divider{z-index: 9999;}.tatsu-ryeoENVc3Zx > .tatsu-column-inner > .tatsu-bottom-divider{z-index: 9999;}.tatsu-ryeoENVc3Zx > .tatsu-column-inner > .tatsu-left-divider{z-index: 9999;}.tatsu-ryeoENVc3Zx > .tatsu-column-inner > .tatsu-right-divider{z-index: 9999;}@media only screen and (max-width:1377px) {.tatsu-row > .tatsu-ryeoENVc3Zx.tatsu-column{width: 100%;}}@media only screen and (min-width:768px) and (max-width: 1024px) {.tatsu-row > .tatsu-ryeoENVc3Zx.tatsu-column{width: 100%;}}@media only screen and (max-width: 767px) {.tatsu-row > .tatsu-ryeoENVc3Zx.tatsu-column{width: 100%;}}<\/style><\/div><\/div><\/div><div class=\"tatsu-row-wrap  tatsu-row-one-col tatsu-row-has-one-cols tatsu-medium-gutter tatsu-reg-cols tatsu-inner-row-wrap  tatsu-clearfix tatsu-Bk4ZHE53-l\" ><div  class=\"tatsu-row \" ><div  class=\"tatsu-column  tatsu-column-no-bg tatsu-one-col tatsu-column-image- tatsu-column-effect-  tatsu-HkxVbBNc3Zx\"  data-parallax-speed=\"0\" style=\"\"><div class=\"tatsu-column-inner \" ><div class=\"tatsu-column-pad-wrap\"><div class=\"tatsu-column-pad\" ><div  class=\"tatsu-module tatsu-inline-text clearfix tatsu-SJ-N-BEc3-l   \" ><style>.tatsu-SJ-N-BEc3-l .tatsu-inline-text-inner{width: 100%;text-align: left;}.tatsu-SJ-N-BEc3-l.tatsu-inline-text{margin: 0px 0px 15px 0px;}<\/style><div class=\"tatsu-inline-text-inner \">\n<h4>6. Invoices, Tax & Customisation<\/h4>\n<\/div><\/div><div  class=\"tatsu-module tatsu-accordion tatsu-accordion-style2 tatsu-ByzVWBNq3-g   \"  ><style>.tatsu-ByzVWBNq3-g .accordion-content.ui-accordion-content{border-color: #CACACA; }.tatsu-ByzVWBNq3-g .accordion-head.ui-accordion-header{border-color: #CACACA; }.tatsu-ByzVWBNq3-g.tatsu-module{margin: 0 0 60px 0;}<\/style><div data-collapsed=\"1\" class = \"tatsu-accordion-inner\"><h3 class=\"accordion-head h5\">How do coupons work with metered billing across billing cycles?<span class = \"tatsu-accordion-expand\"><\/span><\/h3><div class = \"accordion-content body\" ><div class = \"accordion-content-inner \">\n<p>Coupons work automatically on every usage invoice generated at the end of each billing cycle. The discount behaviour depends on the coupon\u2019s <strong>duration<\/strong> setting configured in your Stripe Dashboard: <strong>once<\/strong> \u2014 applies to the first usage invoice only, then removed automatically. <strong>repeating<\/strong> \u2014 applies for a set number of billing cycles, then removed. <strong>forever<\/strong> \u2014 applies to every usage invoice for the lifetime of the subscription. Your app passes the coupon ID \u2014 Stripe handles the duration and expiry automatically. No re-application is needed each cycle.<\/p>\n<\/div><\/div><h3 class=\"accordion-head h5\">Does the app support Stripe Tax, VAT, GST, and customer tax IDs?<span class = \"tatsu-accordion-expand\"><\/span><\/h3><div class = \"accordion-content body\" ><div class = \"accordion-content-inner \">\n<p>Yes \u2014 full tax support is included in Module 1. You can enable <strong>Stripe Tax automatic calculation<\/strong> per row (requires Stripe Tax to be configured in your Dashboard first). Alternatively, apply manual <strong>Tax Rate IDs<\/strong> (<code>txr_<\/code>) for fixed rates \u2014 both cannot be used together and validation catches this. For B2B invoicing compliance, you can display your business tax registration number (<strong>Account_Tax_Ids<\/strong>) and your customer\u2019s own VAT\/GST\/ABN\/EIN (<strong>Customer_Tax_IDs<\/strong>) directly on usage invoice PDFs \u2014 supporting compliance across any country.<\/p>\n<\/div><\/div><h3 class=\"accordion-head h5\">What is the difference between Invoice Memo, Custom Fields, and Metadata?<span class = \"tatsu-accordion-expand\"><\/span><\/h3><div class = \"accordion-content body\" ><div class = \"accordion-content-inner \">\n<p><strong>Invoice Memo<\/strong> \u2014 free-text note shown on every usage invoice PDF and email your customer receives each billing cycle. Good for usage summaries, billing period references, or thank-you messages.<\/p>\n<p><strong>Custom Fields<\/strong> \u2014 structured key:value pairs shown in a table on every usage invoice PDF. Visible to customers. Use for PO numbers, project codes, contract references. Maximum <strong>4 fields<\/strong> per invoice.<\/p>\n<p><strong>Metadata<\/strong> \u2014 internal key:value data attached to the subscription in Stripe. <strong>Never visible to customers.<\/strong> Only visible to you in the Stripe Dashboard and API. Use for CRM IDs, sales rep names, account codes, or any internal reference. Up to 50 keys.<\/p>\n<\/div><\/div><h3 class=\"accordion-head h5\">Can I apply different billing settings to different customers in the same file?<span class = \"tatsu-accordion-expand\"><\/span><\/h3><div class = \"accordion-content body\" ><div class = \"accordion-content-inner \">\n<p>Yes \u2014 every row in your file is completely independent. One customer can have a 14-day trial with a $99 setup fee and charge_automatically, while the next can have send_invoice with 30 days to pay and a 20% discount coupon. Different tax rates, different billing cycle anchors, different cancellation rules, different metadata \u2014 all fully per-customer, all from a single file upload. There is no requirement for any field to be consistent across rows.<\/p>\n<\/div><\/div><\/div><\/div><\/div><\/div><div class = \"tatsu-column-bg-image-wrap\"><div class = \"tatsu-column-bg-image tatsu-bg-lazyload\" data-src = \"\"><\/div><\/div><\/div><style>.tatsu-row > .tatsu-HkxVbBNc3Zx.tatsu-column{width: 100%;}.tatsu-HkxVbBNc3Zx.tatsu-column > .tatsu-column-inner > .tatsu-column-overlay{mix-blend-mode: none;}.tatsu-HkxVbBNc3Zx > .tatsu-column-inner > .tatsu-top-divider{z-index: 9999;}.tatsu-HkxVbBNc3Zx > .tatsu-column-inner > .tatsu-bottom-divider{z-index: 9999;}.tatsu-HkxVbBNc3Zx > .tatsu-column-inner > .tatsu-left-divider{z-index: 9999;}.tatsu-HkxVbBNc3Zx > .tatsu-column-inner > .tatsu-right-divider{z-index: 9999;}@media only screen and (max-width:1377px) {.tatsu-row > .tatsu-HkxVbBNc3Zx.tatsu-column{width: 100%;}}@media only screen and (min-width:768px) and (max-width: 1024px) {.tatsu-row > .tatsu-HkxVbBNc3Zx.tatsu-column{width: 100%;}}@media only screen and (max-width: 767px) {.tatsu-row > .tatsu-HkxVbBNc3Zx.tatsu-column{width: 100%;}}<\/style><\/div><\/div><\/div><div class=\"tatsu-row-wrap  tatsu-row-one-col tatsu-row-has-one-cols tatsu-medium-gutter tatsu-reg-cols tatsu-inner-row-wrap  tatsu-clearfix tatsu-Hkfc84cnWg\" ><div  class=\"tatsu-row \" ><div  class=\"tatsu-column  tatsu-column-no-bg tatsu-one-col tatsu-column-image- tatsu-column-effect-  tatsu-H1eGcIN92We\"  data-parallax-speed=\"0\" style=\"\"><div class=\"tatsu-column-inner \" ><div class=\"tatsu-column-pad-wrap\"><div class=\"tatsu-column-pad\" ><div  class=\"tatsu-module tatsu-inline-text clearfix tatsu-S1-fqUN9n-e   \" ><style>.tatsu-S1-fqUN9n-e .tatsu-inline-text-inner{width: 100%;text-align: left;}.tatsu-S1-fqUN9n-e.tatsu-inline-text{margin: 0px 0px 15px 0px;}<\/style><div class=\"tatsu-inline-text-inner \">\n<h4>7. Support & Feedback<\/h4>\n<\/div><\/div><div  class=\"tatsu-module tatsu-accordion tatsu-accordion-style2 tatsu-rJGzq8Eq3Wx   \"  ><style>.tatsu-rJGzq8Eq3Wx .accordion-content.ui-accordion-content{border-color: #CACACA; }.tatsu-rJGzq8Eq3Wx .accordion-head.ui-accordion-header{border-color: #CACACA; }.tatsu-rJGzq8Eq3Wx.tatsu-module{margin: 0 0 60px 0;}<\/style><div data-collapsed=\"1\" class = \"tatsu-accordion-inner\"><h3 class=\"accordion-head h5\">How do I contact support if I need help?<span class = \"tatsu-accordion-expand\"><\/span><\/h3><div class = \"accordion-content body\" ><div class = \"accordion-content-inner \">\n<p>You can reach our support team directly from the Stripe app dashboard and WebApp. You can also visit our <a href=\"https:\/\/asrrcrm.com\/stripe-bulk-usage-based-metered-billing\/contact-support\/\" target=\"_blank\" rel=\"noopener\"><strong>Contact Support<\/strong><\/a> page or email us at <a href=\"mailto:support@asrrcrm.com\">support@asrrcrm.com<\/a>. We aim to respond to all support requests within 48 hours. For faster resolution, please include your Stripe Account ID, a description of the issue, and the row number or customer ID if the issue is related to a specific record.<\/p>\n<\/div><\/div><h3 class=\"accordion-head h5\">How do I report a bug or technical issue?<span class = \"tatsu-accordion-expand\"><\/span><\/h3><div class = \"accordion-content body\" ><div class = \"accordion-content-inner \">\n<p>We take bug reports seriously and fix issues as quickly as possible. Visit our <a href=\"https:\/\/asrrcrm.com\/stripe-bulk-usage-based-metered-billing\/report-bug\/\" target=\"_blank\" rel=\"noopener\"><strong>Bug Report<\/strong><\/a> page or email us at <a href=\"mailto:support@asrrcrm.com\">support@asrrcrm.com<\/a>. Please include as much detail as possible \u2014 what you were doing, what you expected, what actually happened, and any error messages. Screenshots or a copy of your file (with sensitive data removed) are very helpful.<\/p>\n<\/div><\/div><h3 class=\"accordion-head h5\">Can I suggest a new feature or improvement?<span class = \"tatsu-accordion-expand\"><\/span><\/h3><div class = \"accordion-content body\" ><div class = \"accordion-content-inner \">\n<p>Absolutely \u2014 we love hearing from our users and feature suggestions directly shape our roadmap. Visit our <a href=\"https:\/\/asrrcrm.com\/stripe-bulk-usage-based-metered-billing\/contact-support\/\" target=\"_blank\" rel=\"noopener\"><strong>Contact Support<\/strong><\/a> page or email us at <a href=\"mailto:support@asrrcrm.com\">support@asrrcrm.com<\/a> with your suggestion. Describe what you would like to see and how it would help your workflow. Popular and frequently requested features are prioritised for upcoming releases. Every suggestion is read and considered by our team.<\/p>\n<\/div><\/div><h3 class=\"accordion-head h5\">How do I leave a review or share my experience?<span class = \"tatsu-accordion-expand\"><\/span><\/h3><div class = \"accordion-content body\" ><div class = \"accordion-content-inner \">\n<p>We would love to hear about your experience. Submit your review on our <a href=\"https:\/\/asrrcrm.com\/stripe-bulk-usage-based-metered-billing\/submit-a-review\/\" target=\"_blank\" rel=\"noopener\"><strong>Submit a Review<\/strong><\/a> page or email us at <a href=\"mailto:support@asrrcrm.com\">support@asrrcrm.com<\/a>. Your honest feedback helps other businesses discover and trust the app. If something did not go as expected, please reach out to our support team first \u2014 we would love the opportunity to make it right before you leave your feedback.<\/p>\n<\/div><\/div><\/div><\/div><\/div><\/div><div class = \"tatsu-column-bg-image-wrap\"><div class = \"tatsu-column-bg-image tatsu-bg-lazyload\" data-src = \"\"><\/div><\/div><\/div><style>.tatsu-row > .tatsu-H1eGcIN92We.tatsu-column{width: 100%;}.tatsu-H1eGcIN92We.tatsu-column > .tatsu-column-inner > .tatsu-column-overlay{mix-blend-mode: none;}.tatsu-H1eGcIN92We > .tatsu-column-inner > .tatsu-top-divider{z-index: 9999;}.tatsu-H1eGcIN92We > .tatsu-column-inner > .tatsu-bottom-divider{z-index: 9999;}.tatsu-H1eGcIN92We > .tatsu-column-inner > .tatsu-left-divider{z-index: 9999;}.tatsu-H1eGcIN92We > .tatsu-column-inner > .tatsu-right-divider{z-index: 9999;}@media only screen and (max-width:1377px) {.tatsu-row > .tatsu-H1eGcIN92We.tatsu-column{width: 100%;}}@media only screen and (min-width:768px) and (max-width: 1024px) {.tatsu-row > .tatsu-H1eGcIN92We.tatsu-column{width: 100%;}}@media only screen and (max-width: 767px) {.tatsu-row > .tatsu-H1eGcIN92We.tatsu-column{width: 100%;}}<\/style><\/div><\/div><\/div><\/div><\/div><div class = \"tatsu-column-bg-image-wrap\"><div class = \"tatsu-column-bg-image tatsu-bg-lazyload\" data-src = \"\"><\/div><\/div><\/div><style>.tatsu-row > .tatsu-Syld79pK9m.tatsu-column{width: 66.67%;}.tatsu-Syld79pK9m.tatsu-column > .tatsu-column-inner > .tatsu-column-overlay{mix-blend-mode: none;}.tatsu-Syld79pK9m > .tatsu-column-inner > .tatsu-top-divider{z-index: 9999;}.tatsu-Syld79pK9m > .tatsu-column-inner > .tatsu-bottom-divider{z-index: 9999;}.tatsu-Syld79pK9m > .tatsu-column-inner > .tatsu-left-divider{z-index: 9999;}.tatsu-Syld79pK9m > .tatsu-column-inner > .tatsu-right-divider{z-index: 9999;}@media only screen and (max-width:1377px) {.tatsu-row > .tatsu-Syld79pK9m.tatsu-column{width: 66.67%;}}@media only screen and (min-width:768px) and (max-width: 1024px) {.tatsu-row > .tatsu-Syld79pK9m.tatsu-column{width: 60%;}}@media only screen and (max-width: 767px) {.tatsu-row > .tatsu-Syld79pK9m.tatsu-column{width: 100%;}}<\/style><\/div><\/div><\/div><\/div><div class=\"tatsu-section-background-wrap\"><div class = \"tatsu-section-background tatsu-bg-lazyload\" data-src = \"\"><\/div><\/div><style>.tatsu-Skb3b5aY9Q .tatsu-section-pad{padding: 90px 0px 90px 0px;}.tatsu-Skb3b5aY9Q > .tatsu-bottom-divider{z-index: 9999;}.tatsu-Skb3b5aY9Q > .tatsu-top-divider{z-index: 9999;}<\/style><\/div>\n","protected":false},"excerpt":{"rendered":"<p><a href=\"https:\/\/asrrcrm.com\/stripe-bulk-usage-based-metered-billing\/faqs\/\" class=\"exp-read-more exp-read-more-dots\">&#8230;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"class_list":["post-9557","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/asrrcrm.com\/stripe-bulk-usage-based-metered-billing\/wp-json\/wp\/v2\/pages\/9557","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/asrrcrm.com\/stripe-bulk-usage-based-metered-billing\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/asrrcrm.com\/stripe-bulk-usage-based-metered-billing\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/asrrcrm.com\/stripe-bulk-usage-based-metered-billing\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/asrrcrm.com\/stripe-bulk-usage-based-metered-billing\/wp-json\/wp\/v2\/comments?post=9557"}],"version-history":[{"count":18,"href":"https:\/\/asrrcrm.com\/stripe-bulk-usage-based-metered-billing\/wp-json\/wp\/v2\/pages\/9557\/revisions"}],"predecessor-version":[{"id":9929,"href":"https:\/\/asrrcrm.com\/stripe-bulk-usage-based-metered-billing\/wp-json\/wp\/v2\/pages\/9557\/revisions\/9929"}],"wp:attachment":[{"href":"https:\/\/asrrcrm.com\/stripe-bulk-usage-based-metered-billing\/wp-json\/wp\/v2\/media?parent=9557"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}