====== Billing system - PR & contracting services ======
Modul proširuje Balans procedurama za izradu velikog broja računa (billing) prema pravilima registrovanim u ugovorima.
===== Parametri =====
Parametri modula zadaju se JSON objektom u polju **Parametri** definicije modula (''fn_dodatnimoduli'').
==== JSON objekat ====
{
{"procedures":[{}]} -- matrica billing procedura sa različitim postavkama obračuna (minimalno jedan član).
}
==== JSON "procedures" ====
[
{
"procedure_id": -- Numerička oznaka procedure iz enumeratora BE_BillingProcedures, služi za rutiranje procedure kroz Billing sistem.
"procedure_name":"" -- Naziv procedure od značaja za korisnika. Ovo će biti prikazano u izborniku.
"document_header":{} -- JSON objekat sa definicijom zaglavlja računa-obračuna.
"line_item":{} -- JSON objekat sa definicijom linije računa.
"payment_terms":{} -- JSON objekat sa parametrima sa uslovima plaćanja.
}
]
=== BE_BillingProcedures ===
^Enumerator^Vrednost^Opis|
|beBillingProcDefault| 0 ||
|beBillingProcEnpSrb| 12407080 | Obračun po ugovorima za elektronsku naplatu putarine. Od "Puteva Srbije" se dobija fajl koji služi kao izvor za fakturisanje.|
|beBillingProcSimple| 12411120 | Obračun jednostavnim množenjem cene i količine zadate u ugovoru.|
=== JSON "document_header" ===
{
"issuing_date": "+-wd0" -- Pomeraj u radnim danima datuma izdavanja računa.
Može početi sa "+" ili "-" što znači da se dani dodaju ili oduzimaju.
Sledi uvek dvokarakterska oznaka:
"wd" označava radni dan; Npr. "+wd1" znači: "Jedan dan nakon današnjeg dana (sutra) pod uslovom da to nisu subota ili nedelja."
Ako jesu uzeće prvi dan nakon njih, tj. ponedeljak."
"ds" bilo koji dan osim nedelje; Npr. "-ds2" znači: "Dva dana pre današnjeg dana (prekjuče) ali ako to nije bila nedelja."
Ako jeste uzeće se dan koji joj prethodi, tj. subota.
"ad" bilo koji dan; Npr. "+ad2" znači: "Dva dana od sada, pa makar to bila i nedelja."
"tx" poslednji dan poreskog perioda; Npr. "-tx1" znači "Poslednji dan prethodnog poreskog perioda".
Nakon toga sledi broj dana/mesci/perioda na šta se već oznaka odnosila.
"transac_date": "+-wd0" -- Tumačenje je isto kao u prethodnom slučaju.
"currency": "contract" -- Id valute se određuje na osnovu ugovora ("contract") ili ...
"tax_struct": "contract" | "" -- Id obračunske strukture:
"contract" - preuzeti iz ugovora,
ractip - Id obračunske strukture za domaće kupce.
}
=== JSON "line_item" ===
{
"id": -- Balans ''elementi.elid'' id artikla koji služi za iskazivanje obračuna.
"custom_text":"" -- Markup tekst sa aktivnim elementima koji će biti zamenjeni odgovarajućim vrednostima pri izradi linije.
}
=== JSON "payment_terms" ===
{
"cassa":[{}] -- Matrica definicija kasa skonta koje mogu da se dobiju ukoliko se ispune uslovi.
}
== JSON "cassa" ==
{
"id": -- Id kasa-skonta koji će biti ubačen u račun (referenca na ''defCustData.CusID'')
"due_term":["fixed_day"] -- Način obračuna datuma važenja kase:
-- "fixed_day" znači da je zadat dan u mesecu zaključno sa kojim trba izvršiti zadati procenat da bi se kasa ostvarila.
"due_day": -- Dan u mesecu zaključno sa kojim treba izvršiti plaćanje.
"due_perc": -- Procenat plaćanja koji treba da se izvrši za uzimanje kase.
}