AAM értékhatár: A rendszer az AAM jogállású cégek éves értékhatárát figyeli. Ha az új számla túllépné a keretet, az API AAM_THRESHOLD_WILL_BE_EXCEEDED hibakóddal leállítja a kiállítást. A cég ÁFA-jogállását és az alkalmazandó ÁFA-profilt ilyenkor ellenőrizni kell.

Automatikus Számlázás BillX API-val

Kapcsold össze webshopod, CRM-ed vagy egyéb rendszered a BillX számlázóval

Natív BILLX API

Kapcsolódási adatok

Ezek az adatok szükségesek egy külső szolgáltatás beállításához:

API bázis URL
https://billx.hu/api/billx
Példa: https://billx.hu/api/billx/invoices
Hitelesítés
Authorization: Bearer SAJAT_API_KULCS
JSON, UTF-8, HTTPS
Fontos: ez a natív BILLX API. A Billingo-kompatibilis /api/blng más felület; új BILLX integrációhoz ne azt állítsd be.
API Kulcs megszerzése

Az API kulcsodat a Dashboard oldalon találod meg bejelentkezés után.

Használat: A kulcsot a Authorization: Bearer YOUR_API_KEY headerben kell elküldeni minden API kéréshez.
Teszt API Kulcs (Fejlesztéshez)

Teszteléshez használható fix API kulcs, ami nem hoz létre valódi számlákat:

test_billx_api_key_demo_12345678
Mit csinál: ✅ Validálja a kéréseket, ✅ Visszaad példa adatokat, ✅ Számol összegeket
Mit NEM csinál: ❌ Nem hoz létre számlát, ❌ Nem küld NAV-hoz, ❌ Nem érinti a fiókodat

Mi ez és mire jó?

A BillX API egy automatikus számlázó csatorna, amivel más rendszerek (webshop, CRM, foglalási rendszer stb.) tudnak automatikusan számlákat kiállítani nálad.

Automatizálás

Ne kelljen kézzel beírni minden számlát - az rendszered csinálja helyetted!

Biztonság

Az API titkosított kapcsolaton keresztül kommunikál, csak te férsz hozzá.

Hatékonyság

Spórolj időt és csökkentsd a hibalehetőséget az automatizálással!

Mire használhatom?

Webshop integráció

WooCommerce, Shopify, Shoprenter vagy egyéni webshop esetén automatikusan kiállítható a számla minden megrendelés után.

Példa: Vásárló rendelést ad le → Webshop API hívást küld → BillX kiállítja a számlát
Foglalási rendszer

Szállásfoglalás, edzések, szolgáltatások foglalása esetén automatikus számlakiállítás.

Példa: Vendég lefoglal egy szobát → Foglalási rendszer értesít → Számla kiállítva
CRM / Ügyfélkezelő

Projektmenedzsment vagy CRM rendszerből közvetlenül számla generálás.

Példa: Projekt lezárása → CRM összesíti az órákat → Számla automatikusan
Fuvarozás / Logisztika

Fuvarlistából automatikus számlakiállítás (mint a Fuvarbörze integráció).

Példa: Fuvar teljesítve → Rendszer küldi az adatokat → Számla készen van
Előfizetéses szolgáltatások

Havi/éves előfizetések automatikus számlázása ismétlődő tételekkel.

Példa: Hónap eleje → Automatikus cron job → Számlák kiállítva minden előfizetőnek

Hogyan kezdjem el?

1️⃣ API Kulcs másolása

Jelentkezz be a BillX Dashboard-ra és másold ki az API kulcsodat. Ez azonosít téged a rendszerben.

2️⃣ Fejlesztő keresése (ha kell)

Ha nem vagy programozó, kérj meg egy webfejlesztőt/IT szakembert, hogy integrálja a rendszered a BillX API-val. Add át neki:

  • Az API kulcsodat (Dashboard-ról)
  • Ezt a dokumentációs oldal URL-jét
  • Milyen rendszerbe kell integrálni (WooCommerce, Laravel stb.)
BillX Fejlesztői Szolgáltatás

Nincs fejlesztőd? A BillX csapata is vállalja az API bekötést!

  • Óradíj: 10.000 Ft / óra
  • Átlagos idő: 1-3 óra (rendszertől függően)
  • Mit csinálunk: Bekötjük az API-t a rendszeredbe, tesztelünk, dokumentálunk

