Troubleshooting e-Faktura

Every e-Faktura error Bilify shows, what causes it and how to fix it, plus where to look and what is not built yet.

8 min read Updated 04.10.2026 Requires: UJP e-Faktura integration

Use this page when an invoice will not register, the connection does not verify, or a received invoice cannot be decided. Errors from UJP carry a code such as E1000; Bilify shows the code next to the message. Messages from signing, the certificate and Bilify's own checks are shown in your language.

First: simulator or production?

The settings page says Running against the built-in simulator; nothing reaches UJP. while Bilify uses its built-in simulator. That is the case for every company today: the production connection to UJP is not live yet. The simulator applies UJP's published checks, so an error you see now is very likely what UJP would say too, but a success does not mean UJP registered anything. EUIDs and QR links from the simulator do not verify at UJP. See What is e-Faktura.

Where to look

Place What it tells you
Connection card under Settings > e-Faktura Status (Not verified, Verified, Error), the last verification error, certificate expiry.
e-Faktura card on the invoice page Status badge, red box with the last error, Submissions list with the last five attempts and their error codes, Check results.
Bell notifications e-Faktura: ... could not be registered (failed send), e-Faktura: ... was rejected by the buyer, e-Faktura: new invoice from .... Sent to owners, admins and accountants, in the app only (no email).
Dashboard card e-Faktura needs attention Counts of Failed submissions, Rejected by buyers, Issued, not sent and Received, awaiting decision.
Red badge on Documents in the menu The number of documents UJP failed (Submission failed) or rejected. Other e-Faktura statuses are not counted.
Activity log Every status change of an invoice, storno and correction start, decisions on received invoices, and connection changes (connecting, uploading or removing a certificate, verifying, disconnecting).

Requires: REST API & webhooks

Webhooks. If you use webhooks, subscribe to document.efaktura.sent, document.efaktura.accepted (also sent for automatic acceptance), document.efaktura.rejected, document.efaktura.voided, document.efaktura.corrected and document.efaktura.failed. Each delivers the document as in the REST API. See Webhooks.

Connection and settings errors

Message Cause and fix
Upload a certificate before switching e-Faktura on. Upload the .pfx/.p12 file in Qualified certificate first.
The file could not be opened with that password. Check that it is a .pfx/.p12 bundle and the password is correct. Wrong password, a file without the private key, or another format. Export the certificate again as .pfx/.p12 with its private key. A USB token certificate cannot be used.
The certificate was stored, but its subject does not contain the company tax number. ... The certificate belongs to someone else, or the company Tax number (EDB) under Settings > General is wrong or missing. UJP rejects signatures from another taxpayer's certificate.
Tax number must have 13 digits (on Save) Tax number (X-EDB), 13 digits takes digits only, exactly 13.
Enter the e-УЈП id, the tax number, the certificate serial and upload a certificate first. Verify connection needs all three identity fields and a certificate.
E1000 UJP has no taxpayer with this tax number. The tax number is not in UJP's register. Check it.
E4022 Invalid X-EUJP-ID, E4023 Invalid X-EDB The eUJP ID is empty or the tax number is not 13 digits.
E4015 (signature), E4016 (headers), E5012 (serial mismatch) The certificate, its serial or the eUJP ID do not match what UJP has registered. Compare Certificate serial (X-SERIAL-NUMBER) with UJP's certificate screen and make sure the certificate is registered in the e-Faktura web app for this company.
E5002 (expired), E5003 / E4025 (revoked or not checkable) Get a new certificate and upload it.
E40121, E40122 (timestamp) A clock difference over 5 minutes. Bilify syncs to UJP's time and retries these automatically; if it persists, contact support.
The stored certificate could not be opened. Upload it again with its password. / The certificate's private key cannot be used for signing. The stored file is damaged. Remove certificate and upload it again.

Certificate expiry

Bilify stops sending as soon as the certificate expires (Send to UJP turns grey, automatic sending skips). It does not warn you in advance yet: check Valid until on the Connection card and renew in time.

Sending errors on an invoice

