[{"data":1,"prerenderedAt":593},["ShallowReactive",2],{"repo-tree":3,"repo-\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fbilling_invoice":283},[4,7,10,13,16,19,22,25,28,31,34,37,40,43,46,49,52,55,58,61,64,67,69,72,75,78,81,84,86,88,90,93,96,99,102,105,108,111,114,117,120,123,125,127,129,131,133,135,138,141,143,146,149,152,155,158,161,164,167,169,172,175,178,180,183,186,189,192,195,198,201,203,206,209,212,215,218,221,224,227,230,233,236,239,242,245,248,251,254,257,260,263,266,269,272,275,278,281],{"path":5,"title":6},"\u002Fagents\u002Fbackend-code-style","Backend Conventions",{"path":8,"title":9},"\u002Fagents\u002Fdatabase","Database",{"path":11,"title":12},"\u002Fagents\u002Fportal-code-style","Portal Conventions",{"path":14,"title":15},"\u002Fagents\u002Ftranslation","Translation",{"path":17,"title":18},"\u002Fconventions\u002Fbackend-coding","Backend coding conventions",{"path":20,"title":21},"\u002Fconventions\u002Ffrontend-coding","Frontend coding conventions",{"path":23,"title":24},"\u002Fdevelopment-process","Development process",{"path":26,"title":27},"\u002Flearning-api-preview-hetzner-setup","Learning API Preview on Hetzner + Cloudflare",{"path":29,"title":30},"\u002Flearning-api-preview-vm-plan","Learning API Preview VM Plan",{"path":32,"title":33},"\u002Fmonorepo-structure","Monorepo structure",{"path":35,"title":36},"\u002Foperations","Operations — bugs and support",{"path":38,"title":39},"\u002Fpostmortems\u002F2026-03-16_onboarding-currency-regression","Onboarding Zod transform silently broken — web signups assigned wrong checkout currency",{"path":41,"title":42},"\u002Fpostmortems\u002Freadme","Postmortems",{"path":44,"title":45},"\u002Fpostmortems\u002F_template","TEMPLATE",{"path":47,"title":48},"\u002Fpostmortems\u002Fposthog-comparison","Postmortem practice — comparison with PostHog",{"path":50,"title":51},"\u002Fpreview-environment-plan","Preview Environment Plan",{"path":53,"title":54},"\u002Fprinciples","Engineering principles",{"path":56,"title":57},"\u002Fworking-with-ai","Working with AI",{"path":59,"title":60},"\u002F.claude\u002Fskills\u002Feval-playground\u002Fskill","Eval Playground — Co-development Skill",{"path":62,"title":63},"\u002F.claude\u002Fskills\u002Ffigma-diff-section\u002Fskill","Figma Diff Section Pipeline",{"path":65,"title":66},"\u002Fagents","AGENTS.md",{"path":68,"title":66},"\u002Fclaude",{"path":70,"title":71},"\u002Freadme","Studyflash",{"path":73,"title":74},"\u002Fapps\u002Fcore-api\u002Fagents","Core API (apps\u002Fcore-api)",{"path":76,"title":77},"\u002Fapps\u002Fcore-api\u002Freadme","README",{"path":79,"title":80},"\u002Fapps\u002Femail-previews\u002Fagents","Email Previews (apps\u002Femail-previews)",{"path":82,"title":83},"\u002Fapps\u002Flanding-page\u002Fagents","Landing Page (apps\u002Flanding-page)",{"path":85,"title":83},"\u002Fapps\u002Flanding-page\u002Fclaude",{"path":87,"title":66},"\u002Fapps\u002Flearning-api\u002Fagents",{"path":89,"title":77},"\u002Fapps\u002Flearning-api\u002Freadme",{"path":91,"title":92},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Feval_metrics_design","Surface-Specific Eval Metrics Design",{"path":94,"title":95},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Ftest_set","Quiz Eval Test Set",{"path":97,"title":98},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Ffrontend\u002Freadme","React + TypeScript + Vite",{"path":100,"title":101},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Fknown-issues\u002Fcontent-pillar-shallow-coverage\u002Freadme","Content pillar misses subtopics in dense documents",{"path":103,"title":104},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Fknown-issues\u002Fdocling-empty-section-headers\u002Freadme","Empty section headers dropped by docling chunker",{"path":106,"title":107},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Fknown-issues\u002Fdocling-table-reading-order\u002Freadme","Table\u002Fbox layout causes wrong reading order",{"path":109,"title":110},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Fmetrics\u002Freadme","Quiz eval metrics — canonical rubrics",{"path":112,"title":113},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Freports\u002F2026-04-12-quiz-summary-feedback-current-state","Quiz and Summary Feedback Current State",{"path":115,"title":116},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Freports\u002F2026-04-24-quiz-eval-metrics","Quiz Evaluation Metrics",{"path":118,"title":119},"\u002Fapps\u002Flearning-api\u002Fevals-playground\u002Freports\u002F2026-05-01-quiz-eval-current-state","Quiz Eval Current State",{"path":121,"title":122},"\u002Fapps\u002Flearning-api\u002Fmonitoring\u002Freadme","Monitoring Stack",{"path":124,"title":77},"\u002Fapps\u002Flearning-api\u002Fshared\u002Freadme",{"path":126,"title":77},"\u002Fapps\u002Flearning-api\u002Fworkers\u002Flearning_agents\u002Fflashcard_agent\u002Freadme",{"path":128,"title":77},"\u002Fapps\u002Flearning-api\u002Fworkers\u002Flearning_agents\u002Fingestion_agent\u002Freadme",{"path":130,"title":77},"\u002Fapps\u002Flearning-api\u002Fworkers\u002Flearning_agents\u002Fquiz_agent\u002Freadme",{"path":132,"title":77},"\u002Fapps\u002Flearning-api\u002Fworkers\u002Flearning_agents\u002Fsummary_agent\u002Freadme",{"path":134,"title":77},"\u002Fapps\u002Flearning-api\u002Fworkers\u002Fparser\u002Freadme",{"path":136,"title":137},"\u002Fapps\u002Fmarketing-emails-preview\u002Fagents","Marketing Emails Preview (apps\u002Fmarketing-emails-preview)",{"path":139,"title":140},"\u002Fapps\u002Fmobile-app\u002Fagents","StudyFlash Mobile App - Claude Code Configuration",{"path":142,"title":140},"\u002Fapps\u002Fmobile-app\u002Fclaude",{"path":144,"title":145},"\u002Fapps\u002Fmountain-max\u002Fagents","Mountain Max (apps\u002Fmountain-max)",{"path":147,"title":148},"\u002Fapps\u002Fmountain-max\u002Fgame\u002Freadme","Mountain Max Game",{"path":150,"title":151},"\u002Fapps\u002Fportal\u002Fagents","Portal (apps\u002Fportal)",{"path":153,"title":154},"\u002Fapps\u002Fportal\u002Freadme","Nuxt Minimal Starter",{"path":156,"title":157},"\u002Fapps\u002Fportal\u002Fapp\u002Fcomposables\u002Ffiles\u002Freadme","File Upload Composables",{"path":159,"title":160},"\u002Fapps\u002Fportal\u002Fdocs\u002Flibrary-routing","Library Routing Documentation",{"path":162,"title":163},"\u002Fapps\u002Fsupabase\u002Fagents","Supabase (apps\u002Fsupabase)",{"path":165,"title":166},"\u002Fapps\u002Fwrapped\u002Fagents","Wrapped (apps\u002Fwrapped)",{"path":168,"title":98},"\u002Fapps\u002Fwrapped\u002Freadme",{"path":170,"title":171},"\u002Finfra\u002Freadme","infra\u002F",{"path":173,"title":174},"\u002Finfra\u002Fdns\u002Freadme","DNS Infrastructure",{"path":176,"title":177},"\u002Finfra\u002Fdokploy\u002Freadme","studyflash-dokploy",{"path":179,"title":77},"\u002Finfra\u002Fdokploy\u002Fsdk\u002Fnodejs\u002Freadme",{"path":181,"title":182},"\u002Finfra\u002Finfisical\u002Freadme","Infisical Infrastructure",{"path":184,"title":185},"\u002Finfra\u002Flearning-api\u002Freadme","Pulumi GCP TypeScript Template",{"path":187,"title":188},"\u002Finfra\u002Fopenreplay\u002Freadme","OpenReplay on Hetzner",{"path":190,"title":191},"\u002Finfra\u002Fscripts\u002Freadme","infra\u002Fscripts\u002F",{"path":193,"title":194},"\u002Finfra\u002Fturborepo-cache\u002Freadme","Turborepo Remote Cache Infrastructure",{"path":196,"title":197},"\u002Finternal\u002Fchatwoot\u002Freadme","Chatwoot Infrastructure",{"path":199,"title":200},"\u002Finternal\u002Fchatwoot\u002Fprovider\u002Freadme","studyflash-chatwoot-provider",{"path":202,"title":77},"\u002Finternal\u002Fchatwoot\u002Fprovider\u002Fsdk\u002Fnodejs\u002Freadme",{"path":204,"title":205},"\u002Finternal\u002Fdocs\u002Freadme","internal\u002Fdocs",{"path":207,"title":208},"\u002Finternal\u002Fsupport-bot\u002Fclaude","Support Bot (Maximilian)",{"path":210,"title":211},"\u002Finternal\u002Fsupport-bot\u002Freadme","Studyflash Customer Support Bot (Maximilian)",{"path":213,"title":214},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Faccount_issues","Account Issues",{"path":216,"title":217},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fbilling_invoice","Billing Invoice",{"path":219,"title":220},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fcontent_upload","Content Upload",{"path":222,"title":223},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fdata_loss","Data Loss",{"path":225,"title":226},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fflashcard_issues","Flashcard Issues",{"path":228,"title":229},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fgarbage","Garbage",{"path":231,"title":232},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fgeneral_how_to","General How To",{"path":234,"title":235},"\u002Finternal\u002Fsupport-bot\u002Fkb","Knowledge Base Index",{"path":237,"title":238},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Flanguage_issues","Language Issues",{"path":240,"title":241},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fmindmap_issues","Mindmap Issues",{"path":243,"title":244},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fmisunderstanding","Misunderstanding",{"path":246,"title":247},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fmock_exam_issues","Mock Exam Issues",{"path":249,"title":250},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fpodcast_issues","Podcast Issues",{"path":252,"title":253},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fquiz_issues","Quiz Issues",{"path":255,"title":256},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Frefund_request","Refund Request",{"path":258,"title":259},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fsubscription_cancellation","Subscription Cancellation",{"path":261,"title":262},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fsubscription_info","Subscription Info",{"path":264,"title":265},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fsummary_issues","Summary Issues",{"path":267,"title":268},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Ftechnical_errors","Technical Errors",{"path":270,"title":271},"\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fvideo_issues","Video Issues",{"path":273,"title":274},"\u002Fpackages\u002Fcommon\u002Fdocs\u002Fearly-access-features","Declarative Early Access Features",{"path":276,"title":277},"\u002Fpackages\u002Fcommon\u002Fscripts\u002Freadme","Common Package Scripts",{"path":279,"title":280},"\u002Fpackages\u002Fdevtools\u002Ffigma-plugins\u002Freadme","Figma plugins",{"path":282,"title":77},"\u002Fpackages\u002Fpulumi-infisical\u002Freadme",{"id":284,"title":217,"body":285,"description":583,"extension":584,"lastReviewed":585,"meta":586,"navigation":588,"owner":585,"path":216,"seo":590,"status":585,"stem":591,"tags":585,"__hash__":592},"repo\u002Finternal\u002Fsupport-bot\u002Fkb\u002Fbilling_invoice.md",{"type":286,"value":287,"toc":569},"minimark",[288,292,296,304,310,313,316,319,325,328,333,338,341,344,347,350,353,356,359,362,365,368,371,374,379,382,387,391,394,399,402,407,411,420,425,428,433,437,440,443,448,451,456,460,463,466,469,474,477,482,486,489,492,497,500,505,509,512,515,518,523,527,530,533,536,541,544,549,553,556,559,562,564],[289,290,217],"h1",{"id":291},"billing-invoice",[293,294,295],"h2",{"id":295},"payment_method_not_accepted",[297,298,299,303],"p",{},[300,301,302],"strong",{},"Problem:"," I can't complete my subscription - my payment method isn't accepted",[297,305,306,309],{},[300,307,308],{},"Solution:"," Hi,",[297,311,312],{},"I understand how frustrating it is when your payment won't go through.",[297,314,315],{},"Please try completing the subscription through the iOS App Store or Google Play Store. The mobile stores support many more local payment methods, so your card should usually be accepted there.",[297,317,318],{},"Let me know if that worked or if you have any questions!",[297,320,321,324],{},[300,322,323],{},"Note:"," German: \"Leider kann ich kein Abo abschließen. Meine Zahlungsmethode wird nicht angenommen.\"",[293,326,327],{"id":327},"auto_renewal_refund_denied",[297,329,330,332],{},[300,331,302],{}," My annual subscription auto-renewed and I would like a refund",[297,334,335,337],{},[300,336,308],{}," Hi!",[297,339,340],{},"Thank you very much for your message.",[297,342,343],{},"Your frustration is completely understandable—especially when an annual subscription renews unexpectedly. As is common with subscriptions, the plan does indeed renew automatically and can usually be managed quite easily in the settings.",[297,345,346],{},"Please understand that we cannot offer refunds for missed or late cancellations. There are several reasons for this: each payment incurs non-refundable credit card\u002Fpayment and refund fees, and we also bear infrastructure and support costs on our side. If we were to issue refunds in such cases, these fees would remain entirely with us. Accordingly, the right of withdrawal does not apply either, as this is a contract renewal.",[297,348,349],{},"Of course, we have canceled your subscription so that no further charges will occur.",[297,351,352],{},"At the same time, Studyflash has evolved significantly over the past year. In addition to improved flashcards, the following features are now available:",[297,354,355],{},"Summaries to quickly get an overview,",[297,357,358],{},"Quizzes for active recall,",[297,360,361],{},"Mind maps for visual structuring,",[297,363,364],{},"Podcasts (automatically generated audio summaries),",[297,366,367],{},"An AI tutor that helps with understanding, practicing, and reviewing.",[297,369,370],{},"This makes it possible not only to prepare effectively for exams, but also, for example, to practice a language efficiently. Perhaps you'll give Studyflash another chance.",[297,372,373],{},"Thank you very much for your understanding.",[297,375,376,378],{},[300,377,323],{}," Common auto-renewal complaint. Asked in German, English, French, and Dutch variations.",[293,380,381],{"id":381},"change_payment_method",[297,383,384,386],{},[300,385,302],{}," How do I change my payment method?",[297,388,389,309],{},[300,390,308],{},[297,392,393],{},"If you completed your subscription through the App Store, you'll need to change your payment method there in your Apple ID settings.",[297,395,396,398],{},[300,397,323],{}," German: \"Zahlungsart Wie kann ich zahlungart ändern?\"",[293,400,401],{"id":401},"pay_with_paypal",[297,403,404,406],{},[300,405,302],{}," Can I pay with PayPal?",[297,408,409,309],{},[300,410,308],{},[297,412,413,414],{},"Yes, but you need to do this through the website at ",[415,416,417],"a",{"href":417,"rel":418},"https:\u002F\u002Fapp.studyflash.ai",[419],"nofollow",[297,421,422,424],{},[300,423,323],{}," German: \"Zahlung von Premium Kann ich das abo auch per paypal bezahlen?\"",[293,426,427],{"id":427},"yearly_paid_upfront",[297,429,430,432],{},[300,431,302],{}," I assumed the yearly subscription would be charged monthly, but I was charged the full amount at once",[297,434,435,309],{},[300,436,308],{},[297,438,439],{},"Thanks for your message.",[297,441,442],{},"Unfortunately, we can only offer the annual subscription with full upfront payment, as monthly billing wouldn't be sustainable for us at these rates.",[297,444,445,447],{},[300,446,323],{}," German: \"ich habe vor Kurzem ein Jahresabonnement abgeschlossen und dabei angenommen, dass die Zahlung monatlich abgebucht wird\"",[293,449,450],{"id":450},"other_payment_than_apple_pay",[297,452,453,455],{},[300,454,302],{}," Can I pay with something other than Apple Pay for the upgrade?",[297,457,458,309],{},[300,459,308],{},[297,461,462],{},"Of course! If Apple Pay doesn't work for you, you can complete the upgrade directly through the App Store (iOS) or the Google Play Store (Android). These stores support many more local payment methods, such as credit\u002Fdebit cards, gift cards, or mobile carrier billing, depending on what's available in your country.",[297,464,465],{},"Just open the Studyflash app, tap \"Upgrade\" and follow the payment options in your app store.",[297,467,468],{},"Let me know if any questions come up or if anything is unclear!",[297,470,471,473],{},[300,472,323],{}," German: \"Upgrade Bezahloption Kann ich bei der Bezahlung des Upgrades auch anders als über apple pay bezahlen?\"",[293,475,476],{"id":476},"wrong_subscription_amount_charged",[297,478,479,481],{},[300,480,302],{}," I selected monthly but was charged the yearly amount",[297,483,484,309],{},[300,485,308],{},[297,487,488],{},"The yearly subscription is billed at once in advance as disclosed during the purchase process. If you selected the yearly plan, the full amount is charged immediately.",[297,490,491],{},"Thank you for your understanding.",[297,493,494,496],{},[300,495,323],{}," German: \"Ich wollte monatlich zahlen aber es wurden 60 Euro abgebucht\"",[293,498,499],{"id":499},"payment_method_issue",[297,501,502,504],{},[300,503,302],{}," I want to pay with a different payment method \u002F can't use my bank",[297,506,507,309],{},[300,508,308],{},[297,510,511],{},"If the website is showing a payment method you can't use, try subscribing through the iOS App Store or Google Play Store instead, as they support more local payment methods.",[297,513,514],{},"Let me know which device you're using and I can guide you through the specific steps.",[293,516,517],{"id":517},"payment_card_error",[297,519,520,522],{},[300,521,302],{}," Payment error with my card \u002F wrong payment method shown",[297,524,525,309],{},[300,526,308],{},[297,528,529],{},"I'm sorry you're seeing an error with your card during payment.",[297,531,532],{},"If your regional card or currency isn't accepted on our website, please subscribe through the iOS App Store or Google Play Store instead. These stores support a wider range of local payment methods and should allow the transaction to complete successfully.",[297,534,535],{},"Let me know if this helps!",[297,537,538,540],{},[300,539,323],{}," German: \"Zahlungsfehler mit meiner Karte\"",[293,542,543],{"id":543},"thought_monthly_charged_yearly",[297,545,546,548],{},[300,547,302],{}," I thought I was paying monthly but was charged for a full year",[297,550,551,309],{},[300,552,308],{},[297,554,555],{},"Thank you for your message. We understand your frustration.",[297,557,558],{},"The 5 EUR\u002Fmonth corresponds to the monthly equivalent of the annual subscription. We can only offer this attractive price with upfront annual payment. This is clearly indicated during the purchase process.",[297,560,561],{},"If you'd like to switch to actual monthly billing, you can change this in your account settings (though the monthly plan has a higher per-month cost).",[297,563,491],{},[297,565,566,568],{},[300,567,323],{}," German: \"Ich dachte, ich zahle monatlich, aber mir wurde ein ganzes Jahr berechnet\". Also asked as: Warum wurde mir 60 Euro berechnet; Why charged 60 instead of 5; Falscher Betrag abgebucht",{"title":570,"searchDepth":571,"depth":571,"links":572},"",2,[573,574,575,576,577,578,579,580,581,582],{"id":295,"depth":571,"text":295},{"id":327,"depth":571,"text":327},{"id":381,"depth":571,"text":381},{"id":401,"depth":571,"text":401},{"id":427,"depth":571,"text":427},{"id":450,"depth":571,"text":450},{"id":476,"depth":571,"text":476},{"id":499,"depth":571,"text":499},{"id":517,"depth":571,"text":517},{"id":543,"depth":571,"text":543},"Invoice requests, payment issues, unwanted charges","md",null,{"category":587,"sensitive":588,"entry_count":589},"billing_invoice",true,10,{"title":217,"description":583},"internal\u002Fsupport-bot\u002Fkb\u002Fbilling_invoice","jFBxxwh_enaN4M5wkKXPma0yqi2k6TnnHZ_qgKY2AGI",1779007964249]