Érdeklődsz? Hívj minket: +36 70 303 4868

3️⃣ Integráció készítése

A fejlesztő beépíti a rendszeredbe az API hívásokat. Ez általában 1-3 óra munkát jelent tapasztalt fejlesztőnek.

4️⃣ Tesztelés

Próbáld ki a rendszert teszt adatokkal! Készíts egy próba rendelést/foglalást, nézd meg, hogy megjelenik-e a számla itt a BillX-ben.

5️⃣ Éles használat

Ha minden rendben működik, kapcsold be élesen! Ezután automatikusan készülnek a számlák.

WooCommerce Integráció

Ha WooCommerce webshopod van, nem kell fejlesztőt hívni az alapintegrációhoz. Töltsd le a BillX WooCommerce bővítményt, telepítsd fel, add meg az API kulcsodat, és kész!

Mit tud a bővítmény?
  • Automatikusan kiállít számlát minden teljesített rendelés után
  • Vevő adatait (név, cím, adószám) automatikusan kitölti
  • Ha adószámot ad meg a vevő, a NAV adatbázisból ellenőrzi és kiegészíti az adatokat
  • Szállítási költséget külön tételként kezeli
  • Beállítható: melyik számlatömbre, milyen áfával
Plugin letöltése v1.1.0 · WordPress 5.0+ · WooCommerce 6.0+
Telepítés: WP Admin → Bővítmények → Feltöltés

Fejlesztői Információk

Ha te vagy a fejlesztő, vagy át szeretnéd adni a technikai dokumentációt a programozódnak, itt találod az összes szükséges információt:

API Dokumentáció

Teljes natív BILLX API referencia végpontokkal és mezőkkel

Technikai referencia
Kód példák

PHP, Python, JavaScript integráció példák

Példák megtekintése
WooCommerce Plugin

Telepíthető WordPress bővítmény – automatikus számlakiállítás rendelés után

Plugin letöltése (.zip)
WordPress Admin → Bővítmények → Új hozzáadása → Feltöltés

API URL:
https://billx.hu/api/billx
Autentikáció:
Bearer Token
Formátum:
JSON

Elérhető végpontok

Nyugta API: a POST /receipts vevőadatok és customer rekord nélkül használható tesztmódban. A nyugtalista, részletek, PDF és GET /receipt-series is elkészült. A Nyugtatömbök adminoldalon saját tömbök és alapértelmezett tömb állítható be. Az API a megadott series_id szerinti, ennek hiányában az alapértelmezett nyugtatömböt használja. A módosítás, sztornó és napi NAV-beküldés elkészült. Az éles kiállításhoz cégenként ellenőrzött NAV-kapcsolat és aktiválás szükséges. Nyugta API: mezők, példák és aktuális korlátok.

Az útvonalakat a https://billx.hu/api/billx bázis URL után kell írni.

MetódusÚtvonalFunkció
GET/customersPartnerek listázása
POST/customersPartner létrehozása
GET/customers/{id}Partner lekérése
GET/invoicesSzámlák listázása
POST/invoicesSzámla, díjbekérő vagy piszkozat létrehozása
GET/invoices/{id}Bizonylat részletei
GET/vat-profilesHasználható ÁFA-profilok
GET/productsTermékek listázása
POST/productsTermék létrehozása
GET/bank-accountsCéges bankszámla lekérése
GET/receipt-seriesNyugtatömbök és alapértelmezett tömb lekérése
POST/receiptsCustomer nélküli nyugta – API leírás
GET/receiptsNyugták listázása
GET/receipts/{id}Nyugta és tételek lekérése
GET/receipts/{id}/pdfNyugta PDF letöltése
POST/receipts/{id}/modifyMódosító okirat kiállítása
POST/receipts/{id}/cancelSztornó okirat kiállítása

A módosító és törlő partner-, valamint bizonylat-végpontokat és a pontos válaszokat a technikai referencia tartalmazza.

Nyugta API és nyugtatömbök

Számítógéppel előállított nyugta létrehozása vevőadatok és customer rekord nélkül. Ez nem e-pénztárgépes e-nyugta. A nyugta API a natív /api/billx felület része.

Használat: a nyugtatömbök, nyugtalista, módosítás és sztornó az adminból elérhetők. A létrehozás a publikus demo kulccsal kipróbálható. Az éles kiállítás jelenleg kikapcsolt; a kiválasztott cég éles NAV-kapcsolatának ellenőrzése és aktiválása szükséges. Beállítás: Nyugta NAV. A pending státusz napi zárásra várakozást jelent.