Message Cause and fix
e-Faktura is not ready for sending. / e-Faktura is not ready: switch it on and make sure the identity fields and a valid certificate are configured. Module off, identity incomplete, no certificate or an expired one. Fix it under Settings > e-Faktura.
A submission is already in progress. The invoice is already queued. Wait for the result.
A resident buyer needs a 13-digit tax number (EDB) on the client. (E10001) Add the client's Tax number (EDB).
A non-resident buyer needs a foreign tax id on the client. (E10001) Add Foreign tax id (non-residents) to the client.
The seller tax number must be 13 digits. (E10001) Fix Tax number (EDB) under Settings > General.
Required field ... is empty. (E4019) such as streetAddress, postalCode, city, sellerName, buyerName The company or client address or name is incomplete.
... is longer than ... characters. (E4013) A name, address or description exceeds UJP's limit (for example 150 characters for names, 80 for the street, 300 for a line description). Shorten it.
The document has no lines. Add at least one line.
Line ... does not add up under UJP arithmetic. / The document totals do not add up ... / A VAT totals row ... (E1020x) UJP recomputes every line and total with a tolerance of 0.1. Contact support with the invoice number.
Tax group ... / Tax indicator ... is not in the UJP catalogue. (E1004, E1009) The tax rate on a line has no UJP mapping. Contact support.
The payment type is not in the UJP catalogue. / The currency is not in the UJP catalogue. Check the invoice's payment method and currency.
E1023 Invoice already exists for that ID This invoice was already registered. Click Refresh status.
E1000 from UJP on send The seller or buyer name or address differs from UJP's register. Copy the exact registered data into the company or client.

Data is frozen at issue

An invoice sends the company and client data as they were when it was issued. After fixing the client, a failed invoice still fails. Cancel it (allowed while it is Submission failed or Not submitted) and issue a new one.

Temporary problems (UJP busy, rate limit, timestamp drift, server errors) do not fail the invoice at once: it stays Sending and is retried after 1, 5 and 15 minutes, 1 hour and 4 hours, showing the last error meanwhile. After the last retry it becomes Submission failed; click Send to UJP to try again.

Status, storno and correction

Message Cause and fix
This document is not registered with UJP yet. Refresh status only works after the invoice got an EUID.
This document is already registered with UJP (EUID ...). It cannot be cancelled in place; issue a storno or a correction instead. See Storno and correction.
This document is being sent to UJP. Wait until it is registered, then issue a storno or a correction instead of cancelling it. The invoice is queued or being sent. Cancelling is not possible; wait for the result. A rejected invoice cannot be cancelled either: issue a storno or a correction.
Only a document registered with UJP (and not already voided or corrected) can be reversed. The invoice is not registered, or was already voided or corrected.
e-Faktura is not ready: switch it on and make sure the identity fields and a valid certificate are configured. (on Storno or Correct) Storno and correction are sent to UJP at once, so they need a working connection. Fix it under Settings > e-Faktura.
A storno or correction of this document is already on its way to UJP. Only one at a time. Wait until UJP has registered the first one.
This invoice deducts advance invoices, so it cannot be corrected. Issue a storno and then a new invoice. Issue a storno (it frees the advances), then a new invoice that deducts them.
A storno needs a void reason from the UJP catalogue. / A correction needs a reason from the UJP catalogue. Choose a Reason (UJP catalogue).
e-Faktura: ... was rejected by the buyer Read the Rejection reason and issue a correction or a storno.

Received invoices

Message Cause and fix
This e-invoice was already accepted or rejected. A decision was already made, in Bilify or at UJP.
Choose a rejection reason from the UJP catalogue. Pick a Reason (UJP catalogue) before Reject.
This e-invoice is already booked as an expense. Open it with Open expense.
UJP did not return a PDF. / No UJP PDF stored yet. Click Fetch UJP PDF again later. At UJP the signer needs the privilege to download PDFs.
A yellow box on a received invoice with E4008 UJP did not find the document. Click Refresh from UJP.
Line details were not fetched from UJP yet. Click Refresh from UJP.

What is not built yet

These parts of the e-Faktura plan are not available today:

  • The live connection to UJP's test and production systems (Bilify runs on the simulator).
  • Checking a client's name and address against UJP's register from the client form.
  • Reminders for the decision deadline on received invoices and warnings before the certificate expires.
  • The offline flow for invoices issued while UJP is down (Issued offline, awaiting submission).
  • Downloading UJP's PDF and the original electronic file (ASiC) for invoices you sent. The PDF download exists for received invoices only.
  • Choosing a different UJP tax indicator per line (for example export or exemption on a 0% line); a 0% line always uses the rate's default indicator.
  • Credit notes and debit notes as UJP document types.
  • Automatic refresh of UJP's code lists; Bilify uses a built-in copy.

If you hit an error not listed here, open a support ticket with the invoice number and the code shown in the Submissions list.