Send a real bill, chase it on a schedule, and reconcile the payment.
An invoice is a document, not a payment request. It carries line items, a memo,
a tax identifier, a due date and a PDF, and it is paid from a wallet through
the same hosted page as everything else.
A new invoice starts as a draft. Drafts can be edited freely, which is the
point of them: a sent invoice must not move under the customer who received it.
curl -X POST "https://api.reclack.com/v1/invoices/in_0182/send" \ -H "Api-Key: $RECLACK_KEY"
Sending does three things. It finalises the invoice, emails it to the customer
with the PDF attached, and starts the reminder schedule if you enabled one.
The pay link on an invoice does not expire. An invoice found in an old inbox
opens on the payment, or on its receipt if it has already been settled.
If the customer already has an authorization in place, such as one from a
subscription, you can collect against it rather than waiting for them to open
the page:
curl -X POST "https://api.reclack.com/v1/invoices/in_0182/charge" \ -H "Api-Key: $RECLACK_KEY"
The collection runs against the signed authorization, and can never exceed it.
A transaction confirmed onchain and the invoice was reconciled.
overdue
Past its due date and still open. Emits invoice.overdue.
void
Cancelled. Kept for the record rather than deleted.
An invoice is marked paid only after the chain confirms the transaction.
Nothing is marked paid on submission, which is why your ledger agrees with the
chain rather than with an optimistic guess.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Reclack Docs","colors":{"primary":"#533afd","light":"#8f7dff","dark":"#3b28c9"},"logo":{"light":"https://mintcdn.com/reclack/i_PBmgTWOy1QpaWl/logo/light.png?fit=max\u0026auto=format\u0026n=i_PBmgTWOy1QpaWl\u0026q=85\u0026s=9aae17cd96b1b86d90f8d5770cd405f6","dark":"https://mintcdn.com/reclack/i_PBmgTWOy1QpaWl/logo/dark.png?fit=max\u0026auto=format\u0026n=i_PBmgTWOy1QpaWl\u0026q=85\u0026s=9d5dbf9ac5d5d9c2e57a247e8e74abf1"},"favicon":"https://mintcdn.com/reclack/i_PBmgTWOy1QpaWl/favicon.ico?fit=max\u0026auto=format\u0026n=i_PBmgTWOy1QpaWl\u0026q=85\u0026s=62cc58f492f28c9d8b7950415e30c036","background":{"color":{"light":"#ffffff","dark":"#0b0d11"}},"navbar":{"links":[{"href":"mailto:[email protected]","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.reclack.com"}},"footer":{"socials":{"x":"https://x.com/usereclack","instagram":"https://www.instagram.com/usereclack","linkedin":"https://www.linkedin.com/company/reclack"}},"contextual":{"options":["copy","view","claude","chatgpt","mcp"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Dashboard","icon":"gauge","href":"https://app.reclack.com"},{"anchor":"Status","icon":"signal","href":"https://status.reclack.com"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"reclack","hasAudioNarration":false,"actualSubdomain":"reclack","customDomains":["docs.reclack.com"],"gitSource":{"type":"github","owner":"reclack","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ad6a237e0d9d95429710b56","collectionId":"c31bc6a1-e791-479a-9655-78ac4154df88","liveDeploymentHistoryId":"6ad6a237e0d9d95429710b56","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ad6a237e0d9d95429710b56","clientVersion":"0.0.3894","searchFilterCounts":[{"language":"default","tag":"API reference","count":57},{"language":"default","tag":"Guides","count":19},{"language":"default","tag":"Invoices","count":9},{"language":"default","tag":"Webhooks","count":9},{"language":"default","tag":"Checkouts","count":7},{"language":"default","tag":"Get started","count":6},{"language":"default","tag":"Payment links","count":5},{"language":"default","tag":"Prices","count":5},{"language":"default","tag":"Products","count":5},{"language":"default","tag":"Settlement","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":true,"hasWebMcpPermissions":true,"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":"editor-branches-v2-autocommit","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-branches-v2","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":"teamspace","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":"vite-origin","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":"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":"revalidation-jwt","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":"client-snapshot-docs-config","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}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".font-semibold.text-primary.overflow-wrap-anywhere{color:#374151}.dark .font-semibold.text-primary.overflow-wrap-anywhere{color:#d4d4d8}.dark{--gray-50:248 250 252;--gray-100:241 245 249;--gray-200:226 232 240;--gray-300:203 213 225;--gray-400:148 163 184;--gray-500:100 116 139;--gray-600:71 85 105;--gray-700:51 65 85;--gray-800:28 34 45;--gray-900:20 23 29;--gray-950:11 13 17}"}],"page":{"pagePath":"guides/invoices","slug":"/guides/invoices","pageMetadata":{"title":"Invoices","description":"Send a real bill, chase it on a schedule, and reconcile the payment.","href":"/guides/invoices"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Send a real bill, chase it on a schedule, and reconcile the payment.\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,p:`p`,pre:`pre`,span:`span`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{CodeBlock,Frame,Heading,Note,OptimizedImage,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`An invoice is a document, not a payment request. It carries line items, a memo,\na tax identifier, a due date and a PDF, and it is paid from a wallet through\nthe same hosted page as everything else.`}),`\n`,_jsxs(Frame,{caption:`One record, four states, from draft to paid`,children:[_jsx(OptimizedImage,{className:`mint-block dark:mint-hidden`,src:`https://mintcdn.com/reclack/hSqUHJp0KVXvwTsQ/images/invoice-rail.svg?fit=max\u0026auto=format\u0026n=hSqUHJp0KVXvwTsQ\u0026q=85\u0026s=29c1f0fa5d17b93241e8f9a3c90102b9`,alt:`An invoice document with line items and a total, beside the rail it travels: draft, sent, paying, paid.`,\"data-og-width\":`880`,width:`880`,\"data-og-height\":`330`,height:`330`,\"data-path\":`images/invoice-rail.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/reclack/hSqUHJp0KVXvwTsQ/images/invoice-rail.svg?w=280\u0026fit=max\u0026auto=format\u0026n=hSqUHJp0KVXvwTsQ\u0026q=85\u0026s=cc0ff5f0f5bf43cc7be549e84fcb72c0 280w, https://mintcdn.com/reclack/hSqUHJp0KVXvwTsQ/images/invoice-rail.svg?w=560\u0026fit=max\u0026auto=format\u0026n=hSqUHJp0KVXvwTsQ\u0026q=85\u0026s=6f0be4a5b753ac0c4c4efa56a903e871 560w, https://mintcdn.com/reclack/hSqUHJp0KVXvwTsQ/images/invoice-rail.svg?w=840\u0026fit=max\u0026auto=format\u0026n=hSqUHJp0KVXvwTsQ\u0026q=85\u0026s=2ededbddbeb22ff3750ef1bc8f65280b 840w, https://mintcdn.com/reclack/hSqUHJp0KVXvwTsQ/images/invoice-rail.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=hSqUHJp0KVXvwTsQ\u0026q=85\u0026s=2c7a9fb47d0d3ce6dbaf0b51814887a2 1100w, https://mintcdn.com/reclack/hSqUHJp0KVXvwTsQ/images/invoice-rail.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=hSqUHJp0KVXvwTsQ\u0026q=85\u0026s=d2ed666d6952fd89ae2028e7f8c2e363 1650w, https://mintcdn.com/reclack/hSqUHJp0KVXvwTsQ/images/invoice-rail.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=hSqUHJp0KVXvwTsQ\u0026q=85\u0026s=caa53084d9514101a19e4774bb4f3d64 2500w`}),_jsx(OptimizedImage,{className:`mint-hidden dark:mint-block`,src:`https://mintcdn.com/reclack/hSqUHJp0KVXvwTsQ/images/invoice-rail-dark.svg?fit=max\u0026auto=format\u0026n=hSqUHJp0KVXvwTsQ\u0026q=85\u0026s=3ba83a7725d6ca8d6a9980bbde56950e`,alt:`An invoice document with line items and a total, beside the rail it travels: draft, sent, paying, paid.`,\"data-og-width\":`880`,width:`880`,\"data-og-height\":`330`,height:`330`,\"data-path\":`images/invoice-rail-dark.svg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/reclack/hSqUHJp0KVXvwTsQ/images/invoice-rail-dark.svg?w=280\u0026fit=max\u0026auto=format\u0026n=hSqUHJp0KVXvwTsQ\u0026q=85\u0026s=543840b873b56b2f1cf979e587592caa 280w, https://mintcdn.com/reclack/hSqUHJp0KVXvwTsQ/images/invoice-rail-dark.svg?w=560\u0026fit=max\u0026auto=format\u0026n=hSqUHJp0KVXvwTsQ\u0026q=85\u0026s=d95469350b26f0f790350c122847cf0a 560w, https://mintcdn.com/reclack/hSqUHJp0KVXvwTsQ/images/invoice-rail-dark.svg?w=840\u0026fit=max\u0026auto=format\u0026n=hSqUHJp0KVXvwTsQ\u0026q=85\u0026s=fb2c86f8da33d8858ec7c192dcbcebab 840w, https://mintcdn.com/reclack/hSqUHJp0KVXvwTsQ/images/invoice-rail-dark.svg?w=1100\u0026fit=max\u0026auto=format\u0026n=hSqUHJp0KVXvwTsQ\u0026q=85\u0026s=b281be12addc334395062c71f84d5aa5 1100w, https://mintcdn.com/reclack/hSqUHJp0KVXvwTsQ/images/invoice-rail-dark.svg?w=1650\u0026fit=max\u0026auto=format\u0026n=hSqUHJp0KVXvwTsQ\u0026q=85\u0026s=1c099889ce761b29a8db86bacc984ae7 1650w, https://mintcdn.com/reclack/hSqUHJp0KVXvwTsQ/images/invoice-rail-dark.svg?w=2500\u0026fit=max\u0026auto=format\u0026n=hSqUHJp0KVXvwTsQ\u0026q=85\u0026s=3145083daeead43f40afdbb25bded7d5 2500w`})]}),`\n`,_jsx(Heading,{level:`2`,id:`creating-one`,children:`Creating one`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`15`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`15`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.reclack.com/v1/invoices\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Api-Key: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$RECLACK_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"customer_id\": \"cus_7Fh2PqX9\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"amount\": \"120.00\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"due_at\": \"2026-11-10T23:59:59Z\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"networks\": [\"base\", \"ethereum\"],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"memo\": \"October retainer and platform seats\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"tax_id\": \"GB123456789\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"line_items\": [`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` { \"description\": \"Platform seats\", \"quantity\": 4, \"unit_amount\": \"20.00\" },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` { \"description\": \"Support retainer\", \"quantity\": 1, \"unit_amount\": \"40.00\" }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`A new invoice starts as a draft. Drafts can be edited freely, which is the\npoint of them: a sent invoice must not move under the customer who received it.`}),`\n`,_jsx(Heading,{level:`2`,id:`sending-it`,children:`Sending it`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.reclack.com/v1/invoices/in_0182/send\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Api-Key: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$RECLACK_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Sending does three things. It finalises the invoice, emails it to the customer\nwith the PDF attached, and starts the reminder schedule if you enabled one.`}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`The pay link on an invoice does not expire. An invoice found in an old inbox\nopens on the payment, or on its receipt if it has already been settled.`})}),`\n`,_jsx(Heading,{level:`2`,id:`reminders`,children:`Reminders`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`4`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.reclack.com/v1/invoices/in_0182/reminders\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Api-Key: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$RECLACK_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -d`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '{ \"enabled\": true }'`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Reminders run before the due date and after it, and they stop the moment the\ninvoice is paid. Nobody gets chased for money they already sent.`}),`\n`,_jsx(Heading,{level:`2`,id:`getting-the-document`,children:`Getting the document`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.reclack.com/v1/invoices/in_0182/pdf\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Api-Key: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$RECLACK_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --output`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` INV-00182.pdf`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`The same PDF is attached to the email and available to the customer in the\nportal.`}),`\n`,_jsx(Heading,{level:`2`,id:`charging-an-invoice-directly`,children:`Charging an invoice directly`}),`\n`,_jsx(_components.p,{children:`If the customer already has an authorization in place, such as one from a\nsubscription, you can collect against it rather than waiting for them to open\nthe page:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -X`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` POST`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"https://api.reclack.com/v1/invoices/in_0182/charge\"`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D7BA7D`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -H`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"Api-Key: `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`$RECLACK_KEY`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`The collection runs against the signed authorization, and can never exceed it.`}),`\n`,_jsx(Heading,{level:`2`,id:`statuses`,children:`Statuses`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`draft`})}),_jsx(_components.td,{children:`Created, editable, not sent.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`open`})}),_jsx(_components.td,{children:`Sent and awaiting payment.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`paid`})}),_jsx(_components.td,{children:`A transaction confirmed onchain and the invoice was reconciled.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`overdue`})}),_jsxs(_components.td,{children:[`Past its due date and still open. Emits `,_jsx(_components.code,{children:`invoice.overdue`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`void`})}),_jsx(_components.td,{children:`Cancelled. Kept for the record rather than deleted.`})]})]})]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`An invoice is marked paid only after the chain confirms the transaction.\nNothing is marked paid on submission, which is why your ledger agrees with the\nchain rather than with an optimistic guess.`})}),`\n`,_jsx(Heading,{level:`2`,id:`events`,children:`Events`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Event`}),_jsx(_components.th,{children:`When`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`invoice.paid`})}),_jsx(_components.td,{children:`The payment confirmed and the invoice was reconciled.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`invoice.overdue`})}),_jsx(_components.td,{children:`The due date passed with the invoice still open.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`payment.succeeded`})}),_jsx(_components.td,{children:`The transaction behind the payment confirmed.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Full parameters are in the `,_jsx(_components.a,{href:`/api-reference/invoices/create`,children:`invoices reference`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Invoices","description":"Send a real bill, chase it on a schedule, and reconcile the payment.","href":"/guides/invoices"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Creating one","slug":"creating-one","depth":2,"children":[]},{"title":"Sending it","slug":"sending-it","depth":2,"children":[]},{"title":"Reminders","slug":"reminders","depth":2,"children":[]},{"title":"Getting the document","slug":"getting-the-document","depth":2,"children":[]},{"title":"Charging an invoice directly","slug":"charging-an-invoice-directly","depth":2,"children":[]},{"title":"Statuses","slug":"statuses","depth":2,"children":[]},{"title":"Events","slug":"events","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"dynamicCss":".mint-block {\n display: block\n}\n.mint-hidden {\n display: none\n}\n.dark\\:mint-block:is(.dark *) {\n display: block\n}\n.dark\\:mint-hidden:is(.dark *) {\n display: none\n}","subdomain":"reclack","siteName":"Reclack Docs","title":"Invoices - Reclack Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-19T23:05:35.362Z","originalFileLocation":"guides/invoices.mdx"},"headHtml":"\u003cmeta data-mint-head name=\"description\" content=\"Send a real bill, chase it on a schedule, and reconcile the payment.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Reclack 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/reclack/H6DBMos9VrjwkxQL/_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/reclack/H6DBMos9VrjwkxQL/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/reclack/H6DBMos9VrjwkxQL/_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/reclack/H6DBMos9VrjwkxQL/_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/reclack/H6DBMos9VrjwkxQL/_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/reclack/H6DBMos9VrjwkxQL/_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/reclack/H6DBMos9VrjwkxQL/_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/reclack/H6DBMos9VrjwkxQL/_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/reclack/H6DBMos9VrjwkxQL/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Invoices - Reclack Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Send a real bill, chase it on a schedule, and reconcile the payment.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Reclack Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.reclack.com/guides/invoices\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Invoices - Reclack Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Send a real bill, chase it on a schedule, and reconcile the payment.\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/reclack/H6DBMos9VrjwkxQL/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Reclack Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#533afd\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.reclack.com/guides/invoices\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/guides/invoices.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.reclack.com/#organization\",\"name\":\"Reclack Docs\",\"url\":\"https://docs.reclack.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/reclack/i_PBmgTWOy1QpaWl/logo/light.png?fit=max\u0026auto=format\u0026n=i_PBmgTWOy1QpaWl\u0026q=85\u0026s=9aae17cd96b1b86d90f8d5770cd405f6\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.reclack.com#website\",\"name\":\"Reclack Docs\",\"url\":\"https://docs.reclack.com\",\"publisher\":{\"@id\":\"https://docs.reclack.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.reclack.com/guides/invoices#webpage\",\"url\":\"https://docs.reclack.com/guides/invoices\",\"name\":\"Invoices\",\"description\":\"Send a real bill, chase it on a schedule, and reconcile the payment.\",\"dateModified\":\"2026-10-19T23:05:35.362Z\",\"isPartOf\":{\"@id\":\"https://docs.reclack.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.reclack.com/guides/invoices#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.reclack.com/guides/invoices#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Taking payments\",\"item\":\"https://docs.reclack.com/guides/checkout\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Invoices\",\"item\":\"https://docs.reclack.com/guides/invoices\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.reclack.com/guides/invoices#article\",\"headline\":\"Invoices\",\"name\":\"Invoices\",\"description\":\"Send a real bill, chase it on a schedule, and reconcile the payment.\",\"url\":\"https://docs.reclack.com/guides/invoices\",\"mainEntityOfPage\":{\"@id\":\"https://docs.reclack.com/guides/invoices#webpage\"},\"dateModified\":\"2026-10-19T23:05:35.362Z\",\"publisher\":{\"@id\":\"https://docs.reclack.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.reclack.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Reclack Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Reclack Docs","nav":{"global":{"anchors":[{"anchor":"Dashboard","icon":"gauge","href":"https://app.reclack.com"},{"anchor":"Status","icon":"signal","href":"https://status.reclack.com"}]},"tabs":[{"tab":"Guides","groups":[{"group":"Get started","pages":[{"title":"Reclack API","href":""},{"title":"Quickstart","href":"/quickstart"},{"title":"Authentication","href":"/authentication"},{"title":"Environments","href":"/environments"},{"title":"Errors","href":"/errors"},{"title":"Idempotency","href":"/idempotency"}]},{"group":"Core objects","pages":[{"title":"How the objects fit","href":"/guides/objects"},{"title":"Products and prices","href":"/guides/products-and-prices"},{"title":"Customers","href":"/guides/customers"}]},{"group":"Taking payments","pages":[{"title":"Hosted checkout","href":"/guides/checkout"},{"title":"Payment links","description":"A shareable page that takes a payment, with nothing to deploy.","href":"/guides/payment-links"},{"title":"Invoices","href":"/guides/invoices"}]},{"group":"Recurring billing","pages":[{"title":"Subscriptions","description":"One approval, then periods that collect themselves.","href":"/guides/subscriptions"},{"title":"Usage billing","href":"/guides/usage-billing"},{"title":"Customer portal","href":"/guides/customer-portal"}]},{"group":"Money and events","pages":[{"title":"Settlement","href":"/guides/settlement"},{"title":"Webhooks","href":"/webhooks/overview"},{"title":"Verifying webhooks","href":"/webhooks/verifying"},{"title":"Event types","href":"/webhooks/events"}]}]},{"tab":"API reference","pages":[{"title":"API reference","href":"/api-reference/introduction"}]}]},"title":"Invoices - Reclack Docs","buildId":"dpl_8LJVMfxYNq6LJkohTrn2iyWT8umj","deploymentId":"dpl_8LJVMfxYNq6LJkohTrn2iyWT8umj","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-DgIorxK1.js","DynamicMarkdown-43fmNsOD.js","zoom-image-lightbox-D9lJgLSo.js","PlusIcon-C1lem43w.js","lightbox-handle-r17bVUz3.js"]}