Végpontok

Bázis URL: https://billx.hu/api/billx. Hitelesítés: Authorization: Bearer API_KULCS. A létrehozási kérés formátuma Content-Type: application/json.

MetódusÚtvonalMűködés
GET/receipt-seriesA saját cég nyugtatömbjei, azonosítóval, active és default_series jelöléssel.
POST/receiptsNyugta létrehozása; új bizonylatnál 201, tárolt kérés ismétlésekor 200.
GET/receipts?page=1&per_page=20Nyugták lapozható listája; maximum 100/oldal. Válasz: data, total, current_page, per_page, last_page.
GET/receipts/{id}Saját nyugta adatai, tételei, ÁFA-bontása és megtekintési hivatkozásai.
GET/receipts/{id}/pdfPDF letöltése Bearer-hitelesítéssel; válasza application/pdf.

1. Nyugtatömb kiválasztása

Az Admin → Számlázás → Nyugtatömbök oldalon hozd létre a tömböket. Az első aktív tömb automatikusan alapértelmezett; később a „Legyen alapértelmezett” gombbal válthatsz. A tömbök azonosítóit az admin listájából vagy a GET /receipt-series válaszából olvashatod ki.

API-kérésHová kerül a nyugta?
"series_id": 12A saját cég 12-es azonosítójú, aktív nyugtatömbjébe.
A series_id mező elhagyvaA cég alapértelmezett nyugtatömbjébe.
Hibás, idegen vagy inaktív series_idA kérés hibával leáll; nem választunk helyette másik tömböt.

A válasz series_id mezője a ténylegesen használt nyugtatömböt tartalmazza. Nyugtához series_id kell, a számláknál használt block_id itt nem elfogadott. A számlatömbök és a nyugtatömbök külön azonosítókat használnak.

Használt tömb előtagja és számozási formátuma rögzített. A név és az ÁFA-alapérték módosítható; az ÁFA-változás csak az új bizonylatokat érinti. Tömb létrehozása önmagában nem aktiválja az éles kiállítást.

2. A létrehozási kérés mezői

MezőKötelező?Típus és jelentés
external_idIgen1–191 karakteres rendelési/tranzakcióazonosító; cégen belül egyedi. Újrapróbáláskor ugyanazt küldd.
fulfillment_dateIgenTeljesítési nap: YYYY-MM-DD.
paid_atIgenFizetés időpontja, RFC3339 másodperces pontossággal és időzónával, például 2026-10-24T10:43:23+02:00.
payment_completedIgenLogikai true: a teljes ellenérték megfizetve.
customer_typeIgenPontosan "individual": magánszemély-vásárlás.
invoice_requestedIgenLogikai false: a vásárló nem kér számlát.
payment_methodIgencard, cash, transfer vagy other.
currencyIgenHUF, EUR vagy USD.
itemsIgen1–100 tételt tartalmazó tömb.
series_idNemPozitív JSON egész szám; elhagyva az alapértelmezett nyugtatömb érvényesül.
exchange_rateNemEUR/USD esetén elhagyáskor vagy null értéknél a legutóbbi érvényes MNB-cache árfolyamát használjuk. Napi teljes frissítés 00:05-kor (budapesti idő), hiba esetén óránkénti újrapróbálás; a régi cache közben használható. Az aznap már rögzített árfolyam napközben nem változik. Megadott árfolyam, például "392.41", felülírja ezt. HUF-nál értéke 1.
fulfillment_atNem, de ajánlottA teljesítés pontos RFC3339 időpontja; a fulfillment_date napjára kell esnie Europe/Budapest időzónában.
delivery_emailNemKézbesítési e-mail, legfeljebb 254 karakter. Megadásakor a PDF automatikusan kiküldésre kerül az ötpercenként futó feldolgozóval; külön send_email nem kell. A módosítás és sztornó is az eredeti címre megy. Cím nélkül nincs e-mailes küldés. Az e-mail-cím nem jelenik meg a nyugtán.
notesNemLegfeljebb 4000 karakteres megjegyzés, amely megjelenik a nyugtán.
payment_referenceNemLegfeljebb 191 karakteres fizetési hivatkozás. Bankkártyaadatot ne küldj.

Tételmezők (items[])

