Billed net revenue (all classes; net = gross − tax after position discounts, credit notes negative) by country, by product and per customer with product sub-rows, the top products, and ARR at each month end: committed (MRR × 12) plus the trailing twelve-month variable revenue. One currency, never converted; details repeats the ARR series for every currency the organisation has.
byCustomerAndProduct only: customer name, customer number or the name of one of the customer's products contains this text (case-insensitive, % and _ are literal).
Maximum string length: 100
Antwort
The datasets.
Datasets of the revenue page: revenue by country, ARR at each month end (MRR × 12, the one ARR of every page) with the trailing twelve-month variable revenue as its own row, per-currency ARR details, invoiced revenue per month by class ("Umsatzdetails", reconciling to the revenue by country and by product), revenue by product, top products, and revenue per customer with product sub-rows. Revenue is invoiced net revenue of all classes (net = gross − tax after position discounts) by finalization month; credit notes and cancellations are negative in the month they were issued. Dunning fees are not revenue.
Page 1 (or the requested page) of the customer rows with product sub-rows and sparklines, as {data, meta}. Page turns should use GET /api/analytics/finance/revenue/customers, which returns the same shape without recomputing the other datasets.
Per month of months: the month's postings are closed in accounting (the ledger of the month is final). The analytics figures follow the source dates (finalization, payment and settlement date, service period) and can still change after the close; a record made after the close is a POST_CLOSE_CHANGE finding.
Invoiced net revenue per month by class ("Umsatzdetails") per currency the organisation has data in: recurring + one-off + variable = total. Over the range the total equals totals.net, the sum of byCountry and the sum of byProduct (same revenue lines, same filter).
Show child attributes
War diese Seite hilfreich?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Fynn Docs","colors":{"primary":"#000","light":"#fff","dark":"#000"},"logo":{"light":"https://mintcdn.com/fynnsubscriptionbilling/kPbBeWVEZfmEic9q/logo/logo-dark.svg?fit=max\u0026auto=format\u0026n=kPbBeWVEZfmEic9q\u0026q=85\u0026s=83e4b30a53d77c3809e0f22afa29335d","dark":"https://mintcdn.com/fynnsubscriptionbilling/kPbBeWVEZfmEic9q/logo/dark.svg?fit=max\u0026auto=format\u0026n=kPbBeWVEZfmEic9q\u0026q=85\u0026s=5798319f6c8632d79fe789f72eaa94e2"},"favicon":"https://mintcdn.com/fynnsubscriptionbilling/zDQkHT5wBBQ3jA-O/favicon.svg?fit=max\u0026auto=format\u0026n=zDQkHT5wBBQ3jA-O\u0026q=85\u0026s=410ff1f698a399faed9fbb877457bb43","api":{"openapi":["assets/openapi.json","assets/openapi-v2-plans.json","assets/openapi-v2-offers.json","assets/openapi-v2-commission.json","assets/openapi-v2-payment-plans.json","assets/openapi-v2-finance.json"],"playground":{"display":"interactive"},"examples":{"languages":["curl","python","javascript","php"]}},"navbar":{"links":[{"href":"https://cal.com/team/fynn/fynn-documentation","label":"Termin buchen"},{"href":"mailto:hi@fynn.eu","label":"Support"}],"primary":{"type":"button","label":"App Login","href":"https://app.fynn.eu"}},"footer":{"socials":{"x":"https://twitter.com/wearefynn","github":"https://github.com/fynn-digital","linkedin":"https://www.linkedin.com/company/wearefynn"}},"integrations":{"gtm":{"tagId":"GTM-NKGQ4TQ9"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":true},"navigation":{"languages":[{"language":"de","default":true,"href":"introduction"},{"language":"en","href":"en/introduction"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"fynnsubscriptionbilling","hasAudioNarration":false,"actualSubdomain":"fynnsubscriptionbilling","customDomains":["docs.fynn.eu"],"gitSource":{"type":"gitlab","owner":"fynn/core","repo":"core-api23","deployBranch":"main","contentDirectory":"public-docs","isPrivate":true,"projectId":396,"hostUrl":"https://git.netzfabrik.com","mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ade24310e2252351b6bcf20","collectionId":"c63f4a48-46bb-4163-a4ce-a54574f206c1","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ade24310e2252351b6bcf20"},"feedback":{"thumbs":true,"edits":true,"issues":true,"agentFeedback":true},"entitlements":{"REMOVE_BRANDING":{"status":"ENABLED"}},"buildId":"6ade65cd8bc03ecc3442159a","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"de","tag":"API Referenz","count":249},{"language":"de","tag":"Dokumentation","count":93},{"language":"de","tag":"API V2","count":71},{"language":"en","tag":"Documentation","count":59},{"language":"de","tag":"API","count":46},{"language":"de","tag":"Catalogue","count":42},{"language":"de","tag":"Angebote","count":36},{"language":"de","tag":"Subscription","count":30},{"language":"de","tag":"Customer","count":30},{"language":"de","tag":"Finanzberichte","count":29},{"language":"de","tag":"Payment","count":26},{"language":"default","tag":"API V2","count":18},{"language":"default","tag":"Dokumentation","count":15},{"language":"default","tag":"Pläne","count":15},{"language":"en","tag":"Integrations","count":15},{"language":"default","tag":"API","count":11},{"language":"default","tag":"API Referenz","count":10},{"language":"default","tag":"API documentation","count":10},{"language":"en","tag":"Products","count":9},{"language":"en","tag":"Settings","count":9},{"language":"en","tag":"Customers","count":7},{"language":"en","tag":"Subscriptions","count":7},{"language":"default","tag":"Guides","count":6},{"language":"default","tag":"Plan-Verwaltung","count":6},{"language":"en","tag":"Payment Providers","count":6},{"language":"default","tag":"Nutzungsbasierte Abrechnung","count":5},{"language":"en","tag":"Accounting","count":5},{"language":"en","tag":"Developers","count":5},{"language":"en","tag":"Invoices","count":5},{"language":"default","tag":"KI-Assistent","count":4}]},"assistantConfig":{},"hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".update-container{display:flex}.update-container>div{position:unset!important}@media (min-width:1024px){.update-container{flex-direction:column!important}}[data-component-part=update-label]{background:0 0}[data-component-part=update-tag]{-webkit-text-size-adjust:100%;tab-size:4;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;font-feature-settings:\"cv02\",\"cv03\",\"cv04\",\"cv11\";--scroll-mt:9.5rem;--font-inter:'__Inter_86cd50', '__Inter_Fallback_86cd50';--font-jetbrains-mono:'__JetBrains_Mono_3c557b', '__JetBrains_Mono_Fallback_3c557b';--primary:39 19 64;--primary-light:255 255 255;--primary-dark:0 0 0;--background-light:255 255 255;--background-dark:0 0 0;--gray-50:244 243 244;--gray-100:239 238 239;--gray-200:223 223 224;--gray-300:207 206 207;--gray-400:159 159 160;--gray-500:113 112 113;--gray-600:81 80 81;--gray-700:63 63 64;--gray-800:38 37 39;--gray-900:23 23 24;--gray-950:11 10 12;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\";-webkit-font-smoothing:antialiased;--tw-prose-body:#374151;--tw-prose-headings:#111827;--tw-prose-lead:#4b5563;--tw-prose-links:#111827;--tw-prose-bold:#111827;--tw-prose-counters:#6b7280;--tw-prose-bullets:#d1d5db;--tw-prose-hr:#e5e7eb;--tw-prose-quotes:#111827;--tw-prose-quote-borders:#e5e7eb;--tw-prose-captions:#6b7280;--tw-prose-kbd:#111827;--tw-prose-kbd-shadows:17 24 39;--tw-prose-code:#111827;--tw-prose-pre-code:#e5e7eb;--tw-prose-pre-bg:#1f2937;--tw-prose-th-borders:#d1d5db;--tw-prose-td-borders:#e5e7eb;--tw-prose-invert-body:#d1d5db;--tw-prose-invert-headings:#fff;--tw-prose-invert-lead:#9ca3af;--tw-prose-invert-links:#fff;--tw-prose-invert-bold:#fff;--tw-prose-invert-counters:#9ca3af;--tw-prose-invert-bullets:#4b5563;--tw-prose-invert-hr:#374151;--tw-prose-invert-quotes:#f3f4f6;--tw-prose-invert-quote-borders:#374151;--tw-prose-invert-captions:#9ca3af;--tw-prose-invert-kbd:#fff;--tw-prose-invert-kbd-shadows:255 255 255;--tw-prose-invert-code:#fff;--tw-prose-invert-pre-code:#d1d5db;--tw-prose-invert-pre-bg:rgba(0,0,0,.5);--tw-prose-invert-th-borders:#4b5563;--tw-prose-invert-td-borders:#374151;-webkit-user-modify:read-only;box-sizing:border-box;border-width:0;border-style:solid;border-color:rgb(var(--gray-200));--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: ;display:flex;flex-grow:0;cursor:pointer;align-items:center;justify-content:center;border-radius:var(--rounded-lg,.5rem);background-color:rgb(var(--primary)/.1);padding:.25rem .5rem;font-size:.875rem;line-height:1.25rem;font-weight:500;--tw-text-opacity:1;color:rgb(var(--primary)/var(--tw-text-opacity))}"}],"page":{"pagePath":"v2-finance-api/datasets/get-revenue","slug":"/v2-finance-api/datasets/get-revenue","pageMetadata":{"openapi":"assets/openapi-v2-finance.json get /api/analytics/finance/revenue","title":"Revenue page datasets","description":"Billed net revenue (all classes; net = gross − tax after position discounts, credit notes negative) by country, by product and per customer with product sub-rows, the top products, and ARR at each month end: committed (MRR × 12) plus the trailing twelve-month variable revenue. One currency, never converted; `details` repeats the ARR series for every currency the organisation has.\n\nRequired permission: `analytics:read`.","href":"/v2-finance-api/datasets/get-revenue"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Billed net revenue (all classes; net = gross − tax after position discounts, credit notes negative) by country, by product and per customer with product sub-rows, the top products, and ARR at each month end: committed (MRR × 12) plus the trailing twelve-month variable revenue. One currency, never converted; \", _jsx(_components.code, {\n children: \"details\"\n }), \" repeats the ARR series for every currency the organisation has.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Required permission: \", _jsx(_components.code, {\n children: \"analytics:read\"\n }), \".\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"openapi":"assets/openapi-v2-finance.json get /api/analytics/finance/revenue","title":"Revenue page datasets","description":"Billed net revenue (all classes; net = gross − tax after position discounts, credit notes negative) by country, by product and per customer with product sub-rows, the top products, and ARR at each month end: committed (MRR × 12) plus the trailing twelve-month variable revenue. One currency, never converted; `details` repeats the ARR series for every currency the organisation has.\n\nRequired permission: `analytics:read`.","href":"/v2-finance-api/datasets/get-revenue"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/fynnsubscriptionbilling/086131e1768d5953/changelog-sidebar.js"],"openApiReferenceData":{"operation":{"tags":["Datensätze"],"summary":"Revenue page datasets","description":"Billed net revenue (all classes; net = gross − tax after position discounts, credit notes negative) by country, by product and per customer with product sub-rows, the top products, and ARR at each month end: committed (MRR × 12) plus the trailing twelve-month variable revenue. One currency, never converted; `details` repeats the ARR series for every currency the organisation has.\n\nRequired permission: `analytics:read`.","parameters":["1909f116-6b81-47e2-a291-fff368511fbb","93bf02ea-032c-45cc-b4c6-3e469224f91e","55906b56-84da-448c-aa40-b971ec524d91","e9e6d856-ca44-467f-9d25-375016fba08b","b738d5b5-74db-4660-9290-19683e97fde8","14d28662-4dd3-409f-b5d2-eff998fccaeb","3c8755fa-a03d-4749-8855-cfd293090a8c","c4856816-65f5-4dda-8767-27f4e3269b72","8098e53a-cbac-43c1-bd9b-048dd7530712","d3774f9d-9058-44fc-8bd4-3eb2a9e967fa"],"responses":{"200":"29fc311a-c67b-46b4-a9f7-bb5c1575ead7","401":"687745ee-d5d4-4348-9a8d-af6c9ad666b7","403":"238943c9-3c9c-4980-a499-1d8281881f04","422":"314b280a-5955-4480-9d75-f81169bf7487"},"security":["de07a691-608d-4560-b4da-1225bda98bc9"],"operationId":"getFinanceRevenue","method":"get","type":"path","servers":["58ca1bf5-c883-4c98-a975-3a85f96f2f94","761f9cb6-1d17-4197-9e03-b79594029e5c"],"path":"/api/analytics/finance/revenue","baseUrlOptions":["https://coreapi.io","https://preview.coreapi.io"],"title":"Revenue page datasets","codeSamples":[],"requestExampleLanguages":["bash","python","javascript","php"],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"1909f116-6b81-47e2-a291-fff368511fbb":{"name":"from","in":"query","description":"First month (YYYY-MM, time zone of the organisation). Default: `to` minus 11 months.","required":false,"schema":{"type":"string","isRequired":false,"description":"First month (YYYY-MM, time zone of the organisation). Default: `to` minus 11 months.","uniqueKey":"","typeLabel":"string"}},"93bf02ea-032c-45cc-b4c6-3e469224f91e":{"name":"to","in":"query","description":"Last month (YYYY-MM). Default: the current month. At most 36 months.","required":false,"schema":{"type":"string","isRequired":false,"description":"Last month (YYYY-MM). Default: the current month. At most 36 months.","uniqueKey":"","typeLabel":"string"}},"55906b56-84da-448c-aa40-b971ec524d91":{"name":"currency","in":"query","description":"ISO-4217 code. Default: the default currency.","required":false,"schema":{"type":"string","isRequired":false,"description":"ISO-4217 code. Default: the default currency.","uniqueKey":"","typeLabel":"string"}},"e9e6d856-ca44-467f-9d25-375016fba08b":{"name":"scope","in":"query","description":"Movement scope (committed ARR is scope-independent; accepted for a uniform query).","required":false,"schema":{"type":"string","enum":["subscription","invoice_address","customer","organisation"],"isRequired":false,"description":"Movement scope (committed ARR is scope-independent; accepted for a uniform query).","uniqueKey":"","typeLabel":"enum\u003cstring>"}},"b738d5b5-74db-4660-9290-19683e97fde8":{"name":"segmentId","in":"query","description":"Analytics segment filter.","required":false,"schema":{"type":"string","format":"uuid","isRequired":false,"description":"Analytics segment filter.","uniqueKey":"","typeLabel":"string\u003cuuid>"}},"14d28662-4dd3-409f-b5d2-eff998fccaeb":{"name":"customerIds[]","in":"query","description":"Customer filter.","required":false,"schema":{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"items.[INDEX]","typeLabel":"string\u003cuuid>"},"isRequired":false,"description":"Customer filter.","uniqueKey":"","typeLabel":"string\u003cuuid>[]"}},"3c8755fa-a03d-4749-8855-cfd293090a8c":{"name":"productIds[]","in":"query","description":"Product filter.","required":false,"schema":{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"items.[INDEX]","typeLabel":"string\u003cuuid>"},"isRequired":false,"description":"Product filter.","uniqueKey":"","typeLabel":"string\u003cuuid>[]"}},"c4856816-65f5-4dda-8767-27f4e3269b72":{"name":"page","in":"query","description":"`byCustomerAndProduct` only: page, starting at 1.","required":false,"schema":{"type":"integer","default":1,"minimum":1,"isRequired":false,"description":"`byCustomerAndProduct` only: page, starting at 1.","uniqueKey":"","typeLabel":"integer"}},"8098e53a-cbac-43c1-bd9b-048dd7530712":{"name":"pageSize","in":"query","description":"`byCustomerAndProduct` only: customers per page.","required":false,"schema":{"type":"integer","default":50,"maximum":100,"minimum":1,"isRequired":false,"description":"`byCustomerAndProduct` only: customers per page.","uniqueKey":"","typeLabel":"integer"}},"d3774f9d-9058-44fc-8bd4-3eb2a9e967fa":{"name":"search","in":"query","description":"`byCustomerAndProduct` only: customer name, customer number or the name of one of the customer's products contains this text (case-insensitive, `%` and `_` are literal).","required":false,"schema":{"type":"string","maxLength":100,"isRequired":false,"description":"`byCustomerAndProduct` only: customer name, customer number or the name of one of the customer's products contains this text (case-insensitive, `%` and `_` are literal).","uniqueKey":"","typeLabel":"string"}}},"responses":{"29fc311a-c67b-46b4-a9f7-bb5c1575ead7":{"description":"The datasets.","content":{"application/json":{"schema":{"description":"Datasets of the revenue page: revenue by country, ARR at each month end (MRR × 12, the one ARR of every page) with the trailing twelve-month variable revenue as its own row, per-currency ARR details, invoiced revenue per month by class (\"Umsatzdetails\", reconciling to the revenue by country and by product), revenue by product, top products, and revenue per customer with product sub-rows. Revenue is invoiced net revenue of all classes (net = gross − tax after position discounts) by finalization month; credit notes and cancellations are negative in the month they were issued. Dunning fees are not revenue.","properties":{"months":{"description":"Months of the range (YYYY-MM, time zone of the organisation), ascending.","type":"array","items":{"type":"string","uniqueKey":"months.items.[INDEX]","typeLabel":"string"},"uniqueKey":"months","typeLabel":"string[]"},"byCountry":{"description":"Net revenue per country of the invoice address in the range, largest first. `countryCode` is null when no country is known.","type":"array","items":{"description":"Net revenue of one country in the range.","properties":{"countryCode":{"oneOf":[{"description":"ISO 3166-1 alpha-2 country code of the invoice address; null when unknown.","type":"string","example":"DE","uniqueKey":"byCountry.items.[INDEX].countryCode.oneOf.0","typeLabel":"string"},{"description":"ISO 3166-1 alpha-2 country code of the invoice address; null when unknown.","type":"null","example":"DE","uniqueKey":"byCountry.items.[INDEX].countryCode.oneOf.1","typeLabel":"null"}],"uniqueKey":"byCountry.items.[INDEX].countryCode","typeLabel":"string | null"},"net":{"type":"object","description":"Net revenue.","properties":{"amount":{"description":"Exact decimal amount with two decimal places, dot as separator. Negative amounts carry a leading minus.","type":"string","example":"1234.56","uniqueKey":"byCountry.items.[INDEX].net.amount","typeLabel":"string"},"currency":{"description":"ISO-4217 currency code.","type":"string","example":"EUR","uniqueKey":"byCountry.items.[INDEX].net.currency","typeLabel":"string"}},"uniqueKey":"byCountry.items.[INDEX].net","typeLabel":"object"},"share":{"description":"Share of the total net revenue as an exact decimal string with six places (`\"0.250000\"` = 25 %).","type":"string","example":"0.250000","uniqueKey":"byCountry.items.[INDEX].share","typeLabel":"string"}},"type":"object","uniqueKey":"byCountry.items.[INDEX]","typeLabel":"object"},"uniqueKey":"byCountry","typeLabel":"object[]"},"arrAtPeriodEnd":{"type":"object","description":"ARR at each month end in the selected currency (MRR × 12) and the trailing twelve-month variable revenue.","properties":{"committed":{"type":"array","items":{"oneOf":[{"type":"object","description":"A money amount. `amount` is an exact decimal string with two decimal places (net, excluding VAT, unless stated otherwise); `currency` is the ISO-4217 code.","properties":{"amount":{"description":"Exact decimal amount with two decimal places, dot as separator. Negative amounts carry a leading minus.","type":"string","example":"1234.56","uniqueKey":"arrAtPeriodEnd.committed.items.[INDEX].oneOf.0.amount","typeLabel":"string"},"currency":{"description":"ISO-4217 currency code.","type":"string","example":"EUR","uniqueKey":"arrAtPeriodEnd.committed.items.[INDEX].oneOf.0.currency","typeLabel":"string"}},"uniqueKey":"arrAtPeriodEnd.committed.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"arrAtPeriodEnd.committed.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"arrAtPeriodEnd.committed.items.[INDEX]","typeLabel":"object | null"},"uniqueKey":"arrAtPeriodEnd.committed","typeLabel":"(object | null)[]"},"variable":{"type":"array","items":{"description":"A money amount. `amount` is an exact decimal string with two decimal places (net, excluding VAT, unless stated otherwise); `currency` is the ISO-4217 code.","properties":{"amount":{"description":"Exact decimal amount with two decimal places, dot as separator. Negative amounts carry a leading minus.","type":"string","example":"1234.56","uniqueKey":"arrAtPeriodEnd.variable.items.[INDEX].amount","typeLabel":"string"},"currency":{"description":"ISO-4217 currency code.","type":"string","example":"EUR","uniqueKey":"arrAtPeriodEnd.variable.items.[INDEX].currency","typeLabel":"string"}},"type":"object","uniqueKey":"arrAtPeriodEnd.variable.items.[INDEX]","typeLabel":"object"},"uniqueKey":"arrAtPeriodEnd.variable","typeLabel":"object[]"},"total":{"type":"array","items":{"oneOf":[{"type":"object","description":"A money amount. `amount` is an exact decimal string with two decimal places (net, excluding VAT, unless stated otherwise); `currency` is the ISO-4217 code.","properties":{"amount":{"description":"Exact decimal amount with two decimal places, dot as separator. Negative amounts carry a leading minus.","type":"string","example":"1234.56","uniqueKey":"arrAtPeriodEnd.total.items.[INDEX].oneOf.0.amount","typeLabel":"string"},"currency":{"description":"ISO-4217 currency code.","type":"string","example":"EUR","uniqueKey":"arrAtPeriodEnd.total.items.[INDEX].oneOf.0.currency","typeLabel":"string"}},"uniqueKey":"arrAtPeriodEnd.total.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"arrAtPeriodEnd.total.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"arrAtPeriodEnd.total.items.[INDEX]","typeLabel":"object | null"},"uniqueKey":"arrAtPeriodEnd.total","typeLabel":"(object | null)[]"}},"uniqueKey":"arrAtPeriodEnd","typeLabel":"object"},"details":{"description":"ARR and the trailing twelve-month variable revenue per currency the organisation has data in.","type":"array","items":{"description":"ARR series of one currency.","properties":{"currency":{"description":"ISO-4217 currency code.","type":"string","example":"EUR","uniqueKey":"details.items.[INDEX].currency","typeLabel":"string"},"committed":{"description":"ARR (MRR at the month end × 12); equal to `arr`.","type":"array","items":{"oneOf":[{"type":"object","description":"A money amount. `amount` is an exact decimal string with two decimal places (net, excluding VAT, unless stated otherwise); `currency` is the ISO-4217 code.","properties":{"amount":{"description":"Exact decimal amount with two decimal places, dot as separator. Negative amounts carry a leading minus.","type":"string","example":"1234.56","uniqueKey":"details.items.[INDEX].committed.items.[INDEX].oneOf.0.amount","typeLabel":"string"},"currency":{"description":"ISO-4217 currency code.","type":"string","example":"EUR","uniqueKey":"details.items.[INDEX].committed.items.[INDEX].oneOf.0.currency","typeLabel":"string"}},"uniqueKey":"details.items.[INDEX].committed.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"details.items.[INDEX].committed.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"details.items.[INDEX].committed.items.[INDEX]","typeLabel":"object | null"},"uniqueKey":"details.items.[INDEX].committed","typeLabel":"(object | null)[]"},"variable":{"description":"Trailing twelve-month variable revenue (\"Variabel, 12 Monate\"); not part of ARR.","type":"array","items":{"description":"A money amount. `amount` is an exact decimal string with two decimal places (net, excluding VAT, unless stated otherwise); `currency` is the ISO-4217 code.","properties":{"amount":{"description":"Exact decimal amount with two decimal places, dot as separator. Negative amounts carry a leading minus.","type":"string","example":"1234.56","uniqueKey":"details.items.[INDEX].variable.items.[INDEX].amount","typeLabel":"string"},"currency":{"description":"ISO-4217 currency code.","type":"string","example":"EUR","uniqueKey":"details.items.[INDEX].variable.items.[INDEX].currency","typeLabel":"string"}},"type":"object","uniqueKey":"details.items.[INDEX].variable.items.[INDEX]","typeLabel":"object"},"uniqueKey":"details.items.[INDEX].variable","typeLabel":"object[]"},"arr":{"description":"ARR (MRR at the month end × 12).","type":"array","items":{"oneOf":[{"type":"object","description":"A money amount. `amount` is an exact decimal string with two decimal places (net, excluding VAT, unless stated otherwise); `currency` is the ISO-4217 code.","properties":{"amount":{"description":"Exact decimal amount with two decimal places, dot as separator. Negative amounts carry a leading minus.","type":"string","example":"1234.56","uniqueKey":"details.items.[INDEX].arr.items.[INDEX].oneOf.0.amount","typeLabel":"string"},"currency":{"description":"ISO-4217 currency code.","type":"string","example":"EUR","uniqueKey":"details.items.[INDEX].arr.items.[INDEX].oneOf.0.currency","typeLabel":"string"}},"uniqueKey":"details.items.[INDEX].arr.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"details.items.[INDEX].arr.items.[INDEX].oneOf.1","typeLabel":"null"}],"uniqueKey":"details.items.[INDEX].arr.items.[INDEX]","typeLabel":"object | null"},"uniqueKey":"details.items.[INDEX].arr","typeLabel":"(object | null)[]"},"oneOff":{"description":"Net one-off revenue billed in each month (signed: cancellations and credit notes negative); not part of ARR.","type":"array","items":{"description":"A money amount. `amount` is an exact decimal string with two decimal places (net, excluding VAT, unless stated otherwise); `currency` is the ISO-4217 code.","properties":{"amount":{"description":"Exact decimal amount with two decimal places, dot as separator. Negative amounts carry a leading minus.","type":"string","example":"1234.56","uniqueKey":"details.items.[INDEX].oneOff.items.[INDEX].amount","typeLabel":"string"},"currency":{"description":"ISO-4217 currency code.","type":"string","example":"EUR","uniqueKey":"details.items.[INDEX].oneOff.items.[INDEX].currency","typeLabel":"string"}},"type":"object","uniqueKey":"details.items.[INDEX].oneOff.items.[INDEX]","typeLabel":"object"},"uniqueKey":"details.items.[INDEX].oneOff","typeLabel":"object[]"}},"type":"object","uniqueKey":"details.items.[INDEX]","typeLabel":"object"},"uniqueKey":"details","typeLabel":"object[]"},"byProduct":{"description":"Net revenue per product and month; the product is null for positions without product.","type":"array","items":{"description":"Net revenue of one product per month.","properties":{"product":{"type":"object","description":"The product; `id` and `name` are null for positions without product.","properties":{"id":{"oneOf":[{"description":"Id (UUID).","type":"string","uniqueKey":"byProduct.items.[INDEX].product.id.oneOf.0","typeLabel":"string"},{"description":"Id (UUID).","type":"null","uniqueKey":"byProduct.items.[INDEX].product.id.oneOf.1","typeLabel":"null"}],"uniqueKey":"byProduct.items.[INDEX].product.id","typeLabel":"string | null"},"number":{"oneOf":[{"description":"Human-readable number (customer number, subscription number, invoice number).","type":"string","uniqueKey":"byProduct.items.[INDEX].product.number.oneOf.0","typeLabel":"string"},{"description":"Human-readable number (customer number, subscription number, invoice number).","type":"null","uniqueKey":"byProduct.items.[INDEX].product.number.oneOf.1","typeLabel":"null"}],"uniqueKey":"byProduct.items.[INDEX].product.number","typeLabel":"string | null"},"name":{"oneOf":[{"description":"Display name.","type":"string","uniqueKey":"byProduct.items.[INDEX].product.name.oneOf.0","typeLabel":"string"},{"description":"Display name.","type":"null","uniqueKey":"byProduct.items.[INDEX].product.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"byProduct.items.[INDEX].product.name","typeLabel":"string | null"}},"uniqueKey":"byProduct.items.[INDEX].product","typeLabel":"object"},"values":{"description":"Net revenue per month, aligned with `months`.","type":"array","items":{"description":"A money amount. `amount` is an exact decimal string with two decimal places (net, excluding VAT, unless stated otherwise); `currency` is the ISO-4217 code.","properties":{"amount":{"description":"Exact decimal amount with two decimal places, dot as separator. Negative amounts carry a leading minus.","type":"string","example":"1234.56","uniqueKey":"byProduct.items.[INDEX].values.items.[INDEX].amount","typeLabel":"string"},"currency":{"description":"ISO-4217 currency code.","type":"string","example":"EUR","uniqueKey":"byProduct.items.[INDEX].values.items.[INDEX].currency","typeLabel":"string"}},"type":"object","uniqueKey":"byProduct.items.[INDEX].values.items.[INDEX]","typeLabel":"object"},"uniqueKey":"byProduct.items.[INDEX].values","typeLabel":"object[]"},"total":{"type":"object","description":"Net revenue in the range.","properties":{"amount":{"description":"Exact decimal amount with two decimal places, dot as separator. Negative amounts carry a leading minus.","type":"string","example":"1234.56","uniqueKey":"byProduct.items.[INDEX].total.amount","typeLabel":"string"},"currency":{"description":"ISO-4217 currency code.","type":"string","example":"EUR","uniqueKey":"byProduct.items.[INDEX].total.currency","typeLabel":"string"}},"uniqueKey":"byProduct.items.[INDEX].total","typeLabel":"object"}},"type":"object","uniqueKey":"byProduct.items.[INDEX]","typeLabel":"object"},"uniqueKey":"byProduct","typeLabel":"object[]"},"topProducts":{"description":"The ten products with the most net revenue in the range.","type":"array","items":{"description":"Net revenue of one product in the range.","properties":{"product":{"type":"object","description":"The product; `id` and `name` are null for positions without product.","properties":{"id":{"oneOf":[{"description":"Id (UUID).","type":"string","uniqueKey":"topProducts.items.[INDEX].product.id.oneOf.0","typeLabel":"string"},{"description":"Id (UUID).","type":"null","uniqueKey":"topProducts.items.[INDEX].product.id.oneOf.1","typeLabel":"null"}],"uniqueKey":"topProducts.items.[INDEX].product.id","typeLabel":"string | null"},"number":{"oneOf":[{"description":"Human-readable number (customer number, subscription number, invoice number).","type":"string","uniqueKey":"topProducts.items.[INDEX].product.number.oneOf.0","typeLabel":"string"},{"description":"Human-readable number (customer number, subscription number, invoice number).","type":"null","uniqueKey":"topProducts.items.[INDEX].product.number.oneOf.1","typeLabel":"null"}],"uniqueKey":"topProducts.items.[INDEX].product.number","typeLabel":"string | null"},"name":{"oneOf":[{"description":"Display name.","type":"string","uniqueKey":"topProducts.items.[INDEX].product.name.oneOf.0","typeLabel":"string"},{"description":"Display name.","type":"null","uniqueKey":"topProducts.items.[INDEX].product.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"topProducts.items.[INDEX].product.name","typeLabel":"string | null"}},"uniqueKey":"topProducts.items.[INDEX].product","typeLabel":"object"},"net":{"type":"object","description":"Net revenue in the range.","properties":{"amount":{"description":"Exact decimal amount with two decimal places, dot as separator. Negative amounts carry a leading minus.","type":"string","example":"1234.56","uniqueKey":"topProducts.items.[INDEX].net.amount","typeLabel":"string"},"currency":{"description":"ISO-4217 currency code.","type":"string","example":"EUR","uniqueKey":"topProducts.items.[INDEX].net.currency","typeLabel":"string"}},"uniqueKey":"topProducts.items.[INDEX].net","typeLabel":"object"},"share":{"description":"Share of the total net revenue, exact decimal string with six places.","type":"string","example":"0.125000","uniqueKey":"topProducts.items.[INDEX].share","typeLabel":"string"}},"type":"object","uniqueKey":"topProducts.items.[INDEX]","typeLabel":"object"},"uniqueKey":"topProducts","typeLabel":"object[]"},"byCustomerAndProduct":{"type":"object","description":"Page 1 (or the requested page) of the customer rows with product sub-rows and sparklines, as `{data, meta}`. Page turns should use `GET /api/analytics/finance/revenue/customers`, which returns the same shape without recomputing the other datasets.","properties":{"data":{"description":"Customers of this page.","type":"array","items":{"description":"Net revenue of one customer per month, with product sub-rows.","properties":{"customer":{"type":"object","description":"The customer.","properties":{"id":{"oneOf":[{"description":"Id (UUID).","type":"string","uniqueKey":"byCustomerAndProduct.data.items.[INDEX].customer.id.oneOf.0","typeLabel":"string"},{"description":"Id (UUID).","type":"null","uniqueKey":"byCustomerAndProduct.data.items.[INDEX].customer.id.oneOf.1","typeLabel":"null"}],"uniqueKey":"byCustomerAndProduct.data.items.[INDEX].customer.id","typeLabel":"string | null"},"number":{"oneOf":[{"description":"Human-readable number (customer number, subscription number, invoice number).","type":"string","uniqueKey":"byCustomerAndProduct.data.items.[INDEX].customer.number.oneOf.0","typeLabel":"string"},{"description":"Human-readable number (customer number, subscription number, invoice number).","type":"null","uniqueKey":"byCustomerAndProduct.data.items.[INDEX].customer.number.oneOf.1","typeLabel":"null"}],"uniqueKey":"byCustomerAndProduct.data.items.[INDEX].customer.number","typeLabel":"string | null"},"name":{"oneOf":[{"description":"Display name.","type":"string","uniqueKey":"byCustomerAndProduct.data.items.[INDEX].customer.name.oneOf.0","typeLabel":"string"},{"description":"Display name.","type":"null","uniqueKey":"byCustomerAndProduct.data.items.[INDEX].customer.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"byCustomerAndProduct.data.items.[INDEX].customer.name","typeLabel":"string | null"}},"uniqueKey":"byCustomerAndProduct.data.items.[INDEX].customer","typeLabel":"object"},"values":{"description":"Net revenue per month, aligned with `months`.","type":"array","items":{"description":"A money amount. `amount` is an exact decimal string with two decimal places (net, excluding VAT, unless stated otherwise); `currency` is the ISO-4217 code.","properties":{"amount":{"description":"Exact decimal amount with two decimal places, dot as separator. Negative amounts carry a leading minus.","type":"string","example":"1234.56","uniqueKey":"byCustomerAndProduct.data.items.[INDEX].values.items.[INDEX].amount","typeLabel":"string"},"currency":{"description":"ISO-4217 currency code.","type":"string","example":"EUR","uniqueKey":"byCustomerAndProduct.data.items.[INDEX].values.items.[INDEX].currency","typeLabel":"string"}},"type":"object","uniqueKey":"byCustomerAndProduct.data.items.[INDEX].values.items.[INDEX]","typeLabel":"object"},"uniqueKey":"byCustomerAndProduct.data.items.[INDEX].values","typeLabel":"object[]"},"total":{"type":"object","description":"Net revenue in the range.","properties":{"amount":{"description":"Exact decimal amount with two decimal places, dot as separator. Negative amounts carry a leading minus.","type":"string","example":"1234.56","uniqueKey":"byCustomerAndProduct.data.items.[INDEX].total.amount","typeLabel":"string"},"currency":{"description":"ISO-4217 currency code.","type":"string","example":"EUR","uniqueKey":"byCustomerAndProduct.data.items.[INDEX].total.currency","typeLabel":"string"}},"uniqueKey":"byCustomerAndProduct.data.items.[INDEX].total","typeLabel":"object"},"sparkline":{"description":"Net revenue of the twelve months ending with the last month of the range, as exact decimal strings, oldest first.","type":"array","items":{"type":"string","example":"1200.00","uniqueKey":"byCustomerAndProduct.data.items.[INDEX].sparkline.items.[INDEX]","typeLabel":"string"},"uniqueKey":"byCustomerAndProduct.data.items.[INDEX].sparkline","typeLabel":"string[]"},"products":{"description":"Product sub-rows.","type":"array","items":{"description":"Net revenue of one product per month.","properties":{"product":{"type":"object","description":"The product; `id` and `name` are null for positions without product.","properties":{"id":{"oneOf":[{"description":"Id (UUID).","type":"string","uniqueKey":"byCustomerAndProduct.data.items.[INDEX].products.items.[INDEX].product.id.oneOf.0","typeLabel":"string"},{"description":"Id (UUID).","type":"null","uniqueKey":"byCustomerAndProduct.data.items.[INDEX].products.items.[INDEX].product.id.oneOf.1","typeLabel":"null"}],"uniqueKey":"byCustomerAndProduct.data.items.[INDEX].products.items.[INDEX].product.id","typeLabel":"string | null"},"number":{"oneOf":[{"description":"Human-readable number (customer number, subscription number, invoice number).","type":"string","uniqueKey":"byCustomerAndProduct.data.items.[INDEX].products.items.[INDEX].product.number.oneOf.0","typeLabel":"string"},{"description":"Human-readable number (customer number, subscription number, invoice number).","type":"null","uniqueKey":"byCustomerAndProduct.data.items.[INDEX].products.items.[INDEX].product.number.oneOf.1","typeLabel":"null"}],"uniqueKey":"byCustomerAndProduct.data.items.[INDEX].products.items.[INDEX].product.number","typeLabel":"string | null"},"name":{"oneOf":[{"description":"Display name.","type":"string","uniqueKey":"byCustomerAndProduct.data.items.[INDEX].products.items.[INDEX].product.name.oneOf.0","typeLabel":"string"},{"description":"Display name.","type":"null","uniqueKey":"byCustomerAndProduct.data.items.[INDEX].products.items.[INDEX].product.name.oneOf.1","typeLabel":"null"}],"uniqueKey":"byCustomerAndProduct.data.items.[INDEX].products.items.[INDEX].product.name","typeLabel":"string | null"}},"uniqueKey":"byCustomerAndProduct.data.items.[INDEX].products.items.[INDEX].product","typeLabel":"object"},"values":{"description":"Net revenue per month, aligned with `months`.","type":"array","items":{"description":"A money amount. `amount` is an exact decimal string with two decimal places (net, excluding VAT, unless stated otherwise); `currency` is the ISO-4217 code.","properties":{"amount":{"description":"Exact decimal amount with two decimal places, dot as separator. Negative amounts carry a leading minus.","type":"string","example":"1234.56","uniqueKey":"byCustomerAndProduct.data.items.[INDEX].products.items.[INDEX].values.items.[INDEX].amount","typeLabel":"string"},"currency":{"description":"ISO-4217 currency code.","type":"string","example":"EUR","uniqueKey":"byCustomerAndProduct.data.items.[INDEX].products.items.[INDEX].values.items.[INDEX].currency","typeLabel":"string"}},"type":"object","uniqueKey":"byCustomerAndProduct.data.items.[INDEX].products.items.[INDEX].values.items.[INDEX]","typeLabel":"object"},"uniqueKey":"byCustomerAndProduct.data.items.[INDEX].products.items.[INDEX].values","typeLabel":"object[]"},"total":{"type":"object","description":"Net revenue in the range.","properties":{"amount":{"description":"Exact decimal amount with two decimal places, dot as separator. Negative amounts carry a leading minus.","type":"string","example":"1234.56","uniqueKey":"byCustomerAndProduct.data.items.[INDEX].products.items.[INDEX].total.amount","typeLabel":"string"},"currency":{"description":"ISO-4217 currency code.","type":"string","example":"EUR","uniqueKey":"byCustomerAndProduct.data.items.[INDEX].products.items.[INDEX].total.currency","typeLabel":"string"}},"uniqueKey":"byCustomerAndProduct.data.items.[INDEX].products.items.[INDEX].total","typeLabel":"object"}},"type":"object","uniqueKey":"byCustomerAndProduct.data.items.[INDEX].products.items.[INDEX]","typeLabel":"object"},"uniqueKey":"byCustomerAndProduct.data.items.[INDEX].products","typeLabel":"object[]"}},"type":"object","uniqueKey":"byCustomerAndProduct.data.items.[INDEX]","typeLabel":"object"},"uniqueKey":"byCustomerAndProduct.data","typeLabel":"object[]"},"meta":{"type":"object","description":"`page`, `pageSize` and `total` (customers matching the filters and the search).","properties":{"page":{"description":"Current page, starting at 1.","type":"integer","example":1,"uniqueKey":"byCustomerAndProduct.meta.page","typeLabel":"integer"},"pageSize":{"description":"Maximum number of entries per page.","type":"integer","example":25,"uniqueKey":"byCustomerAndProduct.meta.pageSize","typeLabel":"integer"},"total":{"description":"Number of entries over all pages.","type":"integer","example":112,"uniqueKey":"byCustomerAndProduct.meta.total","typeLabel":"integer"},"sum":{"oneOf":[{"type":"object","description":"Sum of `amount` over all entries of all pages (drill-down lists only). It equals the value of the cell the list explains; for contraction and lost the lines carry the signed change, so their sum is the negative of the unsigned cell.","properties":{"amount":{"description":"Exact decimal amount with two decimal places, dot as separator. Negative amounts carry a leading minus.","type":"string","example":"1234.56","uniqueKey":"byCustomerAndProduct.meta.sum.oneOf.0.amount","typeLabel":"string"},"currency":{"description":"ISO-4217 currency code.","type":"string","example":"EUR","uniqueKey":"byCustomerAndProduct.meta.sum.oneOf.0.currency","typeLabel":"string"}},"uniqueKey":"byCustomerAndProduct.meta.sum.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"byCustomerAndProduct.meta.sum.oneOf.1","typeLabel":"null"}],"uniqueKey":"byCustomerAndProduct.meta.sum","typeLabel":"object | null"},"asOf":{"oneOf":[{"description":"When the figures were last calculated (ISO 8601). Null when no calculation exists yet.","type":"string","format":"date-time","uniqueKey":"byCustomerAndProduct.meta.asOf.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"When the figures were last calculated (ISO 8601). Null when no calculation exists yet.","type":"null","format":"date-time","uniqueKey":"byCustomerAndProduct.meta.asOf.oneOf.1","typeLabel":"null"}],"uniqueKey":"byCustomerAndProduct.meta.asOf","typeLabel":"string\u003cdate-time> | null"}},"uniqueKey":"byCustomerAndProduct.meta","typeLabel":"object"}},"uniqueKey":"byCustomerAndProduct","typeLabel":"object"},"totals":{"description":"Totals over the range: `net` (all revenue).","type":"object","additionalProperties":{"description":"A money amount. `amount` is an exact decimal string with two decimal places (net, excluding VAT, unless stated otherwise); `currency` is the ISO-4217 code.","properties":{"amount":{"description":"Exact decimal amount with two decimal places, dot as separator. Negative amounts carry a leading minus.","type":"string","example":"1234.56","uniqueKey":"totals.additionalProperties.amount","typeLabel":"string"},"currency":{"description":"ISO-4217 currency code.","type":"string","example":"EUR","uniqueKey":"totals.additionalProperties.currency","typeLabel":"string"}},"type":"object","uniqueKey":"totals.additionalProperties","typeLabel":"object"},"uniqueKey":"totals","typeLabel":"object"},"meta":{"type":"object","description":"Calculation time, effective scope and currency, finding counts.","properties":{"asOf":{"oneOf":[{"description":"When the figures were last calculated (ISO 8601). Null when no calculation exists yet.","type":"string","format":"date-time","uniqueKey":"meta.asOf.oneOf.0","typeLabel":"string\u003cdate-time>"},{"description":"When the figures were last calculated (ISO 8601). Null when no calculation exists yet.","type":"null","format":"date-time","uniqueKey":"meta.asOf.oneOf.1","typeLabel":"null"}],"uniqueKey":"meta.asOf","typeLabel":"string\u003cdate-time> | null"},"buildId":{"oneOf":[{"description":"Id of the calculation the figures come from. Null when no calculation exists yet.","type":"string","uniqueKey":"meta.buildId.oneOf.0","typeLabel":"string"},{"description":"Id of the calculation the figures come from. Null when no calculation exists yet.","type":"null","uniqueKey":"meta.buildId.oneOf.1","typeLabel":"null"}],"uniqueKey":"meta.buildId","typeLabel":"string | null"},"scope":{"description":"Effective movement scope: the level on which new, expansion, contraction, lost and resurrecting are classified.","type":"string","enum":["subscription","invoice_address","customer","organisation"],"example":"invoice_address","uniqueKey":"meta.scope","typeLabel":"enum\u003cstring>"},"currency":{"description":"Effective currency (ISO-4217). Amounts are never converted between currencies.","type":"string","example":"EUR","uniqueKey":"meta.currency","typeLabel":"string"},"from":{"description":"First month of the range (YYYY-MM, time zone of the organisation).","type":"string","example":"2025-10","uniqueKey":"meta.from","typeLabel":"string"},"to":{"description":"Last month of the range (YYYY-MM, time zone of the organisation).","type":"string","example":"2026-09","uniqueKey":"meta.to","typeLabel":"string"},"findings":{"type":"object","description":"Number of data-quality findings of the calculation.","properties":{"error":{"description":"Findings that point at wrong numbers.","type":"integer","example":0,"uniqueKey":"meta.findings.error","typeLabel":"integer"},"warning":{"description":"Findings that point at data that should be checked.","type":"integer","example":3,"uniqueKey":"meta.findings.warning","typeLabel":"integer"},"info":{"description":"Informational findings.","type":"integer","example":12,"uniqueKey":"meta.findings.info","typeLabel":"integer"}},"uniqueKey":"meta.findings","typeLabel":"object"},"filtersNotApplied":{"description":"Datasets of this response that ignore the customer, product or segment filter because the underlying facts have no such dimension (for example receivables at past month ends).","type":"array","items":{"type":"string","uniqueKey":"meta.filtersNotApplied.items.[INDEX]","typeLabel":"string"},"uniqueKey":"meta.filtersNotApplied","typeLabel":"string[]"},"notSnapshotted":{"description":"MRR table rows a month-end snapshot does not hold (invoice, cash and forecast figures). In the snapshot view they keep their current values. Empty when the range has no snapshot or a segment is applied.","type":"array","items":{"type":"string","uniqueKey":"meta.notSnapshotted.items.[INDEX]","typeLabel":"string"},"example":["one_off","accounted_mrr","cash_collected"],"uniqueKey":"meta.notSnapshotted","typeLabel":"string[]"},"projectedFrom":{"oneOf":[{"description":"First month of the range after the current one (YYYY-MM): from there the month-end stocks (open receivables, amounts owed to customers) carry today's open invoices forward, a projection as of today (\"Prognose (Stand heute)\"), not a fact. Null when the range ends in or before the current month.","type":"string","example":"2026-10","uniqueKey":"meta.projectedFrom.oneOf.0","typeLabel":"string"},{"description":"First month of the range after the current one (YYYY-MM): from there the month-end stocks (open receivables, amounts owed to customers) carry today's open invoices forward, a projection as of today (\"Prognose (Stand heute)\"), not a fact. Null when the range ends in or before the current month.","type":"null","example":"2026-10","uniqueKey":"meta.projectedFrom.oneOf.1","typeLabel":"null"}],"uniqueKey":"meta.projectedFrom","typeLabel":"string | null"},"forecast":{"type":"object","description":"Completeness of the invoice forecast (\"Rechnungsprognose\") in the range: `incomplete` with the number of subscriptions whose forecast failed. The forecast rows then show what the other subscriptions bring; they are marked \"unvollständig\", never read as 0.","properties":{"incomplete":{"description":"True when the forecast of at least one subscription failed and the range contains forecast months (the current month or later).","type":"boolean","example":false,"uniqueKey":"meta.forecast.incomplete","typeLabel":"boolean"},"failedSubscriptions":{"description":"Number of subscriptions whose billing forecast failed (0 when complete).","type":"integer","example":0,"uniqueKey":"meta.forecast.failedSubscriptions","typeLabel":"integer"}},"uniqueKey":"meta.forecast","typeLabel":"object"},"build":{"oneOf":[{"type":"object","description":"The latest calculation attempt, also when it failed (\"Berechnung abgebrochen\"). Null when the organisation was never calculated.","properties":{"status":{"description":"Outcome of the attempt: `succeeded`, or `failed` when it broke a consistency check and was cancelled (nothing of it was stored).","type":"string","enum":["succeeded","failed"],"example":"failed","uniqueKey":"meta.build.oneOf.0.status","typeLabel":"enum\u003cstring>"},"builtAt":{"description":"When the attempt started (ISO 8601).","type":"string","format":"date-time","uniqueKey":"meta.build.oneOf.0.builtAt","typeLabel":"string\u003cdate-time>"},"buildId":{"description":"Id of the attempt. Equal to `meta.dataBuildId` when it succeeded.","type":"string","uniqueKey":"meta.build.oneOf.0.buildId","typeLabel":"string"},"failed":{"oneOf":[{"type":"object","description":"The broken checks; null unless `status` is `failed`.","properties":{"invariants":{"description":"Codes of the broken checks (sorted), e.g. `CASH_WITHIN_DOCUMENT`; `IDENTITY` for the MRR identity.","type":"array","items":{"type":"string","uniqueKey":"meta.build.oneOf.0.failed.oneOf.0.invariants.items.[INDEX]","typeLabel":"string"},"example":["CASH_WITHIN_DOCUMENT"],"uniqueKey":"meta.build.oneOf.0.failed.oneOf.0.invariants","typeLabel":"string[]"},"rowCount":{"description":"Number of rows that broke a check (complete, also above the listed rows).","type":"integer","example":5,"uniqueKey":"meta.build.oneOf.0.failed.oneOf.0.rowCount","typeLabel":"integer"},"invoiceRowCount":{"description":"Number of the listed rows that name an invoice. Equal to `rowCount` when every row is an invoice.","type":"integer","example":5,"uniqueKey":"meta.build.oneOf.0.failed.oneOf.0.invoiceRowCount","typeLabel":"integer"}},"uniqueKey":"meta.build.oneOf.0.failed.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"meta.build.oneOf.0.failed.oneOf.1","typeLabel":"null"}],"uniqueKey":"meta.build.oneOf.0.failed","typeLabel":"object | null"}},"uniqueKey":"meta.build.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"meta.build.oneOf.1","typeLabel":"null"}],"uniqueKey":"meta.build","typeLabel":"object | null"},"dataBuildId":{"oneOf":[{"description":"Id of the calculation the figures come from (the last successful one). Differs from `build.buildId` when the latest attempt failed. Null when no calculation exists yet.","type":"string","uniqueKey":"meta.dataBuildId.oneOf.0","typeLabel":"string"},{"description":"Id of the calculation the figures come from (the last successful one). Differs from `build.buildId` when the latest attempt failed. Null when no calculation exists yet.","type":"null","uniqueKey":"meta.dataBuildId.oneOf.1","typeLabel":"null"}],"uniqueKey":"meta.dataBuildId","typeLabel":"string | null"}},"uniqueKey":"meta","typeLabel":"object"},"accountingClosed":{"description":"Per month of `months`: the month's postings are closed in accounting (the ledger of the month is final). The analytics figures follow the source dates (finalization, payment and settlement date, service period) and can still change after the close; a record made after the close is a `POST_CLOSE_CHANGE` finding.","type":"array","items":{"type":"boolean","uniqueKey":"accountingClosed.items.[INDEX]","typeLabel":"boolean"},"uniqueKey":"accountingClosed","typeLabel":"boolean[]"},"revenueDetails":{"description":"Invoiced net revenue per month by class (\"Umsatzdetails\") per currency the organisation has data in: recurring + one-off + variable = total. Over the range the total equals `totals.net`, the sum of `byCountry` and the sum of `byProduct` (same revenue lines, same filter).","type":"array","items":{"description":"Invoiced net revenue of one currency per month by class (\"Umsatzdetails\"): recurring + one-off + variable = total, each month and over the range. The same revenue lines as \"Umsatz je Land\" and \"Umsatz je Produkt\", so the totals over the range are equal. Documents count in the month they were finalized; credit notes and cancellations are negative in their own month. Dunning fees are not revenue.","properties":{"currency":{"description":"ISO-4217 currency code.","type":"string","example":"EUR","uniqueKey":"revenueDetails.items.[INDEX].currency","typeLabel":"string"},"recurring":{"description":"Recurring positions (\"Wiederkehrend\"), per month.","type":"array","items":{"description":"A money amount. `amount` is an exact decimal string with two decimal places (net, excluding VAT, unless stated otherwise); `currency` is the ISO-4217 code.","properties":{"amount":{"description":"Exact decimal amount with two decimal places, dot as separator. Negative amounts carry a leading minus.","type":"string","example":"1234.56","uniqueKey":"revenueDetails.items.[INDEX].recurring.items.[INDEX].amount","typeLabel":"string"},"currency":{"description":"ISO-4217 currency code.","type":"string","example":"EUR","uniqueKey":"revenueDetails.items.[INDEX].recurring.items.[INDEX].currency","typeLabel":"string"}},"type":"object","uniqueKey":"revenueDetails.items.[INDEX].recurring.items.[INDEX]","typeLabel":"object"},"uniqueKey":"revenueDetails.items.[INDEX].recurring","typeLabel":"object[]"},"oneOff":{"description":"One-off positions (\"Einmalig\"), per month.","type":"array","items":{"description":"A money amount. `amount` is an exact decimal string with two decimal places (net, excluding VAT, unless stated otherwise); `currency` is the ISO-4217 code.","properties":{"amount":{"description":"Exact decimal amount with two decimal places, dot as separator. Negative amounts carry a leading minus.","type":"string","example":"1234.56","uniqueKey":"revenueDetails.items.[INDEX].oneOff.items.[INDEX].amount","typeLabel":"string"},"currency":{"description":"ISO-4217 currency code.","type":"string","example":"EUR","uniqueKey":"revenueDetails.items.[INDEX].oneOff.items.[INDEX].currency","typeLabel":"string"}},"type":"object","uniqueKey":"revenueDetails.items.[INDEX].oneOff.items.[INDEX]","typeLabel":"object"},"uniqueKey":"revenueDetails.items.[INDEX].oneOff","typeLabel":"object[]"},"variable":{"description":"Usage-based and percentage positions (\"Variabel (Monat)\"), per month.","type":"array","items":{"description":"A money amount. `amount` is an exact decimal string with two decimal places (net, excluding VAT, unless stated otherwise); `currency` is the ISO-4217 code.","properties":{"amount":{"description":"Exact decimal amount with two decimal places, dot as separator. Negative amounts carry a leading minus.","type":"string","example":"1234.56","uniqueKey":"revenueDetails.items.[INDEX].variable.items.[INDEX].amount","typeLabel":"string"},"currency":{"description":"ISO-4217 currency code.","type":"string","example":"EUR","uniqueKey":"revenueDetails.items.[INDEX].variable.items.[INDEX].currency","typeLabel":"string"}},"type":"object","uniqueKey":"revenueDetails.items.[INDEX].variable.items.[INDEX]","typeLabel":"object"},"uniqueKey":"revenueDetails.items.[INDEX].variable","typeLabel":"object[]"},"total":{"description":"Recurring + one-off + variable (\"Gesamt\"), per month.","type":"array","items":{"description":"A money amount. `amount` is an exact decimal string with two decimal places (net, excluding VAT, unless stated otherwise); `currency` is the ISO-4217 code.","properties":{"amount":{"description":"Exact decimal amount with two decimal places, dot as separator. Negative amounts carry a leading minus.","type":"string","example":"1234.56","uniqueKey":"revenueDetails.items.[INDEX].total.items.[INDEX].amount","typeLabel":"string"},"currency":{"description":"ISO-4217 currency code.","type":"string","example":"EUR","uniqueKey":"revenueDetails.items.[INDEX].total.items.[INDEX].currency","typeLabel":"string"}},"type":"object","uniqueKey":"revenueDetails.items.[INDEX].total.items.[INDEX]","typeLabel":"object"},"uniqueKey":"revenueDetails.items.[INDEX].total","typeLabel":"object[]"},"totals":{"description":"Sums over the range per row: `recurring`, `oneOff`, `variable`, `total`.","type":"object","additionalProperties":{"description":"A money amount. `amount` is an exact decimal string with two decimal places (net, excluding VAT, unless stated otherwise); `currency` is the ISO-4217 code.","properties":{"amount":{"description":"Exact decimal amount with two decimal places, dot as separator. Negative amounts carry a leading minus.","type":"string","example":"1234.56","uniqueKey":"revenueDetails.items.[INDEX].totals.additionalProperties.amount","typeLabel":"string"},"currency":{"description":"ISO-4217 currency code.","type":"string","example":"EUR","uniqueKey":"revenueDetails.items.[INDEX].totals.additionalProperties.currency","typeLabel":"string"}},"type":"object","uniqueKey":"revenueDetails.items.[INDEX].totals.additionalProperties","typeLabel":"object"},"uniqueKey":"revenueDetails.items.[INDEX].totals","typeLabel":"object"}},"type":"object","uniqueKey":"revenueDetails.items.[INDEX]","typeLabel":"object"},"uniqueKey":"revenueDetails","typeLabel":"object[]"}},"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"months":["\u003cstring>"],"byCountry":[{"countryCode":"DE","net":{"amount":"1234.56","currency":"EUR"},"share":"0.250000"}],"arrAtPeriodEnd":{"committed":[{"amount":"1234.56","currency":"EUR"}],"variable":[{"amount":"1234.56","currency":"EUR"}],"total":[{"amount":"1234.56","currency":"EUR"}]},"details":[{"currency":"EUR","committed":[{"amount":"1234.56","currency":"EUR"}],"variable":[{"amount":"1234.56","currency":"EUR"}],"arr":[{"amount":"1234.56","currency":"EUR"}],"oneOff":[{"amount":"1234.56","currency":"EUR"}]}],"byProduct":[{"product":{"id":"\u003cstring>","number":"\u003cstring>","name":"\u003cstring>"},"values":[{"amount":"1234.56","currency":"EUR"}],"total":{"amount":"1234.56","currency":"EUR"}}],"topProducts":[{"product":{"id":"\u003cstring>","number":"\u003cstring>","name":"\u003cstring>"},"net":{"amount":"1234.56","currency":"EUR"},"share":"0.125000"}],"byCustomerAndProduct":{"data":[{"customer":{"id":"\u003cstring>","number":"\u003cstring>","name":"\u003cstring>"},"values":[{"amount":"1234.56","currency":"EUR"}],"total":{"amount":"1234.56","currency":"EUR"},"sparkline":["1200.00"],"products":[{"product":{"id":"\u003cstring>","number":"\u003cstring>","name":"\u003cstring>"},"values":[{"amount":"1234.56","currency":"EUR"}],"total":{"amount":"1234.56","currency":"EUR"}}]}],"meta":{"page":1,"pageSize":25,"total":112,"sum":{"amount":"1234.56","currency":"EUR"},"asOf":"2023-11-07T05:31:56Z"}},"totals":{},"meta":{"asOf":"2023-11-07T05:31:56Z","buildId":"\u003cstring>","scope":"invoice_address","currency":"EUR","from":"2025-10","to":"2026-09","findings":{"error":0,"warning":3,"info":12},"filtersNotApplied":["\u003cstring>"],"notSnapshotted":["one_off","accounted_mrr","cash_collected"],"projectedFrom":"2026-10","forecast":{"incomplete":false,"failedSubscriptions":0},"build":{"status":"failed","builtAt":"2023-11-07T05:31:56Z","buildId":"\u003cstring>","failed":{"invariants":["CASH_WITHIN_DOCUMENT"],"rowCount":5,"invoiceRowCount":5}},"dataBuildId":"\u003cstring>"},"accountingClosed":[true],"revenueDetails":[{"currency":"EUR","recurring":[{"amount":"1234.56","currency":"EUR"}],"oneOff":[{"amount":"1234.56","currency":"EUR"}],"variable":[{"amount":"1234.56","currency":"EUR"}],"total":[{"amount":"1234.56","currency":"EUR"}],"totals":{}}]}}},"exampleType":"generated"}},"exampleType":"generated"},"687745ee-d5d4-4348-9a8d-af6c9ad666b7":{"description":"Missing or invalid authentication.","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}},"238943c9-3c9c-4980-a499-1d8281881f04":{"description":"Missing permission `analytics:read` (`FRAMEWORK__ACCESS_DENIED`), or the finance reports are not enabled for the organisation (feature flag `analytics.advanced`, `type` https://fynn.dev/problems/feature-not-available).","content":{"application/problem+json":{"schema":{"oneOf":[{"type":"object","description":"Error body (problem+json). `type` is the error key, e.g. `ANALYTICS_MRR_FINANCIALS__SNAPSHOT_MONTH_NOT_ENDED`; further keys carry the parameters of the error.","required":["status","type","title","detail"],"properties":{"status":{"type":"integer","example":409,"isRequired":true,"uniqueKey":"oneOf.0.status","typeLabel":"integer"},"type":{"type":"string","example":"ANALYTICS_MRR_FINANCIALS__SNAPSHOT_MONTH_NOT_ENDED","isRequired":true,"uniqueKey":"oneOf.0.type","typeLabel":"string"},"title":{"type":"string","example":"An error occurred","isRequired":true,"uniqueKey":"oneOf.0.title","typeLabel":"string"},"detail":{"type":"string","description":"German sentence that can be shown to the user.","isRequired":true,"uniqueKey":"oneOf.0.detail","typeLabel":"string"}},"additionalProperties":true,"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"403 body when the finance reports are not enabled for the organisation (feature flag `analytics.advanced`).","required":["type","title","detail","featureFlags"],"properties":{"type":{"type":"string","enum":["https://fynn.dev/problems/feature-not-available"],"isRequired":true,"uniqueKey":"oneOf.1.type","typeLabel":"enum\u003cstring>"},"title":{"type":"string","example":"Feature not available","isRequired":true,"uniqueKey":"oneOf.1.title","typeLabel":"string"},"detail":{"type":"string","example":"The requested feature is not available. Please contact customer support.","isRequired":true,"uniqueKey":"oneOf.1.detail","typeLabel":"string"},"featureFlags":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.featureFlags.items.[INDEX]","typeLabel":"string"},"example":["analytics.advanced"],"isRequired":true,"uniqueKey":"oneOf.1.featureFlags","typeLabel":"string[]"}},"additionalProperties":true,"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":409,"type":"ANALYTICS_MRR_FINANCIALS__SNAPSHOT_MONTH_NOT_ENDED","title":"An error occurred","detail":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"314b280a-5955-4480-9d75-f81169bf7487":{"description":"Invalid query parameter. The body lists the offending parameters in `violations` (`propertyPath`, `message`, `code`).","content":{"application/problem+json":{"schema":{"type":"object","description":"422 body: one entry per rejected field in `violations`.","properties":{"status":{"type":"integer","example":422,"isRequired":true,"uniqueKey":"status","typeLabel":"integer"},"type":{"type":"string","example":"https://tools.ietf.org/html/rfc2616#section-10","isRequired":true,"uniqueKey":"type","typeLabel":"string"},"violations":{"type":"array","items":{"type":"object","properties":{"propertyPath":{"type":"string","example":"to","isRequired":true,"uniqueKey":"violations.items.[INDEX].propertyPath","typeLabel":"string"},"message":{"type":"string","example":"Der Zeitraum darf höchstens 36 Monate umfassen.","isRequired":true,"uniqueKey":"violations.items.[INDEX].message","typeLabel":"string"},"code":{"type":"string","example":"analytics.mrr_financials.range_too_long","isRequired":true,"uniqueKey":"violations.items.[INDEX].code","typeLabel":"string"}},"required":["propertyPath","message","code"],"uniqueKey":"violations.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"violations","typeLabel":"object[]"},"title":{"type":"string","example":"Validation Failed","uniqueKey":"title","typeLabel":"string"},"detail":{"type":"string","uniqueKey":"detail","typeLabel":"string"}},"required":["status","type","violations"],"additionalProperties":true,"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"status":422,"type":"https://tools.ietf.org/html/rfc2616#section-10","violations":[{"propertyPath":"to","message":"Der Zeitraum darf höchstens 36 Monate umfassen.","code":"analytics.mrr_financials.range_too_long"}],"title":"Validation Failed","detail":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"de07a691-608d-4560-b4da-1225bda98bc9":{"ApiToken":{"type":"http","scheme":"bearer","description":"API token of the organisation. Send it as Authorization: Bearer api_... The token is bound to exactly one organisation.","scopes":[],"schemeName":"ApiToken"}}},"servers":{"58ca1bf5-c883-4c98-a975-3a85f96f2f94":{"url":"https://coreapi.io","description":"Production"},"761f9cb6-1d17-4197-9e03-b79594029e5c":{"url":"https://preview.coreapi.io","description":"Sandbox"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"API token of the organisation. Send it as Authorization: Bearer api_... The token is bound to exactly one organisation.","scopes":[],"schemeName":"ApiToken"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"API token of the organisation. Send it as Authorization: Bearer api_... The token is bound to exactly one organisation.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"ApiToken","name":"Authorization"}],"title":"ApiToken"}]},"originalFileLocation":"assets/openapi-v2-finance.json"},"subdomain":"fynnsubscriptionbilling","siteName":"Fynn Docs","title":"Revenue page datasets - Fynn Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"de":{"href":"/v2-finance-api/datasets/get-revenue","matchLevel":0},"en":{"href":"/en/introduction","matchLevel":4}}},"lastModified":"2026-10-25T20:26:34.044Z","originalFileLocation":"v2-finance-api/datasets/get-revenue.mdx","locale":"de"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Billed net revenue (all classes; net = gross − tax after position discounts, credit notes negative) by country, by product and per customer with product sub-rows, the top products, and ARR at each month end: committed (MRR × 12) plus the trailing twelve-month variable revenue. One currency, never converted; details repeats the ARR series for every currency the organisation has. Required permission: analytics:read.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Fynn Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/fynnsubscriptionbilling/aEyoysRsbJwnVfa3/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/fynnsubscriptionbilling/aEyoysRsbJwnVfa3/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/fynnsubscriptionbilling/aEyoysRsbJwnVfa3/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/fynnsubscriptionbilling/aEyoysRsbJwnVfa3/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/fynnsubscriptionbilling/aEyoysRsbJwnVfa3/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/fynnsubscriptionbilling/aEyoysRsbJwnVfa3/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/fynnsubscriptionbilling/aEyoysRsbJwnVfa3/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/fynnsubscriptionbilling/aEyoysRsbJwnVfa3/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/fynnsubscriptionbilling/aEyoysRsbJwnVfa3/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Revenue page datasets - Fynn Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Billed net revenue (all classes; net = gross − tax after position discounts, credit notes negative) by country, by product and per customer with product sub-rows, the top products, and ARR at each month end: committed (MRR × 12) plus the trailing twelve-month variable revenue. One currency, never converted; details repeats the ARR series for every currency the organisation has. Required permission: analytics:read.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Fynn Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.fynn.eu/v2-finance-api/datasets/get-revenue\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://fynnsubscriptionbilling.mintlify.app/_mintlify/api/og/v2?division=Datens%C3%A4tze\u0026amp;title=Revenue+page+datasets\u0026amp;description=Billed+net+revenue+%28all+classes%3B+net+%3D+gross+%E2%88%92+tax+after+position+discounts%2C+credit+notes+negative%29+by+country%2C+by+product+and+per+customer+with+product+sub-row\u0026amp;theme=4b76c1a49202070b198dd6e7\u0026amp;signature=2d420fa88c7e17ee561441df7ee2abbb79993669452e544de782096466501a19\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Revenue page datasets - Fynn Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Billed net revenue (all classes; net = gross − tax after position discounts, credit notes negative) by country, by product and per customer with product sub-rows, the top products, and ARR at each month end: committed (MRR × 12) plus the trailing twelve-month variable revenue. One currency, never converted; details repeats the ARR series for every currency the organisation has. Required permission: analytics:read.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://fynnsubscriptionbilling.mintlify.app/_mintlify/api/og/v2?division=Datens%C3%A4tze\u0026amp;title=Revenue+page+datasets\u0026amp;description=Billed+net+revenue+%28all+classes%3B+net+%3D+gross+%E2%88%92+tax+after+position+discounts%2C+credit+notes+negative%29+by+country%2C+by+product+and+per+customer+with+product+sub-row\u0026amp;theme=4b76c1a49202070b198dd6e7\u0026amp;signature=2d420fa88c7e17ee561441df7ee2abbb79993669452e544de782096466501a19\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/fynnsubscriptionbilling/aEyoysRsbJwnVfa3/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Fynn Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#000\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.fynn.eu/v2-finance-api/datasets/get-revenue\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/v2-finance-api/datasets/get-revenue.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.fynn.eu/#organization\",\"name\":\"Fynn Docs\",\"url\":\"https://docs.fynn.eu\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/fynnsubscriptionbilling/kPbBeWVEZfmEic9q/logo/logo-dark.svg?fit=max\u0026auto=format\u0026n=kPbBeWVEZfmEic9q\u0026q=85\u0026s=83e4b30a53d77c3809e0f22afa29335d\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.fynn.eu#website\",\"name\":\"Fynn Docs\",\"url\":\"https://docs.fynn.eu\",\"publisher\":{\"@id\":\"https://docs.fynn.eu/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.fynn.eu/v2-finance-api/datasets/get-revenue#webpage\",\"url\":\"https://docs.fynn.eu/v2-finance-api/datasets/get-revenue\",\"name\":\"Revenue page datasets\",\"description\":\"Billed net revenue (all classes; net = gross − tax after position discounts, credit notes negative) by country, by product and per customer with product sub-rows, the top products, and ARR at each month end: committed (MRR × 12) plus the trailing twelve-month variable revenue. One currency, never converted; details repeats the ARR series for every currency the organisation has. Required permission: analytics:read.\",\"dateModified\":\"2026-10-25T20:26:34.044Z\",\"isPartOf\":{\"@id\":\"https://docs.fynn.eu#website\"},\"breadcrumb\":{\"@id\":\"https://docs.fynn.eu/v2-finance-api/datasets/get-revenue#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.fynn.eu/v2-finance-api/datasets/get-revenue#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Finanzberichte\",\"item\":\"https://docs.fynn.eu/v2-finance-api/concepts\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API\",\"item\":\"https://docs.fynn.eu/v2-finance-api/datasets/get-recurring\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Datensätze\",\"item\":\"https://docs.fynn.eu/v2-finance-api/datasets/get-recurring\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Revenue page datasets\",\"item\":\"https://docs.fynn.eu/v2-finance-api/datasets/get-revenue\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.fynn.eu/v2-finance-api/datasets/get-revenue#apireference\",\"headline\":\"Revenue page datasets\",\"name\":\"Revenue page datasets\",\"description\":\"Billed net revenue (all classes; net = gross − tax after position discounts, credit notes negative) by country, by product and per customer with product sub-rows, the top products, and ARR at each month end: committed (MRR × 12) plus the trailing twelve-month variable revenue. One currency, never converted; details repeats the ARR series for every currency the organisation has. Required permission: analytics:read.\",\"url\":\"https://docs.fynn.eu/v2-finance-api/datasets/get-revenue\",\"mainEntityOfPage\":{\"@id\":\"https://docs.fynn.eu/v2-finance-api/datasets/get-revenue#webpage\"},\"dateModified\":\"2026-10-25T20:26:34.044Z\",\"publisher\":{\"@id\":\"https://docs.fynn.eu/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.fynn.eu#website\"}}]}\u003c/script>","siteName":"Fynn Docs","nav":{"global":null,"languages":[{"language":"de","default":true,"tabs":[{"tab":"Dokumentation","pages":[{"title":"Dokumentation","href":"/introduction"}]},{"tab":"Integrationen","pages":[{"title":"Integrationen","href":"/integrations/overview"}]},{"tab":"API Referenz","pages":[{"title":"API Referenz","href":"/api-reference/introduction"}]},{"tab":"API V2","groups":[{"group":"Einführung","icon":"compass","pages":[{"title":"Fynn API V2","sidebarTitle":"Einführung","icon":"compass","href":"/v2-plans-api/introduction"}]},{"group":"Grundlagen","icon":"cube","pages":[{"title":"Authentifizierung","sidebarTitle":"Authentifizierung","icon":"key","href":"/v2-plans-api/authentication"},{"title":"Asynchrone Abrechnung","sidebarTitle":"Asynchrone Abrechnung","icon":"receipt","href":"/v2-plans-api/billing"}]},{"group":"Pläne","icon":"layer-group","pages":[{"title":"Schnellstart","sidebarTitle":"Schnellstart","icon":"rocket","href":"/v2-plans-api/quickstart"},{"title":"Kernkonzepte","sidebarTitle":"Kernkonzepte","icon":"book","href":"/v2-plans-api/concepts"},{"title":"Up- und Downgrades","sidebarTitle":"Up- und Downgrades","icon":"arrow-up-arrow-down","href":"/v2-plans-api/upgrades-downgrades"},{"title":"Checkout","sidebarTitle":"Checkout","icon":"cart-shopping","href":"/v2-plans-api/checkout-and-sales-channels"},{"group":"API","pages":[{"group":"Plan-Verwaltung","pages":[{"openapi":"get /api/plans","title":"List plans","href":"/v2-plans-api/plans/list-plans"},{"openapi":"post /api/plans","title":"Create a plan","href":"/v2-plans-api/plans/create-plan"},{"openapi":"get /api/plans/{id}","title":"Retrieve a plan","href":"/v2-plans-api/plans/get-plan"},{"openapi":"put /api/plans/{id}","title":"Update a plan","href":"/v2-plans-api/plans/update-plan"},{"openapi":"post /api/plans/{id}/activate","title":"Activate a plan","href":"/v2-plans-api/plans/activate-plan"},{"openapi":"delete /api/plans/{id}","title":"Delete or archive a plan","href":"/v2-plans-api/plans/delete-plan"}]},{"group":"Checkout-Links","pages":[{"openapi":"post /api/plans/{id}/checkout-links","title":"Create a checkout link","href":"/v2-plans-api/checkout-links/create-checkout-link"},{"openapi":"get /api/plans/{id}/checkout-links","title":"List checkout links of a plan","href":"/v2-plans-api/checkout-links/list-checkout-links"}]},{"group":"Tarifwechsel","pages":[{"openapi":"get /api/customer/subscriptions/{id}/plan-options","title":"Get plan switch options","href":"/v2-plans-api/customer/plan-options"},{"openapi":"post /api/customer/subscriptions/{id}/plan-tier-preview","title":"Preview a tier switch","href":"/v2-plans-api/customer/preview-plan-tier-switch"},{"openapi":"post /api/customer/subscriptions/{id}/switch-plan-tier","title":"Switch the plan tier","href":"/v2-plans-api/customer/switch-plan-tier"}]}]}]},{"group":"Angebote","icon":"file-signature","pages":[{"title":"Angebote","sidebarTitle":"Einführung","icon":"file-signature","href":"/v2-offers-api/introduction"},{"title":"Schnellstart","sidebarTitle":"Schnellstart","icon":"rocket","href":"/v2-offers-api/quickstart"},{"title":"Kernkonzepte","sidebarTitle":"Kernkonzepte","icon":"book","href":"/v2-offers-api/concepts"},{"title":"Der Angebots-Editor","sidebarTitle":"Der Editor","icon":"pen-ruler","href":"/v2-offers-api/editor"},{"title":"Die Angebots-Ansicht","sidebarTitle":"Angebots-Ansicht","icon":"eye","href":"/v2-offers-api/angebots-ansicht"},{"title":"Annahme und Signatur","sidebarTitle":"Annahme und Signatur","icon":"file-signature","href":"/v2-offers-api/acceptance-and-signing"},{"title":"Rechnungsdaten","sidebarTitle":"Rechnungsdaten","icon":"receipt","href":"/v2-offers-api/billing-details"},{"title":"Veröffentlichen und Empfänger","sidebarTitle":"Veröffentlichen","icon":"paper-plane","href":"/v2-offers-api/sending-and-recipients"},{"title":"Freigaben","sidebarTitle":"Freigaben","icon":"circle-check","href":"/v2-offers-api/freigaben"},{"title":"Einstellungen","sidebarTitle":"Einstellungen","icon":"gear","href":"/v2-offers-api/settings"},{"title":"Authentifizierung","sidebarTitle":"Authentifizierung","icon":"key","href":"/v2-offers-api/authentication"},{"title":"Webhooks","sidebarTitle":"Webhooks","icon":"bell","href":"/v2-offers-api/webhooks"},{"group":"API","pages":[{"group":"Angebote","pages":[{"openapi":"assets/openapi-v2-offers.json get /offers","title":"List offers","href":"/v2-offers-api/offers/list-offers"},{"openapi":"assets/openapi-v2-offers.json get /api/offers/{id}","title":"Get an offer","href":"/v2-offers-api/offers/get-offer"},{"openapi":"assets/openapi-v2-offers.json put /offers/{id}","title":"Update an offer","href":"/v2-offers-api/offers/update-offer"},{"openapi":"assets/openapi-v2-offers.json get /offers/{id}/document","title":"Download an offer as PDF","href":"/v2-offers-api/offers/download-offer"},{"openapi":"assets/openapi-v2-offers.json post /api/offers/{id}/publish","title":"Publish an offer","href":"/v2-offers-api/offers/publish-offer"},{"openapi":"assets/openapi-v2-offers.json post /api/offers/{id}/accept","title":"Accept an offer manually","href":"/v2-offers-api/offers/accept-offer"},{"openapi":"assets/openapi-v2-offers.json post /offers/{id}/cancel-signing","title":"Cancel a signing process","href":"/v2-offers-api/offers/cancel-signing"},{"openapi":"assets/openapi-v2-offers.json post /offers/{id}/recipients","title":"Add a recipient","href":"/v2-offers-api/offers/add-recipient"},{"openapi":"assets/openapi-v2-offers.json get /api/offers/{id}/activities","title":"List offer activity","href":"/v2-offers-api/offers/list-activities"},{"openapi":"assets/openapi-v2-offers.json delete /offers/{id}","title":"Archive an offer","href":"/v2-offers-api/offers/archive-offer"}]},{"group":"Freigabe","pages":[{"openapi":"assets/openapi-v2-offers.json get /api/offers/{id}/approval","title":"Get the approval state","href":"/v2-offers-api/approval/get-approval"},{"openapi":"assets/openapi-v2-offers.json post /api/offers/{id}/approval/approve","title":"Approve a pending request","href":"/v2-offers-api/approval/approve"},{"openapi":"assets/openapi-v2-offers.json post /api/offers/{id}/approval/reject","title":"Reject a pending request","href":"/v2-offers-api/approval/reject"},{"openapi":"assets/openapi-v2-offers.json post /api/offers/{id}/approval/cancel","title":"Cancel a pending request","href":"/v2-offers-api/approval/cancel-approval"}]}]}]},{"group":"Finanzberichte","icon":"chart-line","pages":[{"title":"Finanzberichte: Konzepte","sidebarTitle":"Konzepte","icon":"book","href":"/v2-finance-api/concepts"},{"title":"Datensätze","sidebarTitle":"Datensätze","icon":"table","href":"/v2-finance-api/datasets"},{"title":"Drill-downs","sidebarTitle":"Drill-downs","icon":"magnifying-glass","href":"/v2-finance-api/drill-downs"},{"title":"Snapshots","sidebarTitle":"Snapshots","icon":"lock","href":"/v2-finance-api/snapshots"},{"title":"Excel-Exporte","sidebarTitle":"Excel-Exporte","icon":"file-excel","href":"/v2-finance-api/excel"},{"title":"Fehler","sidebarTitle":"Fehler","icon":"triangle-exclamation","href":"/v2-finance-api/errors"},{"title":"Definitionen","sidebarTitle":"Definitionen","icon":"book-open","href":"/v2-finance-api/definitions"},{"group":"API","pages":[{"group":"Datensätze","pages":[{"openapi":"assets/openapi-v2-finance.json get /api/analytics/finance/recurring","title":"Recurring revenue page datasets","href":"/v2-finance-api/datasets/get-recurring"},{"openapi":"assets/openapi-v2-finance.json get /api/analytics/finance/customers","title":"Customer base page datasets","href":"/v2-finance-api/datasets/get-customers"},{"openapi":"assets/openapi-v2-finance.json get /api/analytics/finance/liquidity","title":"Liquidity page datasets","description":"Key figures (net cash of the range, outstanding and overdue today, DSO over three and twelve months), the overview datasets (cash flow, ageing, receivables trend and table), payment behaviour per payment method, contract against billing, the data quality findings per code and whether each month is closed in accounting. Payment behaviour and DSO are organisation-wide and ignore a segment (`meta.filtersNotApplied`).\n\nRequired permission: `analytics:read`.","href":"/v2-finance-api/datasets/get-liquidity"},{"openapi":"assets/openapi-v2-finance.json get /api/analytics/finance/revenue","title":"Revenue page datasets","href":"/v2-finance-api/datasets/get-revenue"},{"openapi":"assets/openapi-v2-finance.json get /api/analytics/finance/revenue/customers","title":"Revenue per customer, paged","description":"Customers with billed net revenue in the range (all classes; net = gross − tax after position discounts, credit notes negative), ranked by net revenue (descending; equal amounts by customer id), each with product sub-rows and a 12-month sparkline ending with the last month of the range. Same filters as the revenue datasets.\n\nRequired permission: `analytics:read`.","href":"/v2-finance-api/datasets/get-revenue-customers"},{"openapi":"assets/openapi-v2-finance.json get /api/analytics/finance/overview","title":"Finance overview datasets","href":"/v2-finance-api/datasets/get-overview"},{"openapi":"assets/openapi-v2-finance.json get /api/analytics/mrr-financials","title":"MRR financials table","href":"/v2-finance-api/datasets/get-mrr-table"}]},{"group":"Drill-downs und Hinweise","pages":[{"openapi":"assets/openapi-v2-finance.json get /api/analytics/mrr-financials/details","title":"Lines behind one cell of the finance tables","href":"/v2-finance-api/drill-downs/get-details"},{"openapi":"assets/openapi-v2-finance.json get /api/analytics/mrr-financials/findings","title":"Data-quality findings of the MRR calculation","href":"/v2-finance-api/drill-downs/list-findings"},{"openapi":"assets/openapi-v2-finance.json get /api/analytics/mrr-financials/findings/{id}","title":"One data-quality finding with its explanation","href":"/v2-finance-api/drill-downs/get-finding"}]},{"group":"Snapshots","pages":[{"openapi":"assets/openapi-v2-finance.json get /api/analytics/finance/snapshots","title":"Month-end MRR snapshots","href":"/v2-finance-api/snapshots/list-snapshots"},{"openapi":"assets/openapi-v2-finance.json post /api/analytics/finance/snapshots","title":"Take a month-end MRR snapshot again","href":"/v2-finance-api/snapshots/take-snapshot"},{"openapi":"assets/openapi-v2-finance.json get /api/analytics/finance/snapshots/{month}/{version}","title":"Frozen MRR figures of a snapshot","href":"/v2-finance-api/snapshots/get-snapshot"}]},{"group":"Excel-Exporte","pages":[{"openapi":"assets/openapi-v2-finance.json get /api/analytics/finance/recurring/excel","title":"Export the recurring revenue page as XLSX","href":"/v2-finance-api/excel/export-recurring"},{"openapi":"assets/openapi-v2-finance.json get /api/analytics/finance/customers/excel","title":"Export the customer base page as XLSX","href":"/v2-finance-api/excel/export-customers"},{"openapi":"assets/openapi-v2-finance.json get /api/analytics/finance/liquidity/excel","title":"Export the liquidity page as XLSX","href":"/v2-finance-api/excel/export-liquidity"},{"openapi":"assets/openapi-v2-finance.json get /api/analytics/finance/revenue/excel","title":"Export the revenue page as XLSX","href":"/v2-finance-api/excel/export-revenue"},{"openapi":"assets/openapi-v2-finance.json get /api/analytics/mrr-financials/export/excel","title":"Export the MRR financials as XLSX","href":"/v2-finance-api/excel/export-mrr-table"},{"openapi":"assets/openapi-v2-finance.json get /api/analytics/mrr-financials/findings/export/excel","title":"Export the data-quality findings as XLSX","href":"/v2-finance-api/excel/export-findings"}]},{"group":"Definitionen","pages":[{"openapi":"assets/openapi-v2-finance.json get /api/analytics/finance/definitions","title":"Read the finance definitions catalogue","href":"/v2-finance-api/definitions/get-definitions"}]},{"group":"Einstellungen","pages":[{"openapi":"assets/openapi-v2-finance.json get /api/analytics/mrr-financials/settings","title":"Read the finance settings","href":"/v2-finance-api/settings/get-settings"},{"openapi":"assets/openapi-v2-finance.json patch /api/analytics/mrr-financials/settings","title":"Update the finance settings","href":"/v2-finance-api/settings/update-settings"}]}]}]},{"group":"Provisionen","icon":"percent","pages":[{"title":"Provisionen API","sidebarTitle":"Einführung","icon":"percent","href":"/v2-commission-api/introduction"},{"title":"Kernkonzepte","sidebarTitle":"Kernkonzepte","icon":"book","href":"/v2-commission-api/concepts"},{"group":"API","pages":[{"group":"Provisionspläne","pages":[{"openapi":"assets/openapi-v2-commission.json get /api/commissions/plans","title":"List commission plans","href":"/v2-commission-api/plans/list-plans"},{"openapi":"assets/openapi-v2-commission.json post /api/commissions/plans","title":"Create a commission plan","href":"/v2-commission-api/plans/create-plan"},{"openapi":"assets/openapi-v2-commission.json get /api/commissions/plans/{id}","title":"Get a commission plan","href":"/v2-commission-api/plans/get-plan"},{"openapi":"assets/openapi-v2-commission.json put /api/commissions/plans/{id}","title":"Update a commission plan","href":"/v2-commission-api/plans/update-plan"},{"openapi":"assets/openapi-v2-commission.json delete /api/commissions/plans/{id}","title":"Delete a commission plan","href":"/v2-commission-api/plans/delete-plan"}]}]}]},{"group":"Zahlungspläne","icon":"calendar-days","pages":[{"title":"Zahlungsplan API","sidebarTitle":"Einführung","icon":"calendar-days","href":"/v2-payment-plans-api/introduction"},{"title":"Schnellstart","sidebarTitle":"Schnellstart","icon":"rocket","href":"/v2-payment-plans-api/quickstart"},{"title":"Kernkonzepte","sidebarTitle":"Kernkonzepte","icon":"book","href":"/v2-payment-plans-api/concepts"},{"title":"Webhooks","sidebarTitle":"Webhooks","icon":"bell","href":"/v2-payment-plans-api/webhooks"},{"group":"API","pages":[{"group":"Zahlungsplan-Verwaltung","pages":[{"openapi":"assets/openapi-v2-payment-plans.json post /api/payment-plans","title":"Create a payment plan","href":"/v2-payment-plans-api/payment-plans/create-payment-plan"},{"openapi":"assets/openapi-v2-payment-plans.json get /api/payment-plans/{id}","title":"Get a payment plan","href":"/v2-payment-plans-api/payment-plans/get-payment-plan"},{"openapi":"assets/openapi-v2-payment-plans.json get /api/invoices/{id}/payment-plan","title":"Get the payment plan of an invoice","href":"/v2-payment-plans-api/payment-plans/get-invoice-payment-plan"},{"openapi":"assets/openapi-v2-payment-plans.json post /api/payment-plans/{id}/cancel","title":"Cancel a payment plan","href":"/v2-payment-plans-api/payment-plans/cancel-payment-plan"},{"openapi":"assets/openapi-v2-payment-plans.json post /api/payment-plans/{id}/extend","title":"Extend a payment plan","href":"/v2-payment-plans-api/payment-plans/extend-payment-plan"}]}]}]}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog/2026-07"}]}]},{"language":"en","pages":[{"title":"en","href":"/en/introduction"}]}]},"title":"Revenue page datasets - Fynn Docs","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DKJwRUt2.js","utils-CWD_VS3u.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-oFjciODD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C76WsxC3.js","snippetPresets-DvPMxpX_.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CuNQfndH.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BVFpVUoF.js","shallow-t59Jg5Kr.js","getApiPlaygroundDisplay-C_JZ4amX.js","CodeSnippet-CLRDnx_h.js","CodeSnippets-C2myU4kc.js","Page-7TwLLapg.js","getPastedJson-B-JaVXw7.js","icon-BA-iDhH3.js","MethodPill-D4qZABFp.js","DuplicateIcon-THIDKO1O.js","createIcon-CYYJwgFd.js","DynamicMarkdown-UGQuxDKp.js","SectionHeading-jYELb23h.js","axios-vUo_bRtp.js","Markdown-DKsLa3wy.js","clsx-CefdjKz2.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BaREnp3o.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-sgx_0XzF.js"]}