Nevezés díjbekérővel Egy futóversenyre a jelentkezők egy űrlapon neveznek, a nevezési díjat átutalással fizetik. Nevezéskor díjbekérőt küldesz, amelyből a jelentkező látja, mennyit és meddig kell fizetnie. Amikor a pénz megérkezik, a díjbekérőre hivatkozó számlát állítasz ki. Ha valaki lemondja a nevezést, mielőtt fizetett, a díjbekérőt törlöd.
A díjbekérő és a számla ugyanazt a rendelésszámot kapja, így a kassza mindkettőt meg tudja keresni. A recept a Fizetett rendelés számlája recept egyszerSzamlaz() függvényére épül.
A nevezési logika#
lib/nevezes-szamlazas.ts import { type InvoiceBuyer , type InvoiceItemInput , isSzamlazzError , type Kassza } from 'kassza'
import { kassza as alapKliens } from '@/lib/kassza'
import { egyszerSzamlaz } from '@/lib/szamlazas'
export interface Nevezes {
readonly id : string
readonly vevo : InvoiceBuyer
readonly tav : string
readonly nevezesiDij : number
}
export type TorlesEredmenye = 'torolve' | 'nem-talalhato' | 'mar-szamlazva'
function rendelesszam (nevezes : Nevezes ) : string {
return `NEV- ${ nevezes .id } `
}
function tetelek (nevezes : Nevezes ) : InvoiceItemInput [] {
return [{ name : `Nevezési díj, ${ nevezes .tav } ` , grossUnitPrice : nevezes .nevezesiDij , vat : 27 }]
}
export function dijbekeroKiallitasa (
nevezes : Nevezes ,
kliens : Kassza = alapKliens ,
) : Promise < string > {
return egyszerSzamlaz (
{
type : 'proforma' ,
orderNumber : rendelesszam (nevezes) ,
paymentMethod : 'átutalás' ,
paymentDueInDays : 5 ,
downloadPdf : false ,
buyer : nevezes .vevo ,
items : tetelek (nevezes) ,
} ,
kliens ,
)
}
export async function szamlaBefizetesUtan (
nevezes : Nevezes ,
kliens : Kassza = alapKliens ,
) : Promise < string > {
const orderNumber = rendelesszam (nevezes)
const legutobbi = await kliens . invoices .find ({ orderNumber })
if ( legutobbi ?. header .type === 'invoice' ) return legutobbi . header .number
return egyszerSzamlaz (
{
orderNumber ,
proformaNumber : legutobbi ?. header .type === 'proforma' ? legutobbi . header .number : undefined ,
paid : true ,
paymentMethod : 'átutalás' ,
buyer : nevezes .vevo ,
items : tetelek (nevezes) ,
} ,
kliens ,
)
}
export async function dijbekeroTorlese (
nevezes : Nevezes ,
kliens : Kassza = alapKliens ,
) : Promise < TorlesEredmenye > {
const orderNumber = rendelesszam (nevezes)
const legutobbi = await kliens . invoices .find ({ orderNumber })
if ( legutobbi ?. header .type === 'invoice' ) return 'mar-szamlazva'
try {
await kliens . invoices .deleteProforma ({ orderNumber })
return 'torolve'
} catch (error) {
if ( isSzamlazzError (error) && error .isNotFound) return 'nem-talalhato'
throw error
}
}
A számla ugyanazt a vevőt és ugyanazokat a tételeket kapja, mint a díjbekérő. A proformaNumber kapcsolja össze a két bizonylatot a Számlázz.hu-ban.
Díjbekérő, majd számla
Díjbekérő kiállítása, és a befizetés után a hozzá kapcsolt végleges számla.
Futtatás a sandboxbanKód Elküldött XML Válasz Konzol
dijbekero-szamla.ts import { createKassza , type InvoiceBuyer , type InvoiceItemInput } from 'kassza'
const kassza = createKassza ()
const vevo : InvoiceBuyer = {
name : 'Futóklub Egyesület' ,
zip : '1134' ,
city : 'Budapest' ,
address : 'Váci út 10.' ,
email : 'penztar@example.hu' ,
}
const tetelek : InvoiceItemInput [] = [
{ name : 'Nevezési díj, félmaraton' , grossUnitPrice : 12_990 , vat : 27 } ,
]
const dijbekero = await kassza . invoices . create ({
type : 'proforma' ,
orderNumber : 'NEV-2026-042' ,
buyer : vevo ,
items : tetelek ,
})
console . log ( 'Díjbekérő:' , dijbekero . number , dijbekero . grossTotal )
const szamla = await kassza . invoices . create ({
proformaNumber : dijbekero . number ,
orderNumber : 'NEV-2026-042' ,
paymentMethod : 'átutalás' ,
paid : true ,
buyer : vevo ,
items : tetelek ,
})
console . log ( 'Számla:' , szamla . number , 'hátralék:' , szamla . outstanding ) 1. Számla létrehozás · action-xmlagentxmlfile <? xml version = "1.0" encoding = "UTF-8" ?>
< xmlszamla xmlns = "http://www.szamlazz.hu/xmlszamla" xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi : schemaLocation = "http://www.szamlazz.hu/xmlszamla https://www.szamlazz.hu/szamla/docs/xsds/agent/xmlszamla.xsd" >
< beallitasok >
< szamlaagentkulcs >••••••••</ szamlaagentkulcs >
< eszamla >false</ eszamla >
< szamlaLetoltes >true</ szamlaLetoltes >
< valaszVerzio >2</ valaszVerzio >
</ beallitasok >
< fejlec >
< keltDatum >2026-09-19</ keltDatum >
< teljesitesDatum >2026-09-19</ teljesitesDatum >
< fizetesiHataridoDatum >2026-09-19</ fizetesiHataridoDatum >
< fizmod >Átutalás</ fizmod >
< penznem >HUF</ penznem >
< szamlaNyelve >hu</ szamlaNyelve >
< rendelesSzam >NEV-2026-042</ rendelesSzam >
< dijbekero >true</ dijbekero >
</ fejlec >
< elado ></ elado >
< vevo >
< nev >Futóklub Egyesület</ nev >
< irsz >1134</ irsz >
< telepules >Budapest</ telepules >
< cim >Váci út 10.</ cim >
< email >penztar@example.hu</ email >
< sendEmail >true</ sendEmail >
</ vevo >
< tetelek >
< tetel >
< megnevezes >Nevezési díj, félmaraton</ megnevezes >
< mennyiseg >1</ mennyiseg >
< mennyisegiEgyseg >db</ mennyisegiEgyseg >
< nettoEgysegar >10228</ nettoEgysegar >
< afakulcs >27</ afakulcs >
< nettoErtek >10228</ nettoErtek >
< afaErtek >2762</ afaErtek >
< bruttoErtek >12990</ bruttoErtek >
</ tetel >
</ tetelek >
</ xmlszamla >
2. Számla létrehozás · action-xmlagentxmlfile <? xml version = "1.0" encoding = "UTF-8" ?>
< xmlszamla xmlns = "http://www.szamlazz.hu/xmlszamla" xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi : schemaLocation = "http://www.szamlazz.hu/xmlszamla https://www.szamlazz.hu/szamla/docs/xsds/agent/xmlszamla.xsd" >
< beallitasok >
< szamlaagentkulcs >••••••••</ szamlaagentkulcs >
< eszamla >false</ eszamla >
< szamlaLetoltes >true</ szamlaLetoltes >
< valaszVerzio >2</ valaszVerzio >
</ beallitasok >
< fejlec >
< keltDatum >2026-09-19</ keltDatum >
< teljesitesDatum >2026-09-19</ teljesitesDatum >
< fizetesiHataridoDatum >2026-09-19</ fizetesiHataridoDatum >
< fizmod >átutalás</ fizmod >
< penznem >HUF</ penznem >
< szamlaNyelve >hu</ szamlaNyelve >
< rendelesSzam >NEV-2026-042</ rendelesSzam >
< dijbekeroSzamlaszam >D-KASSZA-2026-1</ dijbekeroSzamlaszam >
< fizetve >true</ fizetve >
</ fejlec >
< elado ></ elado >
< vevo >
< nev >Futóklub Egyesület</ nev >
< irsz >1134</ irsz >
< telepules >Budapest</ telepules >
< cim >Váci út 10.</ cim >
< email >penztar@example.hu</ email >
< sendEmail >true</ sendEmail >
</ vevo >
< tetelek >
< tetel >
< megnevezes >Nevezési díj, félmaraton</ megnevezes >
< mennyiseg >1</ mennyiseg >
< mennyisegiEgyseg >db</ mennyisegiEgyseg >
< nettoEgysegar >10228</ nettoEgysegar >
< afakulcs >27</ afakulcs >
< nettoErtek >10228</ nettoErtek >
< afaErtek >2762</ afaErtek >
< bruttoErtek >12990</ bruttoErtek >
</ tetel >
</ tetelek >
</ xmlszamla >
1. Számla létrehozás · válasz, HTTP 200 content-type: application/xml; charset=UTF-8
szlahu_szamlaszam: D-KASSZA-2026-1
szlahu_nettovegosszeg: 10228
szlahu_bruttovegosszeg: 12990
szlahu_kintlevoseg: 12990
set-cookie: JSESSIONID=2D6576875AD8512E7C06BB78; Path=/szamla; Secure; HttpOnly
<? xml version = "1.0" encoding = "UTF-8" ?>
< xmlszamlavalasz xmlns = "http://www.szamlazz.hu/xmlszamlavalasz" >
< sikeres >true</ sikeres >
< szamlaszam >D-KASSZA-2026-1</ szamlaszam >
< szamlanetto >10228</ szamlanetto >
< szamlabrutto >12990</ szamlabrutto >
< kintlevoseg >12990</ kintlevoseg >
< pdf >JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZyAvUGFnZXMgMiAwIFIgPj4KZW5k… (base64 PDF, rövidítve)</ pdf >
</ xmlszamlavalasz >
2. Számla létrehozás · válasz, HTTP 200 content-type: application/xml; charset=UTF-8
szlahu_szamlaszam: KASSZA-2026-1
szlahu_nettovegosszeg: 10228
szlahu_bruttovegosszeg: 12990
szlahu_kintlevoseg: 0
<? xml version = "1.0" encoding = "UTF-8" ?>
< xmlszamlavalasz xmlns = "http://www.szamlazz.hu/xmlszamlavalasz" >
< sikeres >true</ sikeres >
< szamlaszam >KASSZA-2026-1</ szamlaszam >
< szamlanetto >10228</ szamlanetto >
< szamlabrutto >12990</ szamlabrutto >
< kintlevoseg >0</ kintlevoseg >
< pdf >JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZyAvUGFnZXMgMiAwIFIgPj4KZW5k… (base64 PDF, rövidítve)</ pdf >
</ xmlszamlavalasz >
Konzol Díjbekérő: D-KASSZA-2026-1 12990
Számla: KASSZA-2026-1 hátralék: 0
Jelentkezés#
A @/lib/nevezesek a saját adatbázis-réteged: a nevezesMentese() elmenti a jelentkezést és visszaadja Nevezes alakban, a dijbekeroszamMentese() a nevezéshez írja a díjbekérő számát.
app/api/nevezesek/route.ts import { isSzamlazzError } from 'kassza'
import { isValidEmail , isValidHungarianZipCode } from 'kassza/validators'
import { dijbekeroszamMentese , nevezesMentese } from '@/lib/nevezesek'
import { dijbekeroKiallitasa } from '@/lib/nevezes-szamlazas'
const TAVOK = {
felmaraton : { nev : 'félmaraton' , dij : 12_990 } ,
maraton : { nev : 'maraton' , dij : 16_990 } ,
} as const
type Tav = keyof typeof TAVOK
interface NevezesiUrlap {
readonly nev ?: unknown
readonly email ?: unknown
readonly iranyitoszam ?: unknown
readonly varos ?: unknown
readonly cim ?: unknown
readonly tav ?: unknown
}
function szoveg (ertek : unknown ) : string {
return typeof ertek === 'string' ? ertek .trim () : ''
}
function ismertTav (ertek : unknown ) : ertek is Tav {
return typeof ertek === 'string' && Object .hasOwn ( TAVOK , ertek)
}
export async function POST (request : Request ) {
const urlap = ( await request .json ()) as NevezesiUrlap
const nev = szoveg ( urlap .nev)
const email = szoveg ( urlap .email)
const iranyitoszam = szoveg ( urlap .iranyitoszam)
const varos = szoveg ( urlap .varos)
const cim = szoveg ( urlap .cim)
if ( ! nev || ! varos || ! cim || ! isValidEmail (email) || ! isValidHungarianZipCode (iranyitoszam)) {
return Response .json ({ hiba : 'Hiányos vagy hibás számlázási adatok.' } , { status : 400 })
}
if ( ! ismertTav ( urlap .tav)) {
return Response .json ({ hiba : 'Ismeretlen táv.' } , { status : 400 })
}
const tav = TAVOK [ urlap .tav]
const nevezes = await nevezesMentese ({
vevo : { name : nev , email , zip : iranyitoszam , city : varos , address : cim } ,
tav : tav .nev ,
nevezesiDij : tav .dij ,
})
try {
const dijbekeroszam = await dijbekeroKiallitasa (nevezes)
await dijbekeroszamMentese ( nevezes .id , dijbekeroszam)
return Response .json ({ id : nevezes .id , dijbekeroszam } , { status : 201 })
} catch (error) {
if ( ! isSzamlazzError (error)) throw error
console .error ( 'A díjbekérő nem készült el' , nevezes .id , error .category , error .code)
return Response .json ({ id : nevezes .id , dijbekeroszam : null } , { status : 201 })
}
}
Ha a díjbekérő nem készül el, a nevezés ettől még mentve van. Ha később újra meghívod a dijbekeroKiallitasa() függvényt, az a rendelésszám alapján megtalálja a mégis elkészült díjbekérőt, így a jelentkező nem kap kettőt.
Befizetés és lemondás#
A két végpontot a szervezők admin felülete hívja. Az adminKeres() a belső token ellenőrzése, a nevezesBetoltese(), a szamlaszamMentese() és a nevezesLemondasa() a saját adatbázis-függvényeid.
lib/admin.ts export function adminKeres (request : Request ) : boolean {
const token = process . env . BELSO_API_TOKEN
return Boolean (token) && request . headers .get ( 'authorization' ) === `Bearer ${ token } `
}
app/api/nevezesek/[id]/befizetes/route.ts import { isSzamlazzError } from 'kassza'
import { adminKeres } from '@/lib/admin'
import { szamlaBefizetesUtan } from '@/lib/nevezes-szamlazas'
import { nevezesBetoltese , szamlaszamMentese } from '@/lib/nevezesek'
export async function POST (request : Request , { params } : { params : Promise <{ id : string }> }) {
if ( ! adminKeres (request)) return new Response ( 'Nincs jogosultság' , { status : 401 })
const { id } = await params
const nevezes = await nevezesBetoltese (id)
if ( ! nevezes) return Response .json ({ hiba : 'Nincs ilyen nevezés.' } , { status : 404 })
try {
const szamlaszam = await szamlaBefizetesUtan (nevezes)
await szamlaszamMentese ( nevezes .id , szamlaszam)
return Response .json ({ szamlaszam })
} catch (error) {
if ( ! isSzamlazzError (error)) throw error
return Response .json ({ hiba : error .message , tipp : error .hint } , { status : 502 })
}
}
app/api/nevezesek/[id]/route.ts import { adminKeres } from '@/lib/admin'
import { dijbekeroTorlese } from '@/lib/nevezes-szamlazas'
import { nevezesBetoltese , nevezesLemondasa } from '@/lib/nevezesek'
export async function DELETE (request : Request , { params } : { params : Promise <{ id : string }> }) {
if ( ! adminKeres (request)) return new Response ( 'Nincs jogosultság' , { status : 401 })
const { id } = await params
const nevezes = await nevezesBetoltese (id)
if ( ! nevezes) return Response .json ({ hiba : 'Nincs ilyen nevezés.' } , { status : 404 })
const eredmeny = await dijbekeroTorlese (nevezes)
if (eredmeny === 'mar-szamlazva' ) {
return Response .json (
{ hiba : 'A nevezési díj már be van fizetve, a számlát sztornózni kell.' } ,
{ status : 409 } ,
)
}
await nevezesLemondasa ( nevezes .id)
return Response .json ({ eredmeny })
}
Díjbekérő törlése
Díjbekérő törlése rendelésszám alapján, és a második törlés hibája.
Futtatás a sandboxbanKód Elküldött XML Válasz Konzol
dijbekero-torlese.ts import { createKassza , isSzamlazzError } from 'kassza'
const kassza = createKassza ()
const dijbekero = await kassza . invoices . create ({
type : 'proforma' ,
orderNumber : 'NEV-2026-077' ,
buyer : { name : 'Vevő Kft.' , zip : '1111' , city : 'Budapest' , address : 'Fő utca 1.' } ,
items : [{ name : 'Tábori részvételi díj' , grossUnitPrice : 64_000 , vat : 27 }] ,
})
await kassza . invoices . deleteProforma ({ orderNumber : 'NEV-2026-077' })
console . log ( 'Törölt díjbekérő:' , dijbekero . number )
try {
await kassza . invoices . deleteProforma ( dijbekero . number )
} catch ( error ) {
if ( ! isSzamlazzError ( error )) throw error
console . log ({
kod : error . code ,
kategoria : error . category ,
uzenet : error . message ,
tipp : error . hint ,
})
} 1. Számla létrehozás · action-xmlagentxmlfile <? xml version = "1.0" encoding = "UTF-8" ?>
< xmlszamla xmlns = "http://www.szamlazz.hu/xmlszamla" xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi : schemaLocation = "http://www.szamlazz.hu/xmlszamla https://www.szamlazz.hu/szamla/docs/xsds/agent/xmlszamla.xsd" >
< beallitasok >
< szamlaagentkulcs >••••••••</ szamlaagentkulcs >
< eszamla >false</ eszamla >
< szamlaLetoltes >true</ szamlaLetoltes >
< valaszVerzio >2</ valaszVerzio >
</ beallitasok >
< fejlec >
< keltDatum >2026-09-19</ keltDatum >
< teljesitesDatum >2026-09-19</ teljesitesDatum >
< fizetesiHataridoDatum >2026-09-19</ fizetesiHataridoDatum >
< fizmod >Átutalás</ fizmod >
< penznem >HUF</ penznem >
< szamlaNyelve >hu</ szamlaNyelve >
< rendelesSzam >NEV-2026-077</ rendelesSzam >
< dijbekero >true</ dijbekero >
</ fejlec >
< elado ></ elado >
< vevo >
< nev >Vevő Kft.</ nev >
< irsz >1111</ irsz >
< telepules >Budapest</ telepules >
< cim >Fő utca 1.</ cim >
< sendEmail >false</ sendEmail >
</ vevo >
< tetelek >
< tetel >
< megnevezes >Tábori részvételi díj</ megnevezes >
< mennyiseg >1</ mennyiseg >
< mennyisegiEgyseg >db</ mennyisegiEgyseg >
< nettoEgysegar >50394</ nettoEgysegar >
< afakulcs >27</ afakulcs >
< nettoErtek >50394</ nettoErtek >
< afaErtek >13606</ afaErtek >
< bruttoErtek >64000</ bruttoErtek >
</ tetel >
</ tetelek >
</ xmlszamla >
2. Díjbekérő törlése · action-szamla_agent_dijbekero_torlese <? xml version = "1.0" encoding = "UTF-8" ?>
< xmlszamladbkdel xmlns = "http://www.szamlazz.hu/xmlszamladbkdel" xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi : schemaLocation = "http://www.szamlazz.hu/xmlszamladbkdel http://www.szamlazz.hu/docs/xsds/szamladbkdel/xmlszamladbkdel.xsd" >
< beallitasok >
< szamlaagentkulcs >••••••••</ szamlaagentkulcs >
</ beallitasok >
< fejlec >
< rendelesszam >NEV-2026-077</ rendelesszam >
</ fejlec >
</ xmlszamladbkdel >
3. Díjbekérő törlése · action-szamla_agent_dijbekero_torlese <? xml version = "1.0" encoding = "UTF-8" ?>
< xmlszamladbkdel xmlns = "http://www.szamlazz.hu/xmlszamladbkdel" xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi : schemaLocation = "http://www.szamlazz.hu/xmlszamladbkdel http://www.szamlazz.hu/docs/xsds/szamladbkdel/xmlszamladbkdel.xsd" >
< beallitasok >
< szamlaagentkulcs >••••••••</ szamlaagentkulcs >
</ beallitasok >
< fejlec >
< szamlaszam >D-KASSZA-2026-1</ szamlaszam >
</ fejlec >
</ xmlszamladbkdel >
1. Számla létrehozás · válasz, HTTP 200 content-type: application/xml; charset=UTF-8
szlahu_szamlaszam: D-KASSZA-2026-1
szlahu_nettovegosszeg: 50394
szlahu_bruttovegosszeg: 64000
szlahu_kintlevoseg: 64000
set-cookie: JSESSIONID=3099DC6CADF7F63A72018A73; Path=/szamla; Secure; HttpOnly
<? xml version = "1.0" encoding = "UTF-8" ?>
< xmlszamlavalasz xmlns = "http://www.szamlazz.hu/xmlszamlavalasz" >
< sikeres >true</ sikeres >
< szamlaszam >D-KASSZA-2026-1</ szamlaszam >
< szamlanetto >50394</ szamlanetto >
< szamlabrutto >64000</ szamlabrutto >
< kintlevoseg >64000</ kintlevoseg >
< pdf >JVBERi0xLjQKJeLjz9MKMSAwIG9iago8PCAvVHlwZSAvQ2F0YWxvZyAvUGFnZXMgMiAwIFIgPj4KZW5k… (base64 PDF, rövidítve)</ pdf >
</ xmlszamlavalasz >
2. Díjbekérő törlése · válasz, HTTP 200 content-type: application/xml; charset=UTF-8
<? xml version = "1.0" encoding = "UTF-8" ?>
< xmlszamladbkdelvalasz xmlns = "http://www.szamlazz.hu/xmlszamladbkdelvalasz" >
< sikeres >true</ sikeres >
< hibakod ></ hibakod >
< hibauzenet ></ hibauzenet >
</ xmlszamladbkdelvalasz >
3. Díjbekérő törlése · válasz, HTTP 200 content-type: application/xml; charset=UTF-8
szlahu_error: A%20hivatkozott%20d%C3%ADjbek%C3%A9r%C5%91%20nem%20tal%C3%A1lhat%C3%B3.
szlahu_error_code: 335
<? xml version = "1.0" encoding = "UTF-8" ?>
< xmlszamladbkdelvalasz xmlns = "http://www.szamlazz.hu/xmlszamladbkdelvalasz" >
< sikeres >false</ sikeres >
< hibakod >335</ hibakod >
< hibauzenet >A hivatkozott díjbekérő nem található.</ hibauzenet >
</ xmlszamladbkdelvalasz >
Konzol Törölt díjbekérő: D-KASSZA-2026-1
{
kod: 335,
kategoria: 'not_found',
uzenet: '[335] A hivatkozott díjbekérő nem található.',
tipp: 'A díjbekérő nem létezik, vagy már törölték.'
}
Buktatók#
A díjbekérőt ne sztornózd, hanem töröld
A díjbekérő nem számla, és nem kerül a NAV-hoz. Ha díjbekérőt próbálsz sztornózni, a kassza
validation hibát ad, mert a Számlázz.hu ilyenkor csendben visszaadná az eredeti bizonylatot. A
ki nem fizetett díjbekérőt az invoices.deleteProforma() törli.
A díjbekérő után a find() a díjbekérőt adja vissza
A find() a rendelésszámhoz tartozó legutóbbi bizonylatot adja vissza. Befizetés előtt ez a
díjbekérő, ezért a recept mindig a header.type mezőt is nézi. Enélkül a díjbekérőt kiállított
számlának hinnéd, és a számla soha nem készülne el.
Az árat ne az űrlapból vedd
A nevezési díj a szerveren tárolt TAVOK táblából jön, nem a böngészőből. Az űrlapból csak azt
fogadd el, hogy melyik távra nevez a jelentkező.
Közös rendelésszám két bizonylattípuson
A Számlázz.hu leírása szerint a rendelésszám ismétlődés tiltása bizonylattípusonként érvényes,
ezért a díjbekérő és a számla ugyanazt a rendelésszámot kaphatja. Ha a fiókodban be van kapcsolva
a tiltás, élesítés előtt tesztfiókkal is próbáld ki a teljes folyamatot.
Lejárt határidejű díjbekérők
A határidőig ki nem fizetett nevezéseket egy időzített feladat is lemondhatja a
dijbekeroTorlese() hívásával. A 'nem-talalhato' eredmény azt jelenti, hogy a díjbekérőt már
korábban törölték, ez nem hiba.
Kapcsolódó#