MezőKötelező?Jelentés
nameIgenMegnevezés, legfeljebb 255 karakter.
quantityIgenPozitív mennyiség.
gross_unit_priceIgenNem negatív bruttó egységár. Nettó árat ne küldj.
vat_profile_idHa nincs használható alapértékAktív, engedélyezett ÁFA-profil egész azonosítója a GET /vat-profiles listából. Tesztkulcsnál add meg a rendszerprofil ID-ját.
unitNemMértékegység, legfeljebb 20 karakter; alapérték db.
descriptionNemLegfeljebb 2000 karakteres leírás.

ÁFA-prioritás: tétel → nyugtatömb → cég, a cég AAM-jogállásának figyelembevételével. Kezdetben százalékos ÁFA, AAM és TAM támogatott. A mennyiség, egységár és árfolyam JSON számként vagy decimális stringként adható meg, legfeljebb 9 egész és 6 tizedesjeggyel. A bruttó/nettó/ÁFA végösszegeket két tizedesjegyű decimális stringként adja vissza az API.

A válasz exchange_rate mezője a rögzített árfolyam; az exchange_rate_source értéke mnb, provided vagy huf. Ismétlés és korrekció az eredeti árfolyamot használja. MNB-kieséskor a legutóbbi érvényes cache-ből folytatódik a kiállítás. 503 RECEIPT_EXCHANGE_RATE_UNAVAILABLE csak akkor érkezik, ha egyáltalán nincs használható MNB- vagy cache-árfolyam; ekkor explicit árfolyam adható.

A nyugtaszám formátuma NYUGTA-IDC-2026/00000001: a fix NYUGTA- jelölés a számlák BILLX- jelölésétől eltér, ezért azonos tömbelőtag is használható. A módosítás és sztornó ugyanebben a számsorban kap új számot.

Az API pozitív végösszeget és 900 000 HUF alatti, árfolyammal átszámított bruttó ellenértéket vár. A teljes fizetésnek legkésőbb a teljesítéskor meg kell történnie; jövőbeli időpont nem fogadható el. Csak dátum megadásakor naponként történik az ellenőrzés, ezért a napon belüli sorrendhez add meg a fulfillment_at mezőt is. A fizetési szolgáltató ellenőrzése a kliens feladata. Az AAM-ellenőrzés a BillX-ben tárolt számla- és nyugtabevételeket együtt vizsgálja.

Nincs vevőadat-bekérés: név, cím, adószám, telefon és e-mail nem szükséges. A customer_id, customer_name, customer_address, customer_tax_number, a nettó ár és minden ismeretlen mező elutasított. A delivery_email nem hoz létre partnert, és nem jelenik meg a publikus nyugtán.

3. Kipróbálás tesztkulccsal

Először kérd le az ÁFA-profilokat, és válaszd ki a példához a VAT27 rendszerprofilt:

curl 'https://billx.hu/api/billx/vat-profiles' \
  -H 'Authorization: Bearer test_billx_api_key_demo_12345678'

Az alábbi vat_profile_id: 1 példaazonosítót szükség esetén cseréld a kapott ID-ra. A tesztmód series_id: 1 értéke a demo tömböt jelöli; a mező el is hagyható. Saját kulcsnál a saját nyugtatömböd ID-ját használd.

curl -X POST 'https://billx.hu/api/billx/receipts' \
  -H 'Authorization: Bearer test_billx_api_key_demo_12345678' \
  -H 'Content-Type: application/json' \
  -H 'Idempotency-Key: webshop-order-84729' \
  --data-binary '{
    "external_id": "webshop-order-84729",
    "series_id": 1,
    "fulfillment_date": "2026-10-24",
    "fulfillment_at": "2026-10-24T10:43:23+02:00",
    "paid_at": "2026-10-24T10:43:23+02:00",
    "payment_completed": true,
    "customer_type": "individual",
    "invoice_requested": false,
    "payment_method": "card",
    "currency": "HUF",
    "items": [
      {
        "name": "Teszt szolgáltatás",
        "unit": "db",
        "quantity": 1,
        "gross_unit_price": "1270.00",
        "vat_profile_id": 1
      }
    ]
  }'

Sikeres tesztválasz: HTTP 201. A következő részlet a fő mezőket szemlélteti; a válasz teljes items listát is tartalmaz. A tesztnyugtaszám vége a kérés tartalmától függ.

