[Cotlet](https://cotlet.dev/index.md) · [Integrations](https://cotlet.dev/integrations.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Use cases](https://cotlet.dev/use-cases.md) · [Security](https://cotlet.dev/security.md) · [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md) · [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [Contact](https://cotlet.dev/contact.md) · [Pricing](https://cotlet.dev/pricing.md) · [Sign up](https://cotlet.dev/signup)

# Send Fakturownia invoices to KSeF

> Find today's Fakturownia invoices that are not in KSeF, send them with your OK and report errors and the KSeF number for each.

Source: https://cotlet.dev/integrations/fakturownia-api-mcp-server/send-invoices-to-ksef

An invoice has to reach KSeF on the day it is issued, and a missed send turns it into an offline24 invoice that cannot be edited.

Cotlet does it in your own Fakturownia (InvoiceOcean) account with list\_invoices, get\_ksef\_status and send\_invoice\_to\_ksef, called by your AI agent, an n8n workflow or a script.

[Sign up free](https://cotlet.dev/app/signup?app=fakturownia) [All Fakturownia (InvoiceOcean) tools](https://cotlet.dev/integrations/fakturownia-api-mcp-server.md)

Hosted · nothing to install or maintain

## Can Fakturownia (InvoiceOcean) do this on its own?

Fakturownia sends to KSeF automatically for buyer groups you choose in its settings, and its API sends one with send\_to\_ksef and reports gov\_status (checked 14 Oct 2026). The official MCP is read-only. The gap is the ones automation skips, foreign companies and failed sends, which someone has to find and send.

## How you do it in Fakturownia (InvoiceOcean) today

1. Go to "Ustawienia > Integracje i dodatki > KSeF > Ustawienia" and choose whether "Automatycznie wysyłaj tworzone dokumenty do KSeF" is on and for which buyers.
2. With it off, click "Zapisz i wyślij do KSeF" when creating an invoice, or the send action in the "KSeF" column under "Przychody > Faktury".
3. For several invoices, tick them in the list and click "Wyślij faktury do KSeF", or open one invoice and click "KSeF".
4. Check the invoice afterwards for its KSeF number or an error; a failed send has to be found by opening documents.
5. What repeats: invoices for foreign companies are never sent automatically and must be sent by hand after checking.

## How to send Fakturownia invoices to KSeF

Prompt

```
Check Fakturownia for invoices issued today that are not in KSeF. For each one for a Polish company, show me the buyer and the total, and send it to KSeF after I approve. Report any that come back with an error.
```

1. 01  
### List today's unsent invoices  
The agent reads invoices issued today and checks each one's KSeF status, so only those with no status, a send error or a server error are candidates.
2. 02  
### Split by buyer  
A Polish company is sent as is. A foreign company or a private person is shown separately, because Fakturownia never sends those on its own and you decide.
3. 03  
### Send after your OK  
send\_invoice\_to\_ksef is a legally binding step, so each call waits for your OK by default. The agent never sends a proforma, which KSeF does not accept.
4. 04  
### Read the answer  
The status first comes back as processing. The agent checks it again and reports the KSeF number on success or the error text on failure.
5. 05  
### Flag the deadline  
If an invoice is already past its issue day, the agent tells you it will go as offline24 and cannot be edited afterwards.

### What you get back

Example data

```
Checked 5 invoices issued today
Sent 3 to KSeF: 14/10/2026/1, /2, /3 (KSeF numbers received)
For you: 14/10/2026/4 buyer in Germany, send by hand?
Error: 14/10/2026/5 send_error, buyer address too long
```

### Other ways to ask

- Every evening, list invoices from the last 2 days with a KSeF error and tell me why each failed.
- Send this one invoice to KSeF now and return its KSeF number.
- Show invoices issued this month that were sent offline24.

## What Fakturownia (InvoiceOcean) allows, and what to know first

- KSeF has a send deadline: an invoice sent on its issue day is online, later it becomes offline24.
- Invoices sent in offline24 cannot be edited or deleted, and an error needs a corrective invoice.
- Once an invoice has a KSeF number its content is locked; only attachments and accounting fields can change.
- Fakturownia emails an invoice to the customer only after it has a KSeF number.
- Users without the send permission can only save an invoice; the owner, an administrator or a user with "Wysyłanie do KSeF" sends.

send\_invoice\_to\_ksef asks for your OK by default. To run it daily without you, switch confirmation off for that tool in your dashboard.

Sources: [Fakturownia Help: Jak wysyłać faktury do KSeF](https://pomoc.fakturownia.pl/199488736-jak-wysylac-faktury-z-fakturowni-do-ksef.md) · [Fakturownia API: KSeF integration guide](https://github.com/fakturownia/api/blob/master/KSeF.md) · [Fakturownia Help: KSeF](https://pomoc.fakturownia.pl/integracja-z-ksef.md)

## Call send\_invoice\_to\_ksef from a script

curl

```
curl -X POST https://cotlet.dev/api/v1/fakturownia/invoices/5120/to-ksef \
  -H "Authorization: Bearer $COTLET_API_KEY"
```

Example response

```
{
"invoice_id": 5120,
"gov_status": "processing",
"gov_id": null
}
```

MCP: add https://cotlet.dev/mcp/v1 with the same key; the call is fakturownia\_write → send\_invoice\_to\_ksef. Example data.

[Schedule it in n8n, Make, Zapier or cron](https://cotlet.dev/integrations/fakturownia-api-mcp-server.md#automations)

## Fakturownia (InvoiceOcean) tools this automation uses

__Cotlet Fakturownia (InvoiceOcean) tools used to send Fakturownia invoices to KSeF__
| Tool | Parameters |
| ----------------------- | ------------------------------------------------------------------------------- |
| list\_invoices | period, date\_from, date\_to, status, kind, income, client\_id, page, per\_page |
| get\_ksef\_status | invoice\_id |
| send\_invoice\_to\_ksef | invoice\_id |

[All 14 Fakturownia (InvoiceOcean) tools with descriptions](https://cotlet.dev/integrations/fakturownia-api-mcp-server.md#tools)

## Frequently asked questions

### Is it safe to connect Fakturownia (InvoiceOcean) to Cotlet?

Yes. You sign in to Fakturownia (InvoiceOcean) yourself, in your own Cloud Browser in the EU, and we never save your password. Your agents only get Fakturownia (InvoiceOcean) once you enable it, every background request is listed, and the browser profile is stored encrypted with AES-256-GCM, the cipher 1Password uses for its vaults. The AI model never sees a login, posts and messages wait for your OK, and Disable for agents cuts access in one click. Independent scanners grade cotlet.dev A+ on Qualys SSL Labs, securityheaders.com and Mozilla Observatory; live results are on https://cotlet.dev/security.

## More Fakturownia (InvoiceOcean) automations

- [Issue a Fakturownia invoice from a deal or message](https://cotlet.dev/integrations/fakturownia-api-mcp-server/issue-invoice-from-deal.md)
- [Record Fakturownia payments and mark invoices paid](https://cotlet.dev/integrations/fakturownia-api-mcp-server/record-invoice-payments.md)
- [Fakturownia (InvoiceOcean) API and MCP server: every tool](https://cotlet.dev/integrations/fakturownia-api-mcp-server.md)
- [All use cases](https://cotlet.dev/use-cases.md)

## Give your agent access to Fakturownia (InvoiceOcean).

Free 7-day trial with 2,000 credits, no card needed. Cotlet is independent and not affiliated with Fakturownia (InvoiceOcean).

[Sign up free](https://cotlet.dev/app/signup?app=fakturownia)

---

Give your AI agents your signed-in browser.

**Product:** [Integrations](https://cotlet.dev/integrations.md) · [Use cases](https://cotlet.dev/use-cases.md) · [How it works](https://cotlet.dev/how-it-works.md) · [Pricing](https://cotlet.dev/pricing.md) · [Security](https://cotlet.dev/security.md)

**Resources:** [Blog](https://cotlet.dev/blog.md) · [API docs](https://cotlet.dev/docs.md) · [Help center](https://cotlet.dev/help.md) · [Changelog](https://cotlet.dev/changelog.md) · [GitHub](https://github.com/cotletdev/cotlet)

**Solutions:** [For developers](https://cotlet.dev/for-developers.md) · [For automation agencies](https://cotlet.dev/for-agencies.md)

**Company:** [About](https://cotlet.dev/about.md) · [AI info: company facts](https://cotlet.dev/ai-info.md) · [Contact](https://cotlet.dev/contact.md)

**Legal:** [Terms of service](https://cotlet.dev/terms) · [Privacy policy](https://cotlet.dev/privacy) · [Refund policy](https://cotlet.dev/refunds) · [Acceptable use](https://cotlet.dev/acceptable-use) · [Cookie policy](https://cotlet.dev/cookies) · [DPA](https://cotlet.dev/dpa) · [Subprocessors](https://cotlet.dev/subprocessors)

**Elsewhere:** [Status page](https://status.cotlet.dev) · [Cotlet on GitHub](https://github.com/cotletdev) · [Cotlet on X](https://x.com/cotletdev) · [Cotlet on LinkedIn](https://www.linkedin.com/company/cotletdev) · [Cotlet on Product Hunt](https://www.producthunt.com/products/cotlet) · [Cotlet on Crunchbase](https://www.crunchbase.com/organization/cotlet) · [Cotlet on SaaSHub](https://www.saashub.com/cotlet)

Cotlet is an independent service. It is not affiliated with, endorsed by or sponsored by any of the products listed on this site. Product names are trademarks of their respective owners.

## For AI agents: sign your user up

Is your user asking you to sign them up for Cotlet? You can do it for them, no account or key needed.

1. Read the fields and their allowed values: GET https://cotlet.dev/api/v1/access-requests
2. Ask the user for each value: email, apps, what you will do with them. If they leave the password to you, generate a strong one and show it to them.
3. Show the user what you will send, then POST it as JSON to https://cotlet.dev/api/v1/access-requests.

One call creates the account and sends the access request; we email the user when access is granted.
