KSeF (Krajowy System e-Faktur) 2.0 is Poland’s mandatory national e-invoicing system operated by the Ministry of Finance. Before you can issue invoices through KSeF on behalf of a party (supplier), the party must be registered with the KSeF system.In this guide you’ll learn how to register a party using the Poland app. Once a party is registered, continue with the companion guides: Poland: Issuing invoices and Poland: Receiving invoices.
-
Sandbox
Live
Supplier
Fake NIP allowed (test mode); real NIP needed for demo mode
Test Polish Tax ID (NIP) You can generate fake NIPs for testing at http://generatory.it/. In test mode, a self-signed certificate will be generated automatically, and you can start sending invoices immediately.
Invopop Sandbox Demo mode
Real Polish Tax ID (NIP) and credentials to access the KSeF Demo Portal Demo mode follows the same registration process as production but operates in the demo environment.
Invopop Live
Valid company NIP and credentials to access the KSeF Portal You will need to generate a certificate through the KSeF portal. Registration will automatically target the KSeF production environment.
All of the following steps must be carried out from the Invopop Console.
1
Connect the Poland app
Navigate to Configuration → Apps
Find Poland in the app discovery list
Click Connect to activate
The initial connection requires no configuration.
2
Configure the party registration workflow
This workflow registers a party in KSeF so you can issue invoices on their behalf.
There is also a send & receive variant of this workflow that additionally subscribes the party to periodic invoice imports via the Cron app. It is covered in the receiving invoices guide.
In Sandbox the Register supplier with KSeF step allows you to configure the environment:
Test: Self-signed certificate generated automatically, no manual steps required.
Demo: Requires manual certificate generation from the demo portal.
Test is more convenient while Demo more accurately simulates the production environment. It is convenient to create two workflows configured differently to easily switch between the Demo and Test options.
In live workspaces no configuration is available, all suppliers are registered in the KSeF production environment.
The template uses test mode by default (for sandbox). To use demo mode in sandbox, add "config": {"environment": "demo"} to the Register supplier with KSeF step. In Invopop production, the workflow automatically targets the KSeF production environment.
KSeF register supplier (send) workflow
{ "name": "KSeF register supplier (send)", "description": "Register a supplier with KSeF for sending e-invoices", "schema": "org/party", "steps": [ { "id": "f6ca2240-fb6b-11f0-b2f4-37a8eb8f9eb9", "name": "Set state", "provider": "silo.state", "summary": "Set state to `processing`{.state .processing}", "config": { "state": "processing" } }, { "id": "f7315970-fb74-11f0-8137-27e02839a7ca", "name": "Register supplier with KSeF", "provider": "gov-pl.register" }, { "id": "3166cb10-fdba-11f0-a562-870ebfef62f3", "name": "Wait for KSeF certificate upload", "provider": "gov-pl.wait.upload" }, { "id": "f0b45d30-fb6b-11f0-b2f4-37a8eb8f9eb9", "name": "Set state", "provider": "silo.state", "summary": "Set state to `registered`{.state .registered}", "config": { "state": "registered" } } ], "rescue": [ { "id": "ebf99440-fb6b-11f0-b2f4-37a8eb8f9eb9", "name": "Set state", "provider": "silo.state", "summary": "Set state to `error`{.state .error}", "config": { "state": "error" } } ]}
Choose test mode when you want to quickly test the KSeF integration without dealing with real certificates or authentication. Certificates are generated automatically, allowing you to start sending invoices immediately without any manual certificate generation.
1
Create the party
In the Invopop Console, navigate to Parties → Suppliers and click + New Supplier.Use fake Polish Tax IDs (NIP) generated from http://generatory.it/:
Click Build, ensure there are no errors, and click Save.
2
Run the workflow
In the party entry, click on Select Workflow, choose your KSeF Register Party (Test) workflow, and click Run Workflow.That’s it! ✓ Registration completes automatically. The party is now in Registered state and ready to issue invoices.
At this point, you’re ready to start sending invoices on behalf of the party. Head over to the KSeF issuing invoices guide to continue.
{ "$schema": "https://gobl.org/draft-0/org/party", "name": "Real Company Sp. z o.o.", "tax_id": { "country": "PL", "code": "1234567890" }}
Click Build, ensure there are no errors, and click Save.
2
Run the workflow
On the party details page, click Select Workflow:
For Demo: Choose your KSeF Register Party (Demo) workflow
For Production: Choose your KSeF Register Party (Production) workflow
Click Run Workflow. The party will be in Processing state until certificate upload is complete.
3
Access the registration link
Get the registration link to begin certificate generation:Your own company
In Console, go to the supplier entry → Meta tab → click the gov-pl.invopop.com link to launch the registration wizard.
Third-party companies (white label)
Add a webhook after the Register supplier with KSeF step to receive the siloEntryId.Use the Fetch an Entry endpoint to get the registration link from the meta object:
Save the certificate and private key files, as well as the password. You’ll need them in the next step.
5
Upload certificate to Invopop
There are two ways to upload the certificate:Web Upload (Wizard)
Return to the registration wizard and upload:
Certificate file
Private key file
Password
Click Upload and verify certificate. The system validates and securely stores your credentials.API Upload
Upload the certificate programmatically using the Upload KSeF certificate endpoint.
This approach is ideal for automated integrations where you want to handle certificate generation and upload programmatically without user interaction with the web wizard.
✓ Success: The supplier transitions to Registered state and can begin issuing invoices.
× Failure: See Why did my supplier registration fail? in Poland’s FAQ.
At this point, you’re ready to start sending invoices on behalf of the party. Head over to the KSeF issuing invoices guide to continue.
Certificate and private key mismatch: Ensure you uploaded both files from the same certificate generation
Incorrect password: Verify the password matches what you set during certificate generation
Future start date: Certificate start date must be today or in the past
Wrong portal environment: Demo certificates won’t work with production, and vice versa
File encoding issues: For API uploads, ensure files are properly base64-encoded
Expired certificate: Check that the certificate is still valid
Invalid NIP: Verify the Polish Tax ID is correct and has access to KSeF
Check the workflow error logs in the Invopop Console for detailed error messages that can help diagnose the specific issue.
I don't have a Polish NIP for testing. How can I get one?
For sandbox testing:
Test mode: Generate fake NIPs at http://generatory.it/. These work immediately with self-signed certificates.
Demo mode: You need a real NIP with access to the KSeF Demo Portal.
How do I onboard a new supplier in Poland?
Choose an environment (Test, Demo, or Production). Generate a KSeF certificate from the relevant portal (or use a self-signed cert in Test mode), upload it to Invopop with the matching password, and register the supplier through the KSeF Register Supplier workflow.
What certificates does KSeF require to authenticate a supplier?
A KSeF certificate exported as PKCS#12 (.p12) with password, generated through the KSeF Application Portal (or auto-generated by Invopop in Test mode). The certificate must have InvoiceRead + InvoiceWrite permissions.
How are supplier credentials stored in Invopop for Poland?
The KSeF certificate (PKCS#12 .p12 with password) is stored encrypted at rest. Invopop uses it to authenticate session creation with KSeF on the supplier’s behalf; the password is never returned in API responses.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Invopop","colors":{"primary":"#169958","light":"#169958","dark":"#103830"},"logo":{"light":"https://mintcdn.com/invopop/tvrHhZ01dWh1WgVy/assets/logos/light.svg?fit=max\u0026auto=format\u0026n=tvrHhZ01dWh1WgVy\u0026q=85\u0026s=acee80bf7ace42a69f7bc31d48bac07d","dark":"https://mintcdn.com/invopop/tvrHhZ01dWh1WgVy/assets/logos/dark.svg?fit=max\u0026auto=format\u0026n=tvrHhZ01dWh1WgVy\u0026q=85\u0026s=8682d855b2ae592f840a2e75835dd6a4"},"favicon":"https://mintcdn.com/invopop/RHaqrZ8_qKav21l4/favicon.png?fit=max\u0026auto=format\u0026n=RHaqrZ8_qKav21l4\u0026q=85\u0026s=40f5b8d569abe96aa51c7d89f608f971","api":{"mdx":{"auth":{"method":"bearer"},"server":"https://api.invopop.com"}},"navbar":{"links":[{"href":"https://www.invopop.com/contact","label":"Contact us"},{"href":"https://community.invopop.com","label":"Community"}]},"footer":{"socials":{"x":"https://x.com/goInvopop","linkedin":"https://www.linkedin.com/company/invopop","github":"https://github.com/invopop"}},"fonts":{"family":"Inter"},"styling":{"codeblocks":"system","latex":true},"integrations":{"plausible":{"domain":"docs.invopop.com"}},"contextual":{"options":["copy","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"invopop","hasAudioNarration":false,"actualSubdomain":"invopop","customDomains":["docs.invopop.com"],"gitSource":{"type":"github","owner":"invopop","repo":"docs.invopop.com","deployBranch":"main","contentDirectory":"","mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae49a28f49f5b7aedfdc85d","collectionId":"c4f946f9-ee8a-447d-b32e-7e8c93967a48","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae49a28f49f5b7aedfdc85d"},"feedback":{"thumbs":true,"edits":true,"issues":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae49a28f49f5b7aedfdc85d","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"default","tag":"Get Started","count":91},{"language":"default","tag":"API Reference","count":88},{"language":"default","tag":"Apps","count":86},{"language":"default","tag":"Country compliance","count":86},{"language":"default","tag":"Guides","count":82},{"language":"default","tag":"Countries","count":57},{"language":"default","tag":"Europe","count":46},{"language":"default","tag":"Platform","count":39},{"language":"default","tag":"France","count":28},{"language":"default","tag":"Console","count":25}]},"assistantConfig":{},"basePath":"","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":"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":"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":"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":"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":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","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":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","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},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":"[data-component-part=card-icon]{min-width:24px}.card .icon{margin:0;position:relative;top:-1px;width:20px!important;height:20px!important}.pop-count{position:absolute;top:16px;right:16px;font-size:12px;font-weight:700}.pop-count .icon{margin-right:3px}table tr:has(th:empty){display:none}.tab-container table td,.update table td,h4+div>.table td{min-width:auto}.tab-container table td{white-space:nowrap}.dark\\:bg-primary-light:is(.dark *){background:0 0}h4 .icon,h4 .icon+a{opacity:.7;font-size:14px;border-bottom:none}h4 .icon{margin-left:1em}h4 .icon+a:hover{opacity:1}a:has(img[src*=coming-soon]),a:has(svg[style*=transporter-empty]),button:has(img[src*=coming-soon]),button:has(svg[style*=transporter-empty]){opacity:.4}div:has(>svg[style*=transporter-empty]),svg[style*=transporter-empty]{position:absolute;display:none}td .icon{margin-top:12px!important;margin-bottom:12px!important;margin-right:8px!important}.country{margin:-2em 0;background:#f6f6f6;padding:4px}h2:has(+.country){margin-bottom:2em}div[data-component-part=accordion-content]{overflow-x:hidden!important}.grow+[data-table-wrapper=true]{padding:0}.grow+[data-table-wrapper=true]>div.table{margin:0 0 0 1rem}a[href=\"https://www.mintlify.com?utm_campaign=poweredBy\u0026utm_medium=referral\u0026utm_source=undefined\"]{display:none}img[src*=\"apps/tables/icon.svg\"]:is(.dark *){content:url(https://assets.invopop.com/apps/tables/icon-white.svg)}"}],"page":{"pagePath":"guides/pl-ksef-supplier","slug":"/guides/pl-ksef-supplier","pageMetadata":{"title":"KSeF supplier registration guide","sidebarTitle":"Supplier registration","description":"Register parties (suppliers) with Poland's KSeF 2.0 system so you can issue invoices on their behalf.","href":"/guides/pl-ksef-supplier"},"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: \"Register parties (suppliers) with Poland’s KSeF 2.0 system so you can issue invoices on their behalf.\"\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];const WorkflowDiagram=({workflow})=>{const{Badge,Icon}=_provideComponents()||{};if(!Badge)_missingMdxReference(`Badge`,true);if(!Icon)_missingMdxReference(`Icon`,true);const stateColors={processing:`yellow`,sent:`blue`,received:`blue`,registered:`purple`,completed:`green`,error:`red`};const StateChip=({state,label})=>_jsx(Badge,{size:`sm`,color:stateColors[state]||`gray`,icon:`square-small`,iconType:`solid`,children:label.charAt(0).toUpperCase()+label.slice(1)});const providerIcons={\"silo.state\":`https://silo.invopop.com/images/status.svg`,\"silo.close\":`https://silo.invopop.com/images/check-badge.svg`,\"silo.if\":`https://assets.invopop.com/apps/silo/if.svg`,\"silo.folder\":`https://silo.invopop.com/images/folder.svg`,\"silo.modify\":`https://silo.invopop.com/images/modify.svg`,\"silo.correct\":`https://silo.invopop.com/images/replace.svg`,\"silo.sleep\":`https://assets.invopop.com/icons/sleep.svg`,silo:`https://assets.invopop.com/apps/silo/icon.svg`,\"sequence.enumerate\":`https://sequence.invopop.com/images/enumerate.svg`,\"transform.job.create\":`https://transform.invopop.com/images/jobs.svg`,webhook:`https://webhook.invopop.com/icon.svg`,lookup:`magnifying-glass`,dropbox:`https://dropbox.invopop.com/icon.png`,pdf:`https://pdf.invopop.com/file-pdf.svg`,peppol:`https://assets.invopop.com/apps/peppol/icon.svg`,ubl:`https://assets.invopop.com/apps/ubl/logo.svg`,cii:`https://assets.invopop.com/apps/cii/logo.svg`,\"gov-co\":`https://assets.invopop.com/flags/co.svg`,\"gov-dk\":`https://assets.invopop.com/flags/dk.svg`,\"gov-fi\":`https://assets.invopop.com/flags/fi.svg`,\"gov-fr\":`https://assets.invopop.com/flags/fr.svg`,\"chorus-pro\":`https://assets.invopop.com/apps/chroruspro/icon.svg`,\"gov-es\":`https://assets.invopop.com/apps/gov-es/icon.svg`,\"gov-es.sii\":`https://assets.invopop.com/apps/sii/icon.svg`,\"gov-es.ticketbai\":`https://assets.invopop.com/apps/ticketbai/icon.svg`,\"gov-es.facturae\":`https://assets.invopop.com/apps/facturae/icon.svg`,verifactu:`https://assets.invopop.com/apps/verifactu/icon.svg`,\"gov-pl\":`https://assets.invopop.com/apps/ksef/icon.svg`,\"gov-sa\":`https://assets.invopop.com/apps/zatca/icon.svg`,\"gov-ar\":`https://assets.invopop.com/apps/arca/icon.svg`,\"at-pt\":`https://assets.invopop.com/apps/at-pt/icon.svg`,\"sat-mx\":`https://assets.invopop.com/apps/sat-mexico/icon.svg`,\"sw-sapien\":`https://assets.invopop.com/apps/sw-sapien/icon.svg`,\"sdi-it\":`https://assets.invopop.com/apps/sdi-italy/icon.svg`,\"ticket-it\":`https://assets.invopop.com/apps/agenzia-entrate/icon.svg`,\"nfe-br\":`https://assets.invopop.com/apps/notas-fiscais-eletronicas-brazil/icon.svg`,chargebee:`https://assets.invopop.com/apps/chargebee/icon.svg`,stripe:`https://assets.invopop.com/apps/stripe/icon.svg`,email:`https://assets.invopop.com/apps/email/icon.svg`,cron:`https://assets.invopop.com/apps/cron/icon.svg`,tables:`https://assets.invopop.com/apps/tables/icon.svg`,ilyda:`https://assets.invopop.com/apps/ilyda/icon.svg`,invoicexpress:`https://assets.invopop.com/apps/invoicexpress/icon.svg`};const iconFor=provider=>{const parts=(provider||``).split(`.`);for(let i=parts.length;i>0;i--){const url=providerIcons[parts.slice(0,i).join(`.`)];if(url)return url}return null};const StepIcon=({provider})=>{const url=iconFor(provider);return _jsxs(`span`,{title:provider,className:`mint-flex mint-h-7 mint-w-7 mint-shrink-0 mint-items-center mint-justify-center mint-rounded-md mint-border mint-border-gray-950/10 mint-bg-white dark:mint-border-white/10 dark:mint-bg-white/5`,children:[url\u0026\u0026url.startsWith(`http`)?_jsx(`img`,{src:url,alt:``,className:`mint-h-4 mint-w-4`}):null,url\u0026\u0026!url.startsWith(`http`)?_jsx(Icon,{icon:url,iconType:`solid`,size:14}):null]})};const renderSummary=summary=>{const nodes=[];const re=/`([^`]+)`(\\{[^}]*\\})?/g;let last=0;let m;let k=0;while((m=re.exec(summary))!==null){if(m.index>last)nodes.push(summary.slice(last,m.index));const attrs=m[2]||``;if(attrs.indexOf(`.state`)>=0){const state=(attrs.match(/\\.state\\s+\\.([\\w-]+)/)||[])[1]||m[1];nodes.push(_jsx(StateChip,{state,label:m[1]},k++))}else if(attrs){nodes.push(_jsx(`span`,{className:`mint-text-sm mint-font-medium mint-text-gray-700 dark:mint-text-gray-300`,children:m[1]},k++))}else{nodes.push(_jsx(`code`,{className:`mint-text-sm mint-rounded mint-bg-gray-100 mint-px-1 mint-font-mono mint-text-sm dark:mint-bg-white/10`,children:m[1]},k++))}last=m.index+m[0].length}if(last\u003csummary.length)nodes.push(summary.slice(last));return nodes};const NoteRow=({text})=>_jsx(`div`,{className:`mint-mt-4 mint-mb-1 mint-font-mono mint-text-sm mint-leading-5 mint-text-gray-400 dark:mint-text-gray-500`,children:`// `+text});const renderSteps=(steps,counter)=>(steps||[]).map(step=>{counter.n+=1;const n=counter.n;const branches=(step.next||[]).filter(b=>b.steps\u0026\u0026b.steps.length>0);return _jsxs(`div`,{children:[step.notes?_jsx(NoteRow,{text:step.notes}):null,_jsxs(`div`,{className:`mint-mt-2.5 mint-flex mint-items-center`,children:[_jsx(`span`,{className:`mint-absolute mint-left-0 mint-w-10 mint-text-center mint-font-mono mint-text-sm mint-text-gray-400 mint-select-none dark:mint-text-gray-500`,children:n}),_jsxs(`div`,{className:`mint-flex mint-min-w-0 mint-flex-1 mint-items-center mint-gap-2 mint-rounded-xl mint-border mint-border-gray-950/5 mint-bg-white mint-px-2 mint-py-2 dark:mint-border-white/10 dark:mint-bg-gray-900`,children:[_jsx(StepIcon,{provider:step.provider}),_jsx(`span`,{className:`mint-text-sm mint-shrink-0 mint-font-medium mint-text-gray-900 dark:mint-text-gray-100`,children:step.name}),step.summary?_jsx(`span`,{className:`mint-text-sm mint-min-w-0 mint-truncate mint-text-gray-500 dark:mint-text-gray-400`,children:renderSummary(step.summary)}):null]})]}),branches.length>0?_jsx(`div`,{className:`mint-ml-5 mint-border-l mint-border-gray-200 mint--my-1 mint-py-1 mint-pl-6 dark:mint-border-white/10`,children:branches.map((branch,bi)=>_jsxs(`div`,{children:[_jsx(`div`,{className:`mint-mt-4`,children:_jsx(`span`,{className:`mint-rounded-md mint-bg-gray-200/70 mint-px-2 mint-py-1 mint-font-mono mint-text-sm mint-text-gray-600 dark:mint-bg-white/10 dark:mint-text-gray-300`,children:branch.code||branch.status})}),renderSteps(branch.steps,counter)]},branch.code||branch.status||bi))}):null]},step.id||`step-`+n)});const counter={n:0};const wf=workflow||{};return _jsxs(`div`,{className:`not-prose mint-relative mint-my-5 mint-rounded-2xl mint-border mint-border-gray-950/5 mint-bg-gray-50 mint-py-3 mint-pr-4 mint-pb-5 mint-pl-12 dark:mint-border-white/10 dark:mint-bg-white/[0.03]`,children:[renderSteps(wf.steps,counter),wf.rescue\u0026\u0026wf.rescue.length>0?_jsxs(`div`,{className:`mint-mt-6 mint-border-t mint-border-dashed mint-border-gray-300 dark:mint-border-white/10`,children:[_jsx(NoteRow,{text:`If any step fails`}),renderSteps(wf.rescue,counter)]}):null]})};const plRegisterWorkflow={\"name\":`KSeF register supplier (send)`,\"description\":`Register a supplier with KSeF for sending e-invoices`,\"schema\":`org/party`,\"steps\":[{\"id\":`f6ca2240-fb6b-11f0-b2f4-37a8eb8f9eb9`,\"name\":`Set state`,\"provider\":`silo.state`,\"summary\":\"Set state to `processing`{.state .processing}\",\"config\":{\"state\":`processing`}},{\"id\":`f7315970-fb74-11f0-8137-27e02839a7ca`,\"name\":`Register supplier with KSeF`,\"provider\":`gov-pl.register`},{\"id\":`3166cb10-fdba-11f0-a562-870ebfef62f3`,\"name\":`Wait for KSeF certificate upload`,\"provider\":`gov-pl.wait.upload`},{\"id\":`f0b45d30-fb6b-11f0-b2f4-37a8eb8f9eb9`,\"name\":`Set state`,\"provider\":`silo.state`,\"summary\":\"Set state to `registered`{.state .registered}\",\"config\":{\"state\":`registered`}}],\"rescue\":[{\"id\":`ebf99440-fb6b-11f0-b2f4-37a8eb8f9eb9`,\"name\":`Set state`,\"provider\":`silo.state`,\"summary\":\"Set state to `error`{.state .error}\",\"config\":{\"state\":`error`}}]};function _createMdxContent(props){const _components={a:`a`,code:`code`,hr:`hr`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Accordion,AccordionGroup,Badge,Card,CodeBlock,Frame,Heading,Icon,Info,Note,OptimizedImage,Step,Steps,Tab,Table,Tabs,Warning,_MdxComponentBoundary}=_components;if(!Accordion)_missingMdxReference(`Accordion`,true);if(!AccordionGroup)_missingMdxReference(`AccordionGroup`,true);if(!Badge)_missingMdxReference(`Badge`,true);if(!Card)_missingMdxReference(`Card`,true);if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Frame)_missingMdxReference(`Frame`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Icon)_missingMdxReference(`Icon`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Step)_missingMdxReference(`Step`,true);if(!Steps)_missingMdxReference(`Steps`,true);if(!Tab)_missingMdxReference(`Tab`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tabs)_missingMdxReference(`Tabs`,true);if(!Warning)_missingMdxReference(`Warning`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`introduction`,children:`Introduction`}),`\n`,_jsxs(_components.p,{children:[`KSeF (Krajowy System e-Faktur) 2.0 is Poland’s mandatory national e-invoicing system operated by the `,_jsx(_components.a,{href:`https://www.gov.pl/web/finanse`,children:`Ministry of Finance`}),`. Before you can issue invoices through KSeF on behalf of a party (supplier), the party must be registered with the KSeF system.`]}),`\n`,_jsxs(_components.p,{children:[`In this guide you’ll learn how to register a party using the `,_jsx(_components.a,{href:`/apps/poland`,children:`Poland app`}),`. Once a party is registered, continue with the companion guides: `,_jsx(_components.a,{href:`/guides/pl-ksef`,children:`Poland: Issuing invoices`}),` and `,_jsx(_components.a,{href:`/guides/pl-ksef-receiving`,children:`Poland: Receiving invoices`}),`.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`-`}),_jsx(_components.th,{children:`Sandbox`}),_jsx(_components.th,{children:`Live`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Supplier`})}),_jsx(_components.td,{children:`Fake NIP allowed (test mode); real NIP needed for demo mode`}),_jsx(_components.td,{children:`Valid NIP and KSeF portal credentials required`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Mode`})}),_jsx(_components.td,{children:`Defaults to test; demo available via config`}),_jsx(_components.td,{children:`Automatically targets KSeF production`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`prerequisites`,children:`Prerequisites`}),`\n`,_jsx(_components.p,{children:`To register a party with KSeF, you will need:`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Environment`}),_jsx(_components.th,{children:`Requirements`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(Badge,{color:`green`,children:`Invopop Sandbox`}),_jsx(`br`,{}),`Test mode`]}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Test Polish Tax ID (NIP)`}),` `,_jsx(`br`,{}),` You can generate fake NIPs for testing at `,_jsx(_components.a,{href:`http://generatory.it/`,children:`http://generatory.it/`}),`. In test mode, a self-signed certificate will be generated automatically, and you can start sending invoices immediately. `,_jsx(`br`,{})]})]}),_jsxs(_components.tr,{children:[_jsxs(_components.td,{children:[_jsx(Badge,{color:`green`,children:`Invopop Sandbox`}),_jsx(`br`,{}),`Demo mode`]}),_jsxs(_components.td,{children:[_jsxs(_components.strong,{children:[`Real Polish Tax ID (NIP) and credentials to access the `,_jsx(_components.a,{href:`https://ap-demo.ksef.mf.gov.pl/web/`,children:`KSeF Demo Portal`})]}),` `,_jsx(`br`,{}),` Demo mode follows the same registration process as production but operates in the demo environment.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(Badge,{color:`green`,children:`Invopop Live`})}),_jsxs(_components.td,{children:[_jsxs(_components.strong,{children:[`Valid company NIP and credentials to access the `,_jsx(_components.a,{href:`https://ap.ksef.mf.gov.pl/`,children:`KSeF Portal`})]}),` `,_jsx(`br`,{}),` You will need to generate a certificate through the KSeF portal. Registration will automatically target the KSeF production environment.`]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`setup`,children:`Setup`}),`\n`,_jsxs(_components.p,{children:[`All of the following steps must be carried out from the `,_jsx(_components.a,{href:`https://console.invopop.com`,children:`Invopop Console`}),`.`]}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Connect the Poland app`,children:[_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Navigate to `,_jsx(_components.strong,{children:`Configuration`}),` → `,_jsx(_components.strong,{children:`Apps`})]}),`\n`,_jsxs(_components.li,{children:[`Find `,_jsx(_components.strong,{children:`Poland`}),` in the app discovery list`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Connect`}),` to activate`]}),`\n`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{width:`354`,src:`https://mintcdn.com/invopop/eZRYdDQqMJhhshgw/assets/guides/gov-pl-connect.png?fit=max\u0026auto=format\u0026n=eZRYdDQqMJhhshgw\u0026q=85\u0026s=2d26db0ad734f1da82b08b10244fc6d0`,alt:`Connect KSeF app`,\"data-og-width\":`790`,\"data-og-height\":`344`,\"data-path\":`assets/guides/gov-pl-connect.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/invopop/eZRYdDQqMJhhshgw/assets/guides/gov-pl-connect.png?w=280\u0026fit=max\u0026auto=format\u0026n=eZRYdDQqMJhhshgw\u0026q=85\u0026s=95825a8505146abcdb046d0919253d42 280w, https://mintcdn.com/invopop/eZRYdDQqMJhhshgw/assets/guides/gov-pl-connect.png?w=560\u0026fit=max\u0026auto=format\u0026n=eZRYdDQqMJhhshgw\u0026q=85\u0026s=6950385851361e1a8f2bc2a9517a14f2 560w, https://mintcdn.com/invopop/eZRYdDQqMJhhshgw/assets/guides/gov-pl-connect.png?w=840\u0026fit=max\u0026auto=format\u0026n=eZRYdDQqMJhhshgw\u0026q=85\u0026s=cd35334cd61f4728166e037c24f29eab 840w, https://mintcdn.com/invopop/eZRYdDQqMJhhshgw/assets/guides/gov-pl-connect.png?w=1100\u0026fit=max\u0026auto=format\u0026n=eZRYdDQqMJhhshgw\u0026q=85\u0026s=ddcff0cc14a8192e8f341bc28f0fc0ea 1100w, https://mintcdn.com/invopop/eZRYdDQqMJhhshgw/assets/guides/gov-pl-connect.png?w=1650\u0026fit=max\u0026auto=format\u0026n=eZRYdDQqMJhhshgw\u0026q=85\u0026s=bf1e55668d15dfe96d30b9cfb054de93 1650w, https://mintcdn.com/invopop/eZRYdDQqMJhhshgw/assets/guides/gov-pl-connect.png?w=2500\u0026fit=max\u0026auto=format\u0026n=eZRYdDQqMJhhshgw\u0026q=85\u0026s=1b16a03239476c3362a79b8361c064a6 2500w`})}),_jsx(_components.p,{children:`The initial connection requires no configuration.`})]}),_jsxs(Step,{title:`Configure the party registration workflow`,children:[_jsx(_components.p,{children:`This workflow registers a party in KSeF so you can issue invoices on their behalf.`}),_jsx(Info,{children:_jsxs(_components.p,{children:[`There is also a `,_jsx(_components.strong,{children:`send \u0026 receive`}),` variant of this workflow that additionally subscribes the party to periodic invoice imports via the `,_jsx(_components.a,{href:`/apps/cron`,children:`Cron app`}),`. It is covered in the `,_jsx(_components.a,{href:`/guides/pl-ksef-receiving`,children:`receiving invoices guide`}),`.`]})}),_jsx(Frame,{children:_jsx(OptimizedImage,{width:`400`,src:`https://mintcdn.com/invopop/m7w0i5JCm3gcCeuk/assets/guides/pl-register-config.png?fit=max\u0026auto=format\u0026n=m7w0i5JCm3gcCeuk\u0026q=85\u0026s=d4552763900a81f45280fffcfb15a242`,alt:`Choose KSeF environment (Test or Demo)`,\"data-og-width\":`718`,\"data-og-height\":`434`,\"data-path\":`assets/guides/pl-register-config.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/invopop/m7w0i5JCm3gcCeuk/assets/guides/pl-register-config.png?w=280\u0026fit=max\u0026auto=format\u0026n=m7w0i5JCm3gcCeuk\u0026q=85\u0026s=94e5e38ba7a21509eb7217253d6a5e65 280w, https://mintcdn.com/invopop/m7w0i5JCm3gcCeuk/assets/guides/pl-register-config.png?w=560\u0026fit=max\u0026auto=format\u0026n=m7w0i5JCm3gcCeuk\u0026q=85\u0026s=42ec62acf1283b2b22a4b1f462ac8c68 560w, https://mintcdn.com/invopop/m7w0i5JCm3gcCeuk/assets/guides/pl-register-config.png?w=840\u0026fit=max\u0026auto=format\u0026n=m7w0i5JCm3gcCeuk\u0026q=85\u0026s=931fbea716514911aa796999648d5b8b 840w, https://mintcdn.com/invopop/m7w0i5JCm3gcCeuk/assets/guides/pl-register-config.png?w=1100\u0026fit=max\u0026auto=format\u0026n=m7w0i5JCm3gcCeuk\u0026q=85\u0026s=4935f429040a80721b455dec4c154d4b 1100w, https://mintcdn.com/invopop/m7w0i5JCm3gcCeuk/assets/guides/pl-register-config.png?w=1650\u0026fit=max\u0026auto=format\u0026n=m7w0i5JCm3gcCeuk\u0026q=85\u0026s=5f32f9b441972db934f7b3b71ad93117 1650w, https://mintcdn.com/invopop/m7w0i5JCm3gcCeuk/assets/guides/pl-register-config.png?w=2500\u0026fit=max\u0026auto=format\u0026n=m7w0i5JCm3gcCeuk\u0026q=85\u0026s=5bf49a29520751b9955a6a569cf99dce 2500w`})}),_jsxs(_components.p,{children:[`In `,_jsx(_components.strong,{children:`Sandbox`}),` the `,_jsx(_components.strong,{children:`Register supplier with KSeF`}),` step allows you to configure the environment:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Test`}),`: Self-signed certificate generated automatically, no manual steps required.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Demo`}),`: Requires manual certificate generation from the demo portal.`]}),`\n`]}),_jsx(Info,{children:`Test is more convenient while Demo more accurately simulates the production environment. It is convenient to create two workflows configured differently to easily switch between the Demo and Test options.`}),_jsxs(_components.p,{children:[`In `,_jsx(_components.strong,{children:`live workspaces`}),` no configuration is available, all suppliers are registered in the KSeF production environment.`]}),_jsx(Card,{iconType:`duotone`,title:`KSeF party registration workflow (send)`,icon:`code-branch`,href:`https://console.invopop.com/redirect/workflows/new?template=pl-register`,horizontal:true,children:_jsx(_components.p,{children:`Add to my workspace →`})}),_jsxs(Tabs,{children:[_jsx(Tab,{title:`Workflow`,id:`workflow`,children:_jsx(_MdxComponentBoundary,{name:`WorkflowDiagram`,children:_jsx(WorkflowDiagram,{workflow:plRegisterWorkflow})})}),_jsxs(Tab,{title:`Code`,id:`code`,children:[_jsxs(_components.p,{children:[`Copy and paste into a new `,_jsx(_components.a,{href:`https://console.invopop.com/redirect/workflows/new?template=empty-party`,children:`Empty Party workflow`}),` code view.`]}),_jsx(Note,{children:_jsxs(_components.p,{children:[`The template uses test mode by default (for sandbox). To use demo mode in sandbox, add `,_jsx(_components.code,{children:`\"config\": {\"environment\": \"demo\"}`}),` to the `,_jsx(_components.strong,{children:`Register supplier with KSeF`}),` step. In Invopop production, the workflow automatically targets the KSeF production environment.`]})}),_jsx(CodeBlock,{filename:`KSeF register supplier (send) workflow`,numberOfLines:`46`,language:`json`,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:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`46`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"KSeF register supplier (send)\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"description\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Register a supplier with KSeF for sending e-invoices\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"schema\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"org/party\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"steps\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"f6ca2240-fb6b-11f0-b2f4-37a8eb8f9eb9\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Set state\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"provider\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"silo.state\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"summary\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:'\"Set state to `processing`{.state .processing}\"'}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"config\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"state\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"processing\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"f7315970-fb74-11f0-8137-27e02839a7ca\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Register supplier with KSeF\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"provider\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"gov-pl.register\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"3166cb10-fdba-11f0-a562-870ebfef62f3\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Wait for KSeF certificate upload\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"provider\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"gov-pl.wait.upload\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"f0b45d30-fb6b-11f0-b2f4-37a8eb8f9eb9\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Set state\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"provider\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"silo.state\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"summary\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:'\"Set state to `registered`{.state .registered}\"'}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"config\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"state\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"registered\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"rescue\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"ebf99440-fb6b-11f0-b2f4-37a8eb8f9eb9\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Set state\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"provider\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"silo.state\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"summary\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:'\"Set state to `error`{.state .error}\"'}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"config\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"state\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"error\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`running`,children:`Running`}),`\n`,_jsx(_components.p,{children:`In this section, we’ll provide details on how to register parties (suppliers) in the test, demo, and production environments.`}),`\n`,_jsx(Heading,{level:`3`,id:`register-a-party-for-test-environment`,children:`Register a party for test environment`}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Choose test mode when you want to quickly test the KSeF integration without dealing with real certificates or authentication. Certificates are generated automatically, allowing you to start sending invoices immediately without any manual certificate generation.`})}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Create the party`,children:[_jsxs(_components.p,{children:[`In the `,_jsx(_components.a,{href:`https://console.invopop.com`,children:`Invopop Console`}),`, navigate to `,_jsx(_components.strong,{children:`Parties`}),` → `,_jsx(_components.strong,{children:`Suppliers`}),` and click `,_jsx(`kbd`,{children:`+ New Supplier`}),`.`]}),_jsxs(_components.p,{children:[`Use fake Polish Tax IDs (NIP) generated from `,_jsx(_components.a,{href:`http://generatory.it/`,children:`http://generatory.it/`}),`:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`json`,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:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`8`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"$schema\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://gobl.org/draft-0/org/party\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Test Supplier Sp. z o.o.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"tax_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"country\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"PL\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"9876543210\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsxs(_components.p,{children:[`Click `,_jsx(`kbd`,{children:`Build`}),`, ensure there are no errors, and click `,_jsx(`kbd`,{children:`Save`}),`.`]})]}),_jsxs(Step,{title:`Run the workflow`,children:[_jsxs(_components.p,{children:[`In the party entry, click on `,_jsx(`kbd`,{children:`Select Workflow`}),`, choose your `,_jsx(_components.strong,{children:`KSeF Register Party (Test)`}),` workflow, and click `,_jsx(`kbd`,{children:`Run Workflow`}),`.`]}),_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`That’s it!`}),` ✓ Registration completes automatically. The party is now in `,_jsx(Badge,{color:`purple`,children:`Registered`}),` state and ready to issue invoices.`]})]})]}),`\n`,_jsxs(_components.p,{children:[`At this point, you’re ready to start sending invoices on behalf of the party. Head over to the `,_jsx(_components.a,{href:`/guides/pl-ksef`,children:`KSeF issuing invoices guide`}),` to continue.`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`3`,id:`register-a-party-for-demo/production-environment`,children:`Register a party for demo/production environment`}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`In sandbox workspaces, choose Demo mode when you want to simulate the real production flow with KSeF authentication in a safe demo environment.`})}),`\n`,_jsxs(Steps,{children:[_jsxs(Step,{title:`Create the party`,children:[_jsxs(_components.p,{children:[`Use real Polish Tax IDs (NIP) with access to the `,_jsx(_components.a,{href:`https://ap-demo.ksef.mf.gov.pl/web/`,children:`KSeF Demo Portal`}),` or `,_jsx(_components.a,{href:`https://ap.ksef.mf.gov.pl/`,children:`KSeF Portal`}),`:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`json`,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:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`8`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"$schema\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://gobl.org/draft-0/org/party\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"name\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Real Company Sp. z o.o.\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"tax_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"country\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"PL\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"code\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"1234567890\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsxs(_components.p,{children:[`Click `,_jsx(`kbd`,{children:`Build`}),`, ensure there are no errors, and click `,_jsx(`kbd`,{children:`Save`}),`.`]})]}),_jsxs(Step,{title:`Run the workflow`,children:[_jsxs(_components.p,{children:[`On the party details page, click `,_jsx(_components.strong,{children:`Select Workflow`}),`:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`For Demo`}),`: Choose your `,_jsx(_components.strong,{children:`KSeF Register Party (Demo)`}),` workflow`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`For Production`}),`: Choose your `,_jsx(_components.strong,{children:`KSeF Register Party (Production)`}),` workflow`]}),`\n`]}),_jsxs(_components.p,{children:[`Click `,_jsx(`kbd`,{children:`Run Workflow`}),`. The party will be in `,_jsx(Badge,{color:`yellow`,children:`Processing`}),` state until certificate upload is complete.`]})]}),_jsxs(Step,{title:`Access the registration link`,children:[_jsx(_components.p,{children:`Get the registration link to begin certificate generation:`}),_jsxs(_components.p,{children:[_jsx(Badge,{color:`green`,children:`Your own company`}),_jsx(`br`,{}),`\nIn Console, go to the supplier entry → `,_jsx(_components.strong,{children:`Meta`}),` tab → click the `,_jsx(_components.strong,{children:`gov-pl.invopop.com`}),` link to launch the registration wizard.`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{width:`398`,src:`https://mintcdn.com/invopop/N5Kgn5kuF0KDuWiM/assets/guides/pl-meta-link.png?fit=max\u0026auto=format\u0026n=N5Kgn5kuF0KDuWiM\u0026q=85\u0026s=aaf8cc93be5f8548a632d24d5555cca5`,alt:`Supplier entry meta with KSeF registration link`,\"data-og-width\":`357`,\"data-og-height\":`152`,\"data-path\":`assets/guides/pl-meta-link.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/invopop/N5Kgn5kuF0KDuWiM/assets/guides/pl-meta-link.png?w=280\u0026fit=max\u0026auto=format\u0026n=N5Kgn5kuF0KDuWiM\u0026q=85\u0026s=b5df6b40fec70031503d4de95e1056e7 280w, https://mintcdn.com/invopop/N5Kgn5kuF0KDuWiM/assets/guides/pl-meta-link.png?w=560\u0026fit=max\u0026auto=format\u0026n=N5Kgn5kuF0KDuWiM\u0026q=85\u0026s=22c902c0ab89ae5f0c01c60001fd99f8 560w, https://mintcdn.com/invopop/N5Kgn5kuF0KDuWiM/assets/guides/pl-meta-link.png?w=840\u0026fit=max\u0026auto=format\u0026n=N5Kgn5kuF0KDuWiM\u0026q=85\u0026s=57fea8fcb280f68e230671c069e88bcd 840w, https://mintcdn.com/invopop/N5Kgn5kuF0KDuWiM/assets/guides/pl-meta-link.png?w=1100\u0026fit=max\u0026auto=format\u0026n=N5Kgn5kuF0KDuWiM\u0026q=85\u0026s=664ad77fafa64a0b0c34898341341f63 1100w, https://mintcdn.com/invopop/N5Kgn5kuF0KDuWiM/assets/guides/pl-meta-link.png?w=1650\u0026fit=max\u0026auto=format\u0026n=N5Kgn5kuF0KDuWiM\u0026q=85\u0026s=3f68d79855dbc9a6ed2dac2fa793f2be 1650w, https://mintcdn.com/invopop/N5Kgn5kuF0KDuWiM/assets/guides/pl-meta-link.png?w=2500\u0026fit=max\u0026auto=format\u0026n=N5Kgn5kuF0KDuWiM\u0026q=85\u0026s=409518e455a420d4f268eee3446af9a0 2500w`})}),_jsxs(_components.p,{children:[_jsx(Badge,{color:`green`,children:`Third-party companies`}),` (white label)`,_jsx(`br`,{}),`\nAdd a webhook after the `,_jsx(_components.strong,{children:`Register supplier with KSeF`}),` step to receive the `,_jsx(_components.code,{children:`siloEntryId`}),`.`]}),_jsxs(_components.p,{children:[`Use the `,_jsx(_components.a,{href:`/api-ref/silo/entries/fetch-an-entry`,children:`Fetch an Entry endpoint`}),` to get the registration link from the `,_jsx(_components.code,{children:`meta`}),` object:`]}),_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`json`,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:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`11`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"meta\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"src\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"gov-pl\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"key\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"link\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"link_url\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://gov-pl.invopop.com/reg/AbC123XyZ\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ]`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),_jsxs(_components.p,{children:[`Send the `,_jsx(_components.code,{children:`link_url`}),` to your customer.`]})]}),_jsxs(Step,{title:`Generate a certificate in KSeF portal`,children:[_jsx(_components.p,{children:`The registration wizard will guide you through these steps:`}),_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Visit the KSeF portal`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Demo: `,_jsx(_components.a,{href:`https://ap-demo.ksef.mf.gov.pl/web/`,children:`KSeF Demo Portal`})]}),`\n`,_jsxs(_components.li,{children:[`Production: `,_jsx(_components.a,{href:`https://ap.ksef.mf.gov.pl/`,children:`KSeF Portal`})]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Log in with Trusted Profile (Profil Zaufany)`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://www.youtube.com/watch?v=V6E1fGUFPw4`,children:`Video tutorial: Setting up Trusted Profile`})}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsx(_components.p,{children:`Generate the certificate`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Navigate to certificate generation section`}),`\n`,_jsx(_components.li,{children:`Enter certificate name and password (save the password!)`}),`\n`,_jsx(_components.li,{children:`Download the private key (automatically generated)`}),`\n`,_jsx(_components.li,{children:`Select “Authentication in the KSeF system”`}),`\n`,_jsx(_components.li,{children:`Set start date to today or earlier (future dates will fail)`}),`\n`,_jsx(_components.li,{children:`Download the certificate file`}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`https://www.youtube.com/watch?v=SE0IHuPHtRE`,children:`Video tutorial: Certificate generation`})}),`\n`]}),`\n`]}),`\n`]}),_jsx(Warning,{children:_jsx(_components.p,{children:`Save the certificate and private key files, as well as the password. You’ll need them in the next step.`})})]}),_jsxs(Step,{title:`Upload certificate to Invopop`,children:[_jsx(_components.p,{children:`There are two ways to upload the certificate:`}),_jsxs(_components.p,{children:[_jsx(Badge,{color:`green`,children:`Web Upload`}),` (Wizard)`,_jsx(`br`,{}),`\nReturn to the registration wizard and upload:`]}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Certificate file`}),`\n`,_jsx(_components.li,{children:`Private key file`}),`\n`,_jsx(_components.li,{children:`Password`}),`\n`]}),_jsx(Frame,{children:_jsx(OptimizedImage,{width:`600`,src:`https://mintcdn.com/invopop/N5Kgn5kuF0KDuWiM/assets/guides/pl-upload-certificate.png?fit=max\u0026auto=format\u0026n=N5Kgn5kuF0KDuWiM\u0026q=85\u0026s=372e0f53d21ba7d58948fb18a5dd5f60`,alt:`KSeF certificate upload form`,\"data-og-width\":`1920`,\"data-og-height\":`959`,\"data-path\":`assets/guides/pl-upload-certificate.png`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/invopop/N5Kgn5kuF0KDuWiM/assets/guides/pl-upload-certificate.png?w=280\u0026fit=max\u0026auto=format\u0026n=N5Kgn5kuF0KDuWiM\u0026q=85\u0026s=b7b2e4f48007cc2621270b214c3bac93 280w, https://mintcdn.com/invopop/N5Kgn5kuF0KDuWiM/assets/guides/pl-upload-certificate.png?w=560\u0026fit=max\u0026auto=format\u0026n=N5Kgn5kuF0KDuWiM\u0026q=85\u0026s=07d26056364400253f57536beadaf934 560w, https://mintcdn.com/invopop/N5Kgn5kuF0KDuWiM/assets/guides/pl-upload-certificate.png?w=840\u0026fit=max\u0026auto=format\u0026n=N5Kgn5kuF0KDuWiM\u0026q=85\u0026s=a5ef95a5428ea83cecb49f4d575a7ddd 840w, https://mintcdn.com/invopop/N5Kgn5kuF0KDuWiM/assets/guides/pl-upload-certificate.png?w=1100\u0026fit=max\u0026auto=format\u0026n=N5Kgn5kuF0KDuWiM\u0026q=85\u0026s=795514f869d6db9081b515a99cdde79a 1100w, https://mintcdn.com/invopop/N5Kgn5kuF0KDuWiM/assets/guides/pl-upload-certificate.png?w=1650\u0026fit=max\u0026auto=format\u0026n=N5Kgn5kuF0KDuWiM\u0026q=85\u0026s=9b33f023e7398f59ef59d86acf44fd11 1650w, https://mintcdn.com/invopop/N5Kgn5kuF0KDuWiM/assets/guides/pl-upload-certificate.png?w=2500\u0026fit=max\u0026auto=format\u0026n=N5Kgn5kuF0KDuWiM\u0026q=85\u0026s=335069cc4da0077eff051982c56e612a 2500w`})}),_jsxs(_components.p,{children:[`Click `,_jsx(`kbd`,{children:`Upload and verify certificate`}),`. The system validates and securely stores your credentials.`]}),_jsxs(_components.p,{children:[_jsx(Badge,{color:`green`,children:`API Upload`}),_jsx(`br`,{}),`\nUpload the certificate programmatically using the `,_jsx(_components.a,{href:`/api-ref/apps/gov-pl/certificate-upload`,children:`Upload KSeF certificate endpoint`}),`.`]}),_jsx(Note,{children:_jsx(_components.p,{children:`This approach is ideal for automated integrations where you want to handle certificate generation and upload programmatically without user interaction with the web wizard.`})}),_jsxs(_components.p,{children:[`✓ `,_jsx(_components.strong,{children:`Success`}),`: The supplier transitions to `,_jsx(Badge,{color:`purple`,children:`Registered`}),` state and can begin issuing invoices.\n× `,_jsx(_components.strong,{children:`Failure`}),`: See `,_jsx(_components.a,{href:`/faq/poland#why-did-my-supplier-registration-fail`,children:`Why did my supplier registration fail?`}),` in Poland’s FAQ.`]})]})]}),`\n`,_jsxs(_components.p,{children:[`At this point, you’re ready to start sending invoices on behalf of the party. Head over to the `,_jsx(_components.a,{href:`/guides/pl-ksef`,children:`KSeF issuing invoices guide`}),` to continue.`]}),`\n`,_jsx(Heading,{level:`2`,id:`faq`,children:`FAQ`}),`\n`,_jsxs(AccordionGroup,{children:[_jsxs(Accordion,{title:`Why did my supplier registration fail?`,id:`why-did-my-supplier-registration-fail`,children:[_jsx(_components.p,{children:`Common reasons for registration failures:`}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Certificate and private key mismatch`}),`: Ensure you uploaded both files from the same certificate generation`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Incorrect password`}),`: Verify the password matches what you set during certificate generation`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Future start date`}),`: Certificate start date must be today or in the past`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Wrong portal environment`}),`: Demo certificates won’t work with production, and vice versa`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`File encoding issues`}),`: For API uploads, ensure files are properly base64-encoded`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Expired certificate`}),`: Check that the certificate is still valid`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Invalid NIP`}),`: Verify the Polish Tax ID is correct and has access to KSeF`]}),`\n`]}),_jsx(Note,{children:_jsx(_components.p,{children:`Check the workflow error logs in the Invopop Console for detailed error messages that can help diagnose the specific issue.`})})]}),_jsxs(Accordion,{title:`I don't have a Polish NIP for testing. How can I get one?`,id:`i-dont-have-a-polish-nip-for-testing-how-can-i-get-one`,children:[_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`For sandbox testing`}),`:`]}),_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Test mode`}),`: Generate fake NIPs at `,_jsx(_components.a,{href:`http://generatory.it/`,children:`http://generatory.it/`}),`. These work immediately with self-signed certificates.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Demo mode`}),`: You need a real NIP with access to the KSeF Demo Portal.`]}),`\n`]})]}),_jsx(Accordion,{title:`How do I onboard a new supplier in Poland?`,id:`how-do-i-onboard-a-new-supplier-in-poland`,children:_jsx(_components.p,{children:`Choose an environment (Test, Demo, or Production). Generate a KSeF certificate from the relevant portal (or use a self-signed cert in Test mode), upload it to Invopop with the matching password, and register the supplier through the KSeF Register Supplier workflow.`})}),_jsx(Accordion,{title:`What certificates does KSeF require to authenticate a supplier?`,id:`what-certificates-does-ksef-require-to-authenticate-a-supplier`,children:_jsx(_components.p,{children:`A KSeF certificate exported as PKCS#12 (.p12) with password, generated through the KSeF Application Portal (or auto-generated by Invopop in Test mode). The certificate must have InvoiceRead + InvoiceWrite permissions.`})}),_jsx(Accordion,{title:`How are supplier credentials stored in Invopop for Poland?`,id:`how-are-supplier-credentials-stored-in-invopop-for-poland`,children:_jsx(_components.p,{children:`The KSeF certificate (PKCS#12 .p12 with password) is stored encrypted at rest. Invopop uses it to authenticate session creation with KSeF on the supplier’s behalf; the password is never returned in API responses.`})})]}),`\n`,_jsxs(_components.p,{children:[`More available in our `,_jsx(_components.a,{href:`/faq/poland`,children:`Poland FAQ`}),` section`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(AccordionGroup,{children:_jsx(Accordion,{title:`🇵🇱 Invopop resources for Poland`,id:`invopop-resources-for-poland`,children:_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{}),_jsx(_components.th,{})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Compliance`}),_jsxs(_components.td,{children:[_jsx(Icon,{icon:`https://assets.invopop.com/flags/pl.svg`}),` `,_jsx(_components.a,{href:`/compliance/poland`,children:`Invoicing compliance in Poland`}),_jsx(`br`,{}),` `,_jsx(Icon,{icon:`timeline`}),` `,_jsx(_components.a,{href:`/timelines/poland`,children:`Compliance timeline`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Apps`}),_jsxs(_components.td,{children:[_jsx(Icon,{icon:`https://assets.invopop.com/flags/pl.svg`}),` `,_jsx(_components.a,{href:`/apps/poland`,children:`Poland`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Guides`}),_jsxs(_components.td,{children:[_jsx(Icon,{icon:`book`}),` `,_jsx(_components.a,{href:`/guides/pl-ksef-supplier`,children:`Supplier registration`}),_jsx(`br`,{}),` `,_jsx(Icon,{icon:`book`}),` `,_jsx(_components.a,{href:`/guides/pl-ksef`,children:`Issuing invoices`}),_jsx(`br`,{}),` `,_jsx(Icon,{icon:`book`}),` `,_jsx(_components.a,{href:`/guides/pl-ksef-receiving`,children:`Receiving invoices`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`FAQ`}),_jsxs(_components.td,{children:[_jsx(Icon,{icon:`square-question`}),` `,_jsx(_components.a,{href:`/faq/poland`,children:`Poland FAQ`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`GOBL`}),_jsxs(_components.td,{children:[_jsx(Icon,{icon:`https://assets.invopop.com/icons/gobl.svg`}),` `,_jsx(_components.a,{href:`https://docs.gobl.org/regimes/pl`,children:`Poland Tax Regime`}),_jsx(`br`,{}),` `,_jsx(Icon,{icon:`https://assets.invopop.com/icons/gobl.svg`}),` `,_jsx(_components.a,{href:`https://docs.gobl.org/addons/pl-favat-v3`,children:`Polish KSeF FA(3) Addon`})]})]})]})]})})}),`\n`,_jsx(Card,{title:`Participate in our community`,icon:`forumbee`,href:`https://community.invopop.com`,arrow:`true`,horizontal:true,children:_jsx(_components.p,{children:`Ask and answer questions about invoicing in Poland →`})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{WorkflowDiagram,plRegisterWorkflow,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":{"codeStyling":"system","config":{},"pageMetadata":{"title":"KSeF supplier registration guide","sidebarTitle":"Supplier registration","description":"Register parties (suppliers) with Poland's KSeF 2.0 system so you can issue invoices on their behalf.","href":"/guides/pl-ksef-supplier"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[151,7856,")=>null;const plRegisterWorkflow=undefined;function _createM"]]},"mdxExtracts":{"tableOfContents":[{"title":"Introduction","slug":"introduction","depth":2,"children":[]},{"title":"Prerequisites","slug":"prerequisites","depth":2,"children":[]},{"title":"Setup","slug":"setup","depth":2,"children":[]},{"title":"Running","slug":"running","depth":2,"children":[{"title":"Register a party for test environment","slug":"register-a-party-for-test-environment","depth":3,"children":[]},{"title":"Register a party for demo/production environment","slug":"register-a-party-for-demo/production-environment","depth":3,"children":[]}]},{"title":"FAQ","slug":"faq","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"dynamicCss":".mint-absolute {\n position: absolute\n}\n.mint-relative {\n position: relative\n}\n.mint-left-0 {\n left: 0px\n}\n.mint--my-1 {\n margin-top: -0.25rem;\n margin-bottom: -0.25rem\n}\n.mint-my-5 {\n margin-top: 1.25rem;\n margin-bottom: 1.25rem\n}\n.mint-mb-1 {\n margin-bottom: 0.25rem\n}\n.mint-ml-5 {\n margin-left: 1.25rem\n}\n.mint-mt-2\\.5 {\n margin-top: 0.625rem\n}\n.mint-mt-4 {\n margin-top: 1rem\n}\n.mint-mt-6 {\n margin-top: 1.5rem\n}\n.mint-flex {\n display: flex\n}\n.mint-h-4 {\n height: 1rem\n}\n.mint-h-7 {\n height: 1.75rem\n}\n.mint-w-10 {\n width: 2.5rem\n}\n.mint-w-4 {\n width: 1rem\n}\n.mint-w-7 {\n width: 1.75rem\n}\n.mint-min-w-0 {\n min-width: 0px\n}\n.mint-flex-1 {\n flex: 1 1 0%\n}\n.mint-shrink-0 {\n flex-shrink: 0\n}\n.mint-select-none {\n user-select: none\n}\n.mint-items-center {\n align-items: center\n}\n.mint-justify-center {\n justify-content: center\n}\n.mint-gap-2 {\n gap: 0.5rem\n}\n.mint-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap\n}\n.mint-rounded {\n border-radius: 0.25rem\n}\n.mint-rounded-2xl {\n border-radius: 1rem\n}\n.mint-rounded-md {\n border-radius: 0.375rem\n}\n.mint-rounded-xl {\n border-radius: 0.75rem\n}\n.mint-border {\n border-width: 1px\n}\n.mint-border-l {\n border-left-width: 1px\n}\n.mint-border-t {\n border-top-width: 1px\n}\n.mint-border-dashed {\n border-style: dashed\n}\n.mint-border-gray-200 {\n --tw-border-opacity: 1;\n border-color: rgb(229 231 235 / var(--tw-border-opacity, 1))\n}\n.mint-border-gray-300 {\n --tw-border-opacity: 1;\n border-color: rgb(209 213 219 / var(--tw-border-opacity, 1))\n}\n.mint-border-gray-950\\/10 {\n border-color: rgb(3 7 18 / 0.1)\n}\n.mint-border-gray-950\\/5 {\n border-color: rgb(3 7 18 / 0.05)\n}\n.mint-bg-gray-100 {\n --tw-bg-opacity: 1;\n background-color: rgb(243 244 246 / var(--tw-bg-opacity, 1))\n}\n.mint-bg-gray-200\\/70 {\n background-color: rgb(229 231 235 / 0.7)\n}\n.mint-bg-gray-50 {\n --tw-bg-opacity: 1;\n background-color: rgb(249 250 251 / var(--tw-bg-opacity, 1))\n}\n.mint-bg-white {\n --tw-bg-opacity: 1;\n background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1))\n}\n.mint-px-1 {\n padding-left: 0.25rem;\n padding-right: 0.25rem\n}\n.mint-px-2 {\n padding-left: 0.5rem;\n padding-right: 0.5rem\n}\n.mint-py-1 {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem\n}\n.mint-py-2 {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem\n}\n.mint-py-3 {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem\n}\n.mint-pb-5 {\n padding-bottom: 1.25rem\n}\n.mint-pl-12 {\n padding-left: 3rem\n}\n.mint-pl-6 {\n padding-left: 1.5rem\n}\n.mint-pr-4 {\n padding-right: 1rem\n}\n.mint-text-center {\n text-align: center\n}\n.mint-font-mono {\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace\n}\n.mint-text-sm {\n font-size: 0.875rem;\n line-height: 1.25rem\n}\n.mint-font-medium {\n font-weight: 500\n}\n.mint-leading-5 {\n line-height: 1.25rem\n}\n.mint-text-gray-400 {\n --tw-text-opacity: 1;\n color: rgb(156 163 175 / var(--tw-text-opacity, 1))\n}\n.mint-text-gray-500 {\n --tw-text-opacity: 1;\n color: rgb(107 114 128 / var(--tw-text-opacity, 1))\n}\n.mint-text-gray-600 {\n --tw-text-opacity: 1;\n color: rgb(75 85 99 / var(--tw-text-opacity, 1))\n}\n.mint-text-gray-700 {\n --tw-text-opacity: 1;\n color: rgb(55 65 81 / var(--tw-text-opacity, 1))\n}\n.mint-text-gray-900 {\n --tw-text-opacity: 1;\n color: rgb(17 24 39 / var(--tw-text-opacity, 1))\n}\n.dark\\:mint-border-white\\/10:is(.dark *) {\n border-color: rgb(255 255 255 / 0.1)\n}\n.dark\\:mint-bg-gray-900:is(.dark *) {\n --tw-bg-opacity: 1;\n background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1))\n}\n.dark\\:mint-bg-white\\/10:is(.dark *) {\n background-color: rgb(255 255 255 / 0.1)\n}\n.dark\\:mint-bg-white\\/5:is(.dark *) {\n background-color: rgb(255 255 255 / 0.05)\n}\n.dark\\:mint-bg-white\\/\\[0\\.03\\]:is(.dark *) {\n background-color: rgb(255 255 255 / 0.03)\n}\n.dark\\:mint-text-gray-100:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(243 244 246 / var(--tw-text-opacity, 1))\n}\n.dark\\:mint-text-gray-300:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(209 213 219 / var(--tw-text-opacity, 1))\n}\n.dark\\:mint-text-gray-400:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(156 163 175 / var(--tw-text-opacity, 1))\n}\n.dark\\:mint-text-gray-500:is(.dark *) {\n --tw-text-opacity: 1;\n color: rgb(107 114 128 / var(--tw-text-opacity, 1))\n}","subdomain":"invopop","siteName":"Invopop","title":"KSeF supplier registration guide - Invopop","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-28T16:40:35.773Z","originalFileLocation":"guides/pl-ksef-supplier.mdx"},"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=\"Register parties (suppliers) with Poland\u0026#x27;s KSeF 2.0 system so you can issue invoices on their behalf.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Invopop\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/invopop/HVc7roIt8SKteIfU/_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/invopop/HVc7roIt8SKteIfU/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/invopop/HVc7roIt8SKteIfU/_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/invopop/HVc7roIt8SKteIfU/_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/invopop/HVc7roIt8SKteIfU/_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/invopop/HVc7roIt8SKteIfU/_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/invopop/HVc7roIt8SKteIfU/_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/invopop/HVc7roIt8SKteIfU/_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/invopop/HVc7roIt8SKteIfU/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"KSeF supplier registration guide - Invopop\">\u003cmeta data-mint-head property=\"og:description\" content=\"Register parties (suppliers) with Poland\u0026#x27;s KSeF 2.0 system so you can issue invoices on their behalf.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Invopop\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.invopop.com/guides/pl-ksef-supplier\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://invopop.mintlify.app/_mintlify/api/og/v2?division=Poland\u0026amp;title=KSeF+supplier+registration+guide\u0026amp;description=Register+parties+%28suppliers%29+with+Poland%27s+KSeF+2.0+system+so+you+can+issue+invoices+on+their+behalf.\u0026amp;theme=9123e067ce26f60f653b867d\u0026amp;signature=96b851717912f3b39ff5d0ba5a2469e231ee95da25926c0cbb652cd4bdb49a82\">\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=\"KSeF supplier registration guide - Invopop\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Register parties (suppliers) with Poland\u0026#x27;s KSeF 2.0 system so you can issue invoices on their behalf.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://invopop.mintlify.app/_mintlify/api/og/v2?division=Poland\u0026amp;title=KSeF+supplier+registration+guide\u0026amp;description=Register+parties+%28suppliers%29+with+Poland%27s+KSeF+2.0+system+so+you+can+issue+invoices+on+their+behalf.\u0026amp;theme=9123e067ce26f60f653b867d\u0026amp;signature=96b851717912f3b39ff5d0ba5a2469e231ee95da25926c0cbb652cd4bdb49a82\">\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/invopop/HVc7roIt8SKteIfU/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Invopop\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#169958\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.invopop.com/guides/pl-ksef-supplier\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/guides/pl-ksef-supplier.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.invopop.com/#organization\",\"name\":\"Invopop\",\"url\":\"https://docs.invopop.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/invopop/tvrHhZ01dWh1WgVy/assets/logos/light.svg?fit=max\u0026auto=format\u0026n=tvrHhZ01dWh1WgVy\u0026q=85\u0026s=acee80bf7ace42a69f7bc31d48bac07d\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.invopop.com#website\",\"name\":\"Invopop\",\"url\":\"https://docs.invopop.com\",\"publisher\":{\"@id\":\"https://docs.invopop.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.invopop.com/guides/pl-ksef-supplier#webpage\",\"url\":\"https://docs.invopop.com/guides/pl-ksef-supplier\",\"name\":\"KSeF supplier registration guide\",\"description\":\"Register parties (suppliers) with Poland's KSeF 2.0 system so you can issue invoices on their behalf.\",\"dateModified\":\"2026-10-28T16:40:35.773Z\",\"isPartOf\":{\"@id\":\"https://docs.invopop.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.invopop.com/guides/pl-ksef-supplier#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.invopop.com/guides/pl-ksef-supplier#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Countries\",\"item\":\"https://docs.invopop.com/guides/ar-arca-suppliers\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"KSeF supplier registration guide\",\"item\":\"https://docs.invopop.com/guides/pl-ksef-supplier\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.invopop.com/guides/pl-ksef-supplier#article\",\"headline\":\"KSeF supplier registration guide\",\"name\":\"KSeF supplier registration guide\",\"description\":\"Register parties (suppliers) with Poland's KSeF 2.0 system so you can issue invoices on their behalf.\",\"url\":\"https://docs.invopop.com/guides/pl-ksef-supplier\",\"mainEntityOfPage\":{\"@id\":\"https://docs.invopop.com/guides/pl-ksef-supplier#webpage\"},\"dateModified\":\"2026-10-28T16:40:35.773Z\",\"publisher\":{\"@id\":\"https://docs.invopop.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.invopop.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Invopop\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Invopop","nav":{"global":null,"tabs":[{"tab":"Get Started","icon":"compass","pages":[{"title":"Get Started","href":""}]},{"tab":"Platform","icon":"sidebar","pages":[{"title":"Platform","href":"/console"}]},{"tab":"Guides","icon":"map","pages":[{"title":"Guides","sidebarTitle":"Overview","href":"/guides"},{"group":"Networks","pages":[{"title":"Peppol guide","sidebarTitle":"Peppol","icon":"https://assets.invopop.com/apps/peppol/icon.svg","href":"/guides/peppol"}]},{"group":"Countries","pages":[{"group":"Argentina","icon":"https://assets.invopop.com/flags/ar.svg","pages":[{"title":"ARCA supplier onboarding","sidebarTitle":"Supplier registration","href":"/guides/ar-arca-suppliers"},{"title":"ARCA invoices","sidebarTitle":"Issuing invoices","href":"/guides/ar-arca-invoices"}]},{"title":"Belgium Peppol guide","sidebarTitle":"Belgium","icon":"https://assets.invopop.com/flags/be.svg","href":"/guides/be-peppol"},{"group":"Brazil","icon":"https://assets.invopop.com/flags/br.svg","pages":[{"title":"DF-e supplier registration guide","sidebarTitle":"Supplier registration","href":"/guides/br-dfe-supplier"},{"title":"DF-e issuing invoices guide","sidebarTitle":"Issuing invoices","href":"/guides/br-dfe"}]},{"group":"Colombia","icon":"https://assets.invopop.com/flags/co.svg","pages":[{"title":"Supplier registration in Colombia","sidebarTitle":"Supplier registration","href":"/guides/co-dian-registration"},{"title":"Invoicing in Colombia","sidebarTitle":"Issuing invoices","href":"/guides/co-dian-invoicing"}]},{"group":"Denmark","icon":"https://assets.invopop.com/flags/dk.svg","pages":[{"title":"NemHandel supplier registration guide","sidebarTitle":"Supplier registration","href":"/guides/dk-nemhandel-supplier"},{"title":"NemHandel issuing invoices guide","sidebarTitle":"Issuing invoices","href":"/guides/dk-nemhandel"},{"title":"NemHandel receiving invoices guide","sidebarTitle":"Receiving invoices","href":"/guides/dk-nemhandel-receiving"}]},{"group":"Finland","icon":"https://assets.invopop.com/flags/fi.svg","pages":[{"title":"Finvoice supplier registration guide","sidebarTitle":"Supplier registration","href":"/guides/fi-finvoice-supplier"},{"title":"Finvoice issuing invoices guide","sidebarTitle":"Issuing invoices","href":"/guides/fi-finvoice"},{"title":"Finvoice receiving invoices guide","sidebarTitle":"Receiving invoices","href":"/guides/fi-finvoice-receiving"}]},{"group":"Germany","icon":"https://assets.invopop.com/flags/de.svg","pages":[{"title":"XRechnung \u0026 ZUGFeRD guide","sidebarTitle":"XRechnung \u0026 ZUGFeRD","href":"/guides/de-ubl"}]},{"group":"France","icon":"https://assets.invopop.com/flags/fr.svg","pages":[{"group":"Plateforme Agréée (PA)","pages":[{"title":"Plateforme Agréée (PA) guide","sidebarTitle":"Overview","href":"/guides/fr-pa"},{"title":"SIREN registration in France","sidebarTitle":"Registration","href":"/guides/fr-pa-registration"},{"title":"Moving parties between Plateformes Agréées","sidebarTitle":"Migrations","href":"/guides/fr-pa-migrations"},{"title":"Invoicing in France","sidebarTitle":"Invoicing","href":"/guides/fr-pa-invoicing"},{"title":"Invoice lifecycle status in France","sidebarTitle":"Status","href":"/guides/fr-pa-status"},{"title":"Reporting on France PA","sidebarTitle":"Reporting","href":"/guides/fr-pa-reporting"},{"title":"Public sector invoicing in France","sidebarTitle":"Public sector","href":"/guides/fr-pa-b2g"},{"title":"Lookup in the French directory","sidebarTitle":"Directory lookup","href":"/guides/fr-lookup"}]},{"group":"Chorus Pro","pages":[{"title":"Chorus Pro supplier registration guide","sidebarTitle":"Supplier registration","href":"/guides/fr-chorus-pro-supplier"},{"title":"Chorus Pro issuing invoices guide","sidebarTitle":"Issuing invoices","href":"/guides/fr-chorus-pro"}]}]},{"group":"Greece","icon":"https://assets.invopop.com/flags/gr.svg","pages":[{"title":"myDATA supplier registration guide","sidebarTitle":"Supplier registration","href":"/guides/gr-iapr-supplier"},{"title":"myDATA issuing invoices guide","sidebarTitle":"Issuing invoices","href":"/guides/gr-iapr"}]},{"group":"Italy","icon":"https://assets.invopop.com/flags/it.svg","pages":[{"group":"SDI","pages":[{"title":"Italy issuing invoices guide","sidebarTitle":"Issuing invoices","href":"/guides/it-sdi-invoicing"},{"title":"Invoice lifecycle status in Italy","sidebarTitle":"Status","href":"/guides/it-sdi-status"},{"title":"Italy receiving invoices guide","sidebarTitle":"Receiving invoices","href":"/guides/it-sdi-reception"},{"title":"Italy archiving guide","sidebarTitle":"Archiving","href":"/guides/it-sdi-archiving"}]},{"group":"SDI Italy (legacy)","pages":[{"title":"SDI sending invoices guide","sidebarTitle":"Issuing invoices","href":"/guides/it-sdi-sending"},{"title":"SDI receiving invoices guide","sidebarTitle":"Receiving invoices","href":"/guides/it-sdi-receiving"}]},{"group":"Smart Receipts","pages":[{"title":"Smart Receipts supplier registration guide","sidebarTitle":"Supplier registration","href":"/guides/it-ticket-supplier"},{"title":"Smart Receipts issuing guide","sidebarTitle":"Issuing receipts","href":"/guides/it-ticket"}]}]},{"group":"Mexico","icon":"https://assets.invopop.com/flags/mx.svg","pages":[{"title":"CFDI supplier registration guide","sidebarTitle":"Supplier registration","href":"/guides/mx-sat-supplier"},{"title":"CFDI issuing guide","sidebarTitle":"Issuing documents","href":"/guides/mx-sat-issuing"},{"title":"CFDI cancellation guide","sidebarTitle":"Cancelling documents","href":"/guides/mx-sat-cancelling"},{"title":"CFDI receiving invoices guide","sidebarTitle":"Receiving invoices","href":"/guides/mx-sat-receiving"},{"title":"Digital platform reporting for Mexico","sidebarTitle":"Platform reporting","href":"/guides/mx-sat-platform-reporting"}]},{"title":"Norway Peppol guide","sidebarTitle":"Norway","icon":"https://assets.invopop.com/flags/no.svg","description":"Guide for Norway Peppol e-invoicing setup and requirements","href":"/guides/no-peppol"},{"group":"Poland","icon":"https://assets.invopop.com/flags/pl.svg","pages":[{"title":"KSeF supplier registration guide","sidebarTitle":"Supplier registration","href":"/guides/pl-ksef-supplier"},{"title":"KSeF issuing invoices guide","sidebarTitle":"Issuing invoices","description":"Issue FA(3) invoices through Poland's KSeF 2.0 system.","href":"/guides/pl-ksef"},{"title":"KSeF receiving invoices guide","sidebarTitle":"Receiving invoices","href":"/guides/pl-ksef-receiving"}]},{"group":"Portugal","icon":"https://assets.invopop.com/flags/pt.svg","pages":[{"title":"AT supplier registration guide","sidebarTitle":"Supplier registration","href":"/guides/pt-at-supplier"},{"title":"AT issuing invoices guide","sidebarTitle":"Issuing invoices","href":"/guides/pt-at"}]},{"group":"Spain","icon":"https://assets.invopop.com/flags/es.svg","pages":[{"group":"VERI*FACTU","pages":[{"title":"VERI*FACTU onboarding guide","sidebarTitle":"Supplier registration","href":"/guides/es-verifactu-supplier"},{"title":"VERI*FACTU invoicing guide","sidebarTitle":"Invoicing","href":"/guides/es-verifactu"},{"group":"NO VERI*FACTU","pages":[{"title":"NO VERI*FACTU onboarding guide","sidebarTitle":"Supplier registration","href":"/guides/es-noverifactu-supplier"},{"title":"NO VERI*FACTU invoicing guide","sidebarTitle":"Invoicing","href":"/guides/es-noverifactu"}]}]},{"group":"TicketBAI","pages":[{"title":"TicketBAI onboarding guide","sidebarTitle":"Supplier registration","href":"/guides/es-ticketbai-supplier"},{"title":"TicketBAI invoicing guide","sidebarTitle":"Invoicing","href":"/guides/es-ticketbai"}]},{"group":"SII","pages":[{"title":"SII onboarding guide","sidebarTitle":"Supplier registration","href":"/guides/es-sii-supplier"},{"title":"SII Invoicing guide","sidebarTitle":"Invoicing","href":"/guides/es-sii"}]},{"title":"Facturae guide","sidebarTitle":"Facturae","href":"/guides/es-facturae"},{"title":"AEAT tax ID lookup guide","sidebarTitle":"AEAT Lookup","href":"/guides/es-lookup"}]},{"group":"Saudi Arabia","icon":"https://assets.invopop.com/flags/sa.svg","pages":[{"title":"ZATCA clearance \u0026 reporting in Saudi Arabia","sidebarTitle":"Clearance \u0026 reporting","href":"/guides/sa-zatca-clearance-reporting"},{"title":"ZATCA supplier registration in Saudi Arabia","sidebarTitle":"Registration","href":"/guides/sa-zatca-registration"}]}]},{"group":"Set-up","pages":[{"title":"How to go live","icon":"circle-bolt","href":"/guides/how-to-go-live"}]},{"group":"GOBL","pages":[{"title":"What is GOBL?","sidebarTitle":"Overview","href":"/guides/gobl"},{"title":"GOBL Builder guide","sidebarTitle":"Builder","href":"/guides/gobl-builder"}]},{"group":"Apps","pages":[{"title":"Connect guide","sidebarTitle":"Connect","icon":"https://assets.invopop.com/apps/connect/icon.svg","href":"/guides/connect"},{"title":"PDF Generator guide","sidebarTitle":"PDF Generator","icon":"https://assets.invopop.com/apps/pdf/logo.svg","href":"/guides/pdf-invoice"},{"title":"Slack guide","sidebarTitle":"Slack","icon":"https://assets.invopop.com/apps/slack/icon.svg","href":"/guides/slack"},{"title":"Email guide","sidebarTitle":"Email","icon":"https://assets.invopop.com/apps/email/icon.svg","href":"/guides/email"},{"title":"Stripe guide","sidebarTitle":"Stripe","icon":"https://assets.invopop.com/apps/stripe/icon.svg","href":"/guides/stripe"},{"group":"Chargebee","icon":"https://assets.invopop.com/apps/chargebee/icon.svg","pages":[{"title":"Chargebee guide","sidebarTitle":"Overview","href":"/guides/chargebee"},{"title":"Chargebee in Belgium","sidebarTitle":"Belgium","icon":"https://assets.invopop.com/flags/be.svg","href":"/guides/cb-belgium"},{"title":"Chargebee in Denmark","sidebarTitle":"Denmark","icon":"https://assets.invopop.com/flags/dk.svg","href":"/guides/cb-denmark"},{"title":"Chargebee in France","sidebarTitle":"France","icon":"https://assets.invopop.com/flags/fr.svg","href":"/guides/cb-france"},{"title":"Chargebee in Germany","sidebarTitle":"Germany","icon":"https://assets.invopop.com/flags/de.svg","href":"/guides/cb-germany"}]},{"title":"Tables guide","sidebarTitle":"Tables","icon":"https://assets.invopop.com/apps/tables/icon.svg","href":"/guides/tables"},{"title":"Lookup guide","sidebarTitle":"Lookup","icon":"magnifying-glass","iconType":"solid","href":"/guides/lookup"}]},{"group":"API","pages":[{"title":"Authentication guide","sidebarTitle":"Authentication","icon":"key","href":"/guides/authentication"},{"title":"Upload files to silo entries","sidebarTitle":"Upload files","icon":"file-upload","href":"/guides/file-uploads"}]},{"group":"Features","pages":[{"title":"Series guide","sidebarTitle":"Series","icon":"arrow-down-wide-short","href":"/guides/series"},{"title":"Workflows guide","sidebarTitle":"Workflows","icon":"timeline","href":"/guides/workflows"},{"title":"Webhooks guide","sidebarTitle":"Webhooks","icon":"webhook","href":"/guides/webhooks"},{"title":"Update exchange rates guide","sidebarTitle":"Update exchange rates","icon":"circle-euro","href":"/guides/update-exchange-rates"},{"title":"Related documents guide","sidebarTitle":"Related documents","icon":"arrows-split-up-and-left","href":"/guides/related-docs"},{"title":"Correct invoices guide","sidebarTitle":"Correct Invoices","icon":"eraser","href":"/guides/correct-invoice"}]}]},{"tab":"Apps","icon":"app-store","pages":[{"title":"Apps","href":"/apps"}]},{"tab":"API Reference","icon":"code","pages":[{"title":"API Reference","href":"/api-ref/introduction"}]}]},"basePath":"","title":"KSeF supplier registration guide - Invopop","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":["07c022d89b","a74be98ba7"],"chunks":["Frame-Bpq2Z6jK.js","DynamicMarkdown-D5M2At0B.js","zoom-image-lightbox-DL4wrF0w.js","lightbox-handle-r17bVUz3.js"]}