{
  "id": null,
  "series_id": 1,
  "test_mode": true,
  "receipt_number": "TEST-NY-2026-a1b2c3d4e5f6",
  "status": "issued",
  "document_kind": "sale",
  "issue_date": "2026-10-24",
  "fulfillment_date": "2026-10-24",
  "paid_at": "2026-10-24T08:43:23Z",
  "payment_method": "card",
  "currency": "HUF",
  "gross_total": "1270.00",
  "huf_gross_total": "1270.00",
  "vat_summary": [
    {"vat_profile_id": 1, "code": "VAT27", "rate": "27.00", "gross": "1270.00", "net": "1000.00", "vat": "270.00"}
  ],
  "external_id": "webshop-order-84729",
  "receipt_url": null,
  "pdf_url": null,
  "nav_report_status": "not_submitted_test_mode"
}

A tesztkulcs nem ment nyugtát, nem foglal valódi sorszámot, nem érinti az AAM-keretet és nem küld a NAV-hoz. A tesztválasz issued állapota szimuláció. A demo lista üres, a tesztnyugta később ID alapján nem kérhető le, és PDF/megtekintési link sem készül. A tárolt idempotencia is csak a saját fiókos kiállításnál értelmezett.

4. Idempotencia, megtekintés és PDF

Tárolt nyugtakiállításnál minden rendeléshez stabil external_id-t használj. Az opcionális Idempotency-Key 1–191 látható ASCII karakterből állhat, szóköz nélkül. Azonos normalizált tartalom ismétlése a meglévő nyugtát adja vissza 200 státusszal; eltérő tartalom azonos külső azonosítóval vagy kulccsal 409 RECEIPT_EXTERNAL_ID_CONFLICT.

Az alapértelmezett tömb későbbi megváltoztatása nem helyezi át a nyugtát: az idempotens ismétlés az eredeti id, receipt_number és series_id értékeket adja vissza. Új bizonylat sorszáma a tömb előtagjából, az évből és a folyamatos számlálóból áll, például WEB-2026-00000001.

Engedélyezett, tárolt kiállításnál az id valós azonosító, a receipt_url véletlen tokenes https://billx.hu/r/{token} hivatkozás. Ez API-kulcs nélkül megnyitható, és az oldalról a PDF is letölthető. A pdf_url az autentikált /api/billx/receipts/{id}/pdf végpontra mutat; böngészős sikeroldalon a receipt_url-t használd. A dokumentum a kiállításkor mentett kibocsátó- és tételadatokból készül.

5. Hibakezelés

{
  "error": "RECEIPT_SERIES_NOT_FOUND",
  "message": "Select one receipt series; a unique default is required when series_id is omitted."
}
HTTPHibakód / okTeendő
400 / 413RECEIPT_INVALID_REQUESTJavítsd a JSON-t vagy a Content-Type fejlécet; a kérés legfeljebb 256 KiB lehet.
401Hiányzó vagy érvénytelen API-kulcsEllenőrizd a Bearer-hitelesítést.
404RECEIPT_NOT_FOUND / RECEIPT_ROUTE_NOT_FOUNDEllenőrizd az ID-t, a saját fiókot, az útvonalat és a metódust.
409RECEIPT_EXTERNAL_ID_CONFLICTEllenőrizd a rendelésazonosítót és a korábban elküldött tartalmat.
422RECEIPT_SERIES_NOT_FOUND / RECEIPT_SERIES_INACTIVEVálassz saját aktív tömböt, vagy jelölj ki alapértelmezettet az adminban.
422RECEIPT_PAYMENT_NOT_COMPLETED / RECEIPT_PAYMENT_AFTER_FULFILLMENTEllenőrizd a teljes fizetést és az időpontok sorrendjét.
422RECEIPT_INVOICE_REQUESTED / RECEIPT_BUSINESS_CUSTOMER / RECEIPT_NOT_ALLOWED_AMOUNT_LIMITA számlázási folyamatot használd.
422RECEIPT_INVALID_VAT_PROFILE / AAM_THRESHOLD_WILL_BE_EXCEEDEDEllenőrizd az ÁFA-profilt és a cég adózási beállításait.
422RECEIPT_INVALID_REQUEST / RECEIPT_ISSUER_INCOMPLETEJavítsd a mezőértékeket, illetve egészítsd ki a kibocsátó céges adatait.
503RECEIPTS_DISABLEDA kiállítás nincs engedélyezve; jelenleg a demo kulccsal tesztelj.
500RECEIPT_INTERNAL_ERRORŐrizd meg a válasz request_id-ját; újrapróbáláskor ugyanazt a kérést és idempotenciakulcsot küldd.

