MER (Moj-eRačun) plugin omogućava slanje i primanje elektroničkih računa putem moj-eracun.hr posredničkog servisa. Plugin podržava automatsku autentifikaciju i potpunu integraciju s MER API-jem.
?response=INI/SIMPLE/RAWKonfiguraciju podešavate kroz HrFiskalizator sučelje (POSTAVKE MER):
| Parametar | Vrijednost | Opis |
|---|---|---|
| MODE | TESTNIPRODUKCIJSKIRETURNONLY |
Okruženje (demo/produkcija/debug) |
| USERNAME | Korisničko ime | MER korisničko ime (različito za test/prod) |
| PASSWORD | Lozinka | MER lozinka (različito za test/prod) |
| COMPANYID | OIB | OIB tvrtke (različito za test/prod) |
| COMPANYBU | Poslovnica | Oznaka poslovnice (opcionalno) |
| TIMEOUT | 30000 ms |
Vrijeme čekanja odgovora |
| RESPONSEFORMAT | RAW / INI / SIMPLE |
Defaultni format odgovora |
https://demo.moj-eracun.hrhttps://www.moj-eracun.hr/mer/ping
Provjerava dostupnost MER API servisa.
$.ajax({
url: 'mer/ping',
method: 'GET'
}).done(function(response) {
console.log(response);
});
HTTP
mer/ping
application/json; charset=utf-8
{
"Status": "ok",
"Message": "Service is up"
}
OK
[RESPONSE]
status=200
status=ok
message=Service is up
/mer/send
Šalje UBL 2.1 Invoice ili CreditNote prema MER servisu.
| Parametar | Tip | Status | Opis |
|---|---|---|---|
File |
string | OBAVEZNO | UBL 2.1 XML kao string |
$.ajax({
url: 'mer/send',
method: 'POST',
contentType: 'application/json',
data: JSON.stringify({
File: xmlString
})
}).done(function(response) {
console.log(response);
});
HTTP:NOENCODEPOST
mer/send
{"File":"<?xml version=\"1.0\"?>..."}
application/json; charset=utf-8
HTTP:NOENCODEPOST
mer/send
FILE=invoice_send.json
application/json; charset=utf-8
{
"ElectronicId": 394167,
"DocumentNr": "20156256",
"DocumentTypeId": 1,
"DocumentTypeName": "Račun",
"StatusId": 20,
"StatusName": "Obrađen",
"RecipientBusinessNumber": "99999999927",
"RecipientBusinessUnit": "",
"RecipientBusinessName": "Test Klising d.o.o.",
"Created": "2016-04-18T08:23:08.5879877+02:00",
"Sent": "2016-04-18T08:23:09.6730491+02:00",
"Modified": "2016-04-18T08:23:09.6840519+02:00",
"Delivered": null
}
/mer/sendxmlinvoice
Šalje čist XML dokument direktno iz editora. Automatski se wrapuje u JSON format sa auth podacima.
encodeURIComponent()) prije slanja zbog base64 podataka i specijalnih karaktera.
var xmlData = $('#editor').val();
$.ajax({
url: 'mer/sendxmlinvoice',
method: 'POST',
contentType: 'text/plain; charset=utf-8',
data: encodeURIComponent(xmlData)
}).done(function(response) {
console.log(response);
});
HTTP:NOENCODEPOST
mer/sendxmlinvoice
FILE=invoice_raw.xml
text/plain; charset=utf-8
Napomena: XML datoteka se automatski URL enkodira prije slanja.
Kao u prethodnom primjeru
/mer/queryOutbox
Dohvaća listu poslanih dokumenata u određenom datumskom rasponu.
ℹ️ Prihvača i sve druge parametre iz MER apija.
| Parametar | Tip | Status | Opis |
|---|---|---|---|
DateFrom |
string | OBAVEZNO | Datum od (format: YYYY-MM-DD) |
DateTo |
string | OBAVEZNO | Datum do (format: YYYY-MM-DD) |
$.ajax({
url: 'mer/queryOutbox',
method: 'POST',
contentType: 'application/json',
data: JSON.stringify({
DateFrom: '2026-01-01',
DateTo: '2026-01-31'
})
}).done(function(response) {
console.log(response);
});
HTTP:NOENCODEPOST
mer/queryOutbox
{"DateFrom":"2026-01-01","DateTo":"2026-01-31"}
application/json; charset=utf-8
HTTP:NOENCODEPOST
mer/queryOutbox
FILE=query_dates.json
application/json; charset=utf-8
/mer/queryInbox
Dohvaća listu primljenih dokumenata u određenom datumskom rasponu.
ℹ️ Prihvača i sve druge parametre iz MER apija.
| Parametar | Tip | Status | Opis |
|---|---|---|---|
DateFrom |
string | OBAVEZNO | Datum od (format: YYYY-MM-DD) |
DateTo |
string | OBAVEZNO | Datum do (format: YYYY-MM-DD) |
$.ajax({
url: 'mer/queryInbox',
method: 'POST',
contentType: 'application/json',
data: JSON.stringify({
DateFrom: '2026-01-01',
DateTo: '2026-01-31'
})
}).done(function(response) {
console.log(response);
});
HTTP:NOENCODEPOST
mer/queryInbox
{"DateFrom":"2026-01-01","DateTo":"2026-01-31"}
application/json; charset=utf-8
/mer/receive?ElectronicId={id}
Dohvaća puni XML sadržaj dokumenta prema ElectronicId.
| Parametar | Tip | Status | Opis |
|---|---|---|---|
ElectronicId |
string | OBAVEZNO | Jedinstveni identifikator dokumenta |
$.ajax({
url: 'mer/receive?ElectronicId=' + electronicId,
method: 'POST',
contentType: 'application/json',
data: '{}'
}).done(function(xmlDocument) {
console.log('XML primljen:', xmlDocument);
// Parsiraj XML ili prikaži u editoru
});
HTTP
mer/receive?ElectronicId=3227383
{}
application/json; charset=utf-8
Napomena: Prazan JSON {} je potreban za POST metodu.
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
<cbc:ID>1/2026</cbc:ID>
...
</Invoice>
/mer/statusOutbox
Provjerava status fiskalizacije poslanog dokumenta.
ℹ️ Prihvaća i sve druge parametre iz MER apija.
| Parametar | Tip | Status | Opis |
|---|---|---|---|
DocumentId |
integer | OBAVEZNO | ID dokumenta iz MER baze |
$.ajax({
url: 'mer/statusOutbox',
method: 'POST',
contentType: 'application/json',
data: JSON.stringify({
DocumentId: 12345678
}).done(function(response) {
console.log(response);
});
HTTP:NOENCODEPOST
mer/statusOutbox
{"DocumentId":12345678}
application/json; charset=utf-8
/mer/statusInbox
Provjerava status fiskalizacije primljenog dokumenta.
| Parametar | Tip | Status | Opis |
|---|---|---|---|
DocumentId |
integer | OBAVEZNO | ID dokumenta iz MER baze |
/mer/markPaid
Označava dokument kao plaćen.
| Parametar | Tip | Status | Opis |
|---|---|---|---|
DocumentId |
integer | OBAVEZNO | ID dokumenta |
PaymentDate |
string | OPCIONO | Datum uplate (YYYY-MM-DD) |
$.ajax({
url: 'mer/markPaid',
method: 'POST',
contentType: 'application/json',
data: JSON.stringify({
"electronicId": 101,
"paymentDate": "2024-06-01T00:00:00",
"paymentAmount": 500.00,
"paymentMethod": "T"
}
})
}).done(function(response) {
console.log(response);
});
HTTP:NOENCODEPOST
mer/markPaid
{ "electronicId": 101, "paymentDate": "2024-06-01T00:00:00", "paymentAmount": 500.00, "paymentMethod": "T" }
application/json; charset=utf-8
/mer/reject
Odbija primljeni dokument s obrazloženjem.
| Parametar | Tip | Status | Opis |
|---|---|---|---|
DocumentId |
integer | OBAVEZNO | ID dokumenta |
ReasonCode |
string | OBAVEZNO | Šifra razloga odbijanja |
ReasonText |
string | OBAVEZNO | Tekstualni opis razloga |
$.ajax({
url: 'mer/reject',
method: 'POST',
contentType: 'application/json',
data: JSON.stringify({
"electronicId": 201,
"rejectionDate": "2024-06-01T10:05:00",
"rejectionReasonType": "N",
"rejectionReasonDescription": "Data mismatch without tax impact"
})
}).done(function(response) {
console.log(response);
});
HTTP:NOENCODEPOST
mer/reject
FILE=reject_request.json
application/json; charset=utf-8
Sadržaj reject_request.json:
{
"electronicId": 201,
"rejectionDate": "2024-06-01T10:05:00",
"rejectionReasonType": "N",
"rejectionReasonDescription": "Data mismatch without tax impact"
}
MER plugin podržava 3 formata odgovora:
Čisti JSON odgovor kako stigne s MER servera.
{
"DocumentId": 12345678,
"ElectronicId": "3227383",
"ProcessStatus": "SENT"
}
Strukturiran format sa sekcijama. Aktivira se: RESPONSEFORMAT=INI ili ?response=INI
OK
[RESPONSE]
status=200
DocumentId=12345678
ElectronicId=3227383
ProcessStatus=SENT
Flat format sa dot-notacijom. Aktivira se: RESPONSEFORMAT=SIMPLE ili ?response=SIMPLE
OK
status=200
DocumentId=12345678
ElectronicId=3227383
ProcessStatus=SENT
?response=INI, ?response=SIMPLE ili ?response=RAW na bilo koji endpoint za privremenu promjenu formata.
Plugin uvijek vraća HTTP 200, ali greške se prikazuju u response body-ju:
{
"code": "PROXY_ERROR",
"message": "Connection timeout after 30000ms"
}
{
"ErrorCode": "INVALID_DOCUMENT",
"ErrorMessage": "Document validation failed",
"Details": ["Missing required field: BuyerID"]
}
U RETURNONLY modu plugin vraća formatirani request bez slanja:
METHOD:
POST
URL:
https://demo.moj-eracun.hr/apis/v2/send
HEADERS:
Content-Type: application/json; charset=utf-8
BODY:
{
"File": "<?xml...>",
"Username": "828455",
"Password": "mojPAssword",
"CompanyId": "22345729108"
}
?response=| Endpoint | Metoda | Opis |
|---|---|---|
/mer/getmode |
GET | Vraća trenutni mod (TESTNI/PRODUKCIJSKI/RETURNONLY) |
/mer/ping |
POST | Provjera dostupnosti servisa |
/mer/send |
POST | Slanje dokumenta (JSON wrapper) |
/mer/sendxmlinvoice |
POST | Slanje raw XML dokumenta |
/mer/receive |
POST | Primanje dokumenta po ElectronicId |
/mer/queryOutbox |
POST | Lista poslanih dokumenata |
/mer/queryInbox |
POST | Lista primljenih dokumenata |
/mer/statusOutbox |
POST | Status poslanih dokumenata |
/mer/statusInbox |
POST | Status primljenih dokumenata |
/mer/markPaid |
POST | Označi dokument kao plaćen |
/mer/reject |
POST | Odbij dokument |
/mer/eReporting |
POST | eIzvještavanje prema PU |
/mer/UpdateDokumentProcessStatus |
POST | Ažuriranje statusa dokumenta |
/mer/checkIdentifier |
POST | Provjera MPS identifikatora |
/mer/notifyimport/{DocumentId} |
POST | Notifikacija o import dokumentu |
📧 MER Plugin - Verzija 1.0 | HrFiskalizator | © 2026