e-Faktura API
v1 Guides MK Get started

e-Faktura API

Sandbox

Two environments, selected by your key

A mfk_test_... key or a sandbox OAuth client only ever talks to UJP’s own test system (efakturatest.ujp.gov.mk) or Merot’s simulator — never production. A mfk_live_... key only ever talks to production, and only once your account has an active paid plan.

Developer accounts

A sandbox-only developer account needs no payment and can create sandbox keys, but can never create a production key or enable production on a company. This is the only account type that’s free; any production use requires a paid plan (Merot has no free trials or free plans for production). Self-serve signup for developer accounts is coming to this site — until then, and we’ll set one up for you.

The simulator

If your company doesn’t have a UJP test certificate yet, set its sandbox backend to the simulator instead of real UJP test. The simulator:

  • Accepts self-signed test certificates you generate yourself, so you don’t need a real token to try the API end to end.
  • Assigns EUIDs and moves documents through status transitions on request (POST /v1/sandbox/einvoices/{id}/simulate) instead of waiting on UJP.
  • Can inject a simulated incoming e-invoice (POST /v1/sandbox/inbox) so you can build and test your inbox handling without a real trading partner.

Simulator documents are always tagged environment: "sandbox" and are never reachable with a live key.

Note

Once you have a real KIBS or Telekom test certificate, switch the company’s sandbox backend to real UJP test to validate against UJP’s own rules before going live.