6. Módosítás és sztornó

Mindkét művelet az eredeti nyugta ID-jára hivatkozik, és saját sorszámú, PDF-ben is letölthető okiratot állít ki az eredeti tömbben. Az eredeti pénzügyi tartalom megmarad. Nyugtát törlő végpont nincs.

POST /receipts/{id}/cancel – teljes sztornó a korábbi módosítások után fennmaradó összegre:

{
  "external_id": "order-84729-cancel",
  "reason": "Teljes visszatérítés"
}

POST /receipts/{id}/modify – egytételes nyugta részleges visszatérítése:

{
  "external_id": "order-84729-refund-1",
  "reason": "Részleges visszatérítés",
  "gross_delta": "-3.00"
}

Több eredeti tételnél a gross_delta helyett az érintett tételeket add meg: "items": [{"position": 0, "gross_delta": "-3.00"}]. A position az eredeti tétel nullától induló indexe. Az összegek az eredeti nyugta pénznemében értendők, legfeljebb két tizedessel. A pénznem és az eredeti ÁFA nem változtatható.

Kötelező az egyedi external_id és az indok (reason, legfeljebb 2000 karakter). Az opcionális effective_date az eredeti kiállítás és a mai nap közötti dátum; alapértéke a mai nap. Pozitív korrekcióhoz payment_completed: true és tényleges, RFC3339 paid_at szükséges. A módosítás nem utal vissza pénzt.

Új okirat: HTTP 201. Azonos kérés ismétlése: HTTP 200, ugyanaz az okirat. Újabb sztornó már sztornózott nyugtára: 409 RECEIPT_ALREADY_CANCELLED. A tétel maradékánál nagyobb csökkentés: 422 RECEIPT_CORRECTION_EXCEEDS_REMAINING. Többtételes nyugtához hiányzó tételbontás: 422 RECEIPT_CORRECTION_ITEMS_REQUIRED. A demo nem tárol nyugtát, így annak módosítása és sztornója 404.

7. NAV és kézbesítési állapot

A válasz nav_report_status mezője: pending (napi zárásra vár), queued, sending, retry, uncertain, failed vagy accepted. A háttérfeldolgozó csak lezárt napokat összesít, tömb, pénznem és árfolyam szerint. A NAV elfogadását a accepted jelzi; a nyugta HTTP 201 válasza a kiállítás sikerét jelenti.

A delivery_status értékei: not_requested, pending, sending, sent, uncertain, failed. Bizonytalan NAV- vagy e-mail-válasznál a rendszer megőrzi a bizonylatot, és nem ismétli meg vakon a küldést. Az állapotokat a nyugta újralekérésével és az adminban követheted.

Éles kiállításkor 503 RECEIPT_NAV_NOT_READY vagy RECEIPT_WORKER_NOT_READY a NAV-beállítás vagy háttérfeldolgozó hiányát jelzi. 422 RECEIPT_NAV_VAT_MAPPING_INVALID: hiányzó vagy lejárt NAV ÁFA-hozzárendelés. RECEIPT_NAV_CURRENCY_INVALID: nem támogatott deviza vagy árfolyam. Az éles árfolyam 1–1000 közötti, legfeljebb négy tizedesjegyű.

Checkout: számlakérés vagy céges vásárlás esetén marad a partner létrehozása és a POST /invoices folyamat. A nyugtás checkoutot a cég éles nyugtakiállításának aktiválása után kapcsold be. Egy fizetéshez egy bizonylattípust válassz; nyugtához ne hozz létre fiktív „Magánszemély” partnert.

AI fejlesztői kontextus

Copilot, Codex vagy más AI kódoló asszisztens számára add meg az alábbi géppel olvasható hivatkozást. A fájl tartalmazza a helyes bázis URL-t, a végpontokat, a kötelező mezőket és a BILLX–BLNG megkülönböztetést.

Megnyitás

Javasolt utasítás: „A BILLX integráció elkészítése előtt olvasd el a https://billx.hu/llms.txt fájlt, és kizárólag a natív BILLX API-t használd.”

Gyors példa: Számla létrehozás

Így néz ki egy egyszerű API hívás, amivel számla készül (ez csak szemléltetés, a fejlesztőd fogja implementálni):

// PHP példa
$data = [
    'customer_id' => 1,
    'invoice_type' => 'invoice', // 'invoice', 'proforma', vagy 'draft'
    'block_id' => 1, // Opcionális: számlatömb ID (ha nincs megadva, alapértelmezett)
    'fulfillment_date' => '2026-01-20',
    'due_date' => '2026-01-27',
    'payment_method' => 'transfer',
    'currency' => 'HUF',
    'items' => [
        [
            'name' => 'Webfejlesztés',
            'unit' => 'óra',
            'quantity' => 10,
            'unit_price' => 15000,
            // Ha nincs megadva, a számlatömb alapértelmezett ÁFA-profilja érvényesül.
            // Speciális jogcímhez: 'vat_profile_id' => 12
            'is_intermediated_service' => false
        ]
    ]
];

$ch = curl_init('https://billx.hu/api/billx/invoices');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    'Content-Type: application/json',
    'Authorization: Bearer YOUR_API_KEY_HERE'
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$response = curl_exec($ch);
$invoice = json_decode($response, true);

echo "Számla elkészült: " . $invoice['invoice_number'];
// Példa: "Számla elkészült: BILLX-2026/0001"
ÁFA prioritás: tétel vat_profile_id → régi vat_rate → a block_id számlatömb alapértelmezett profilja → céges alapprofil. Az elérhető azonosítók: GET /api/billx/vat-profiles.
Eredmény: Számla elkészült: BILLX-2026/0042
Számlatömbök: A számla számok az általad beállított számlatömbök alapján generálódnak (pl. BILLX-2026/0001, BILLX-ABC-2026/0042). Ha nem adsz meg block_id paramétert, az alapértelmezett számlatömböt használja az API.

Számla típusok

Az API-n keresztül három különböző típusú számlát hozhatsz létre:

Éles számla

invoice_type: "invoice"

Normál, végleges számla. Ez az alapértelmezett típus, ha nem adsz meg mást. A submit_to_nav: true beállítással küldhető be a NAV-hoz.

Proforma számla

invoice_type: "proforma"

Előzetes számla, ajánlat. Nem kerül beküldésre a NAV-hoz, nem befolyásolja a könyvelést.

Piszkozat

invoice_type: "draft"

Piszkozat számla későbbi véglegesítéshez. Hasznos ha még nem biztos minden adat.

Fontos: Az invoice_type mező kötelező! Lehetséges értékek: "invoice" (éles számla), "proforma" (díjbekérő), "draft" (piszkozat).

Gyakori Kérdések

Az API használat teljesen ingyenes minden BillX előfizetéshez! Nincs külön díj, korlátlan számú API hívást küldhetsz.

Igen! Az API kulcs 64 karakteres titkosított string, és csak HTTPS protokollon keresztül használható. Ne oszd meg senkivel, és csak biztonságos szerveren tárold!

Újat tudsz generálni a Beállítások menüpontban. A régi kulcs azonnal érvényét veszti, és frissítened kell a kulcsot az integrációdban.

Igen! Az API támogatja az EUR, USD és más devizákat is. Az MNB árfolyam automatikusan lekérdezésre kerül, vagy megadhatsz saját árfolyamot is.

Az integráció elkészítéséhez igen, de a használatához már nem! Egyszer beállítva automatikusan fog működni. Ha nem vagy programozó, kérj meg egy webfejlesztőt, hogy integrálja be neked (1-3 óra munka).

AI Asszisztens segítség

Kérdésed van az API bekötéssel kapcsolatban? Az AI chatbot segít a következőkben:

API endpoint-ok használata
Kódpéldák curl/PHP/JavaScript formátumban
Mezőnevek és típusok
customer_id, invoice_type, block_id stb.
Bearer token használat
Authorization header beállítása
WooCommerce plugin használat
Beállítások, hibaelhárítás, manuális generálás
Példa kérdések:
  • "Hogyan hozok létre számlát az API-val?"
  • "Milyen mezőket kell kitöltenem egy proforma számlához?"
  • "Hogyan állítom be a WooCommerce bővítményt?"
  • "Milyen HTTP headert kell küldeni az API kulccsal?"
Nyisd meg a chat ablakot a jobb alsó sarokban és kérdezz bátran!

Segítség kell?

Ha elakadtál, vagy kérdésed van az API használattal kapcsolatban, írj nekünk!

[email protected]