Vöötkoodi standard

Standardi sisu

Vöötkoodi kasutatakse maksekorraldusel oleva informatsiooni kodeerimiseks, eesmärgiga automatiseerida maksekorralduste töötlemine. Vöötkoodis esitatud maksekorralduse sisu peab vastama numbrilis-sõnalisele sisule.
Vöötkoodi kasutamine eeldab:

  • maksekorralduse esitamist standardiseeritud plangil;
  • vöötkoodi vastavust käesolevale standardile;
  • muude vöötkoodide puudumist maksekorralduse plangil;
  • muu informatsiooni puudumist vöötkoodi alal.

Vöötkoodi tüüp

Vöötkoodi tüüp on AIM (Automatic Identification Manufacturers) Europe, sümbolimääratlus Code 128, Uniform Symbology Specification, aprill 1989.
Maksekorraldusel kasutatav vöötkood rahuldab kood 128 nõudeid järgmiselt:

  • kooditüüp on kood 128, märgirühm C;
  • vöötkoodis edastatakse vaid numbrilist informatsiooni;
  • vöötkoodi märkide arv on alati sama;
  • vöötkoodi pikkus esimese joone vasakust servast kuni viimase joone parema servani on vahemikus 70 ... 105 mm ja vöötkoodi kõrgus on 10 mm.
  • vöötkood kantakse maksekorraldusele selleks ettenähtud alale.
  • vöötkoodi alumine vasak nurk asub plangi vasakust servast 45 mm ja alumisest servast 5 mm kaugusel (või määratud R20 ja V10(14) järgi);
  • vöötkoodi optilised omadused peavad vastama ANSI X3.182-1990 "Bar Code Print Quality Guidelinen'ile".

Vöötkoodi struktuur

Vöötkood moodustatakse vasakult paremale järgmiselt:

Sisu
Pikkus
Formaat
Tühi ala 1


Algusmärk
*)
Versiooni number
11
Saaja konto number
16 N(16)
Makse summa (kroonid) 6N(6) 
(sendid) 2N(2) 
Viitenumber 20N(20)
Maksepäev 6N(6) 
Tagavara (tulevikuks) 200
Kontrolljärk 1 1N(1) 
Kontrolljärk 2*) 
Lõpumärk *) 
Tühi ala 2   

Väljade sisu on järgmine:

Sisu
Seletus
Tühi ala 1
Vasakpoolse tühja ala pikkus on vähemalt 20 mm. Sellel alal ei või olla ühtegi märki.
Algusmärk
Kood 128 märk START CODE C
Versiooni number
1
Saaja konto number
Kontonumber ei tohi kunagi olla null.
Makse summa (kroonides)Täidetakse eesnullidega, väärtus on vahemikus 000000 kuni 999999. Kui summa (sentides) ületab 99999999, võib maksekorralduse koostaja otsustada, kas täidab summa välja nullidega (makse käsitlemisel võetakse summa sõnalis-numbrilisest esitusest) või loobub vöötkoodist. Kui maksja saab makstava summa ise valida, täidetakse kogu summa väli nullidega.
(sentidest) Makse sendid, vahemikus 00 ... 99
Viitenumber Viitenumber täidetakse eesnullidega. Viitenumber peab vöötkoodis alati sisalduma.
Maksepäev Kujul aakkpp. Maksepäev võib olla täidetud nullidega.
Tagavara Tagavara 00 on jäetud tuleviku täienduste tarbeks.
Kontrolljärk 1 Arvutatakse 7-3-1 meetodil, arvestamata algusmärki
Kontrolljärk 2 Arvutatakse Modulo 103 algoritmi kohaselt, arvestades Algusmärki ja Kontrolljärku 1 ning arvestamata lõpumärki.
Lõpumärk Kood 128 lõpumärk STOP
Tühi ala 2 Parempoolne tühi ala, vähemalt 20 mm

Näide:

Makse saaja: AS XYZ
Summa: 125.65
Viitenumber: 121312952
Maksepäev: 15.12.95

Vöötkoodis sisaldub maksekorralduses näidatud informatsioon järgmiselt:

Väli
SisuMärkide arv
Algusmärk
(X)*)
Versiooni number
11
Saaja konto number
0001234567890120
16
Makse summa (sentides)
00012565
8
Viitenumber *
00000000000121312952
20
Maksepäev (aakkpp) 951215
Tagavara 002
Kontrolljärk 1
0
Kontrolljärk 2 (102) *)
Lõppmärk (Y) *)
*) Märgid on osa kood 128 ehitusest   

*Kui numbrilises esitusviisis võib viitenumber olla neljakaupa rühmitatud, siis vöötkoodis esitatakse viitenumber alati ühtsena. Maksimaalsest pikkusest lühema numbri korral paigutatakse sisu paremale ja täidetakse eest nullidega.

Kontrolljärkude arvutamine

Kontrolljärk 1

  • Arvutatakse analoogselt viitenumbri kontrolljärgule 7-3-1 meetodil ja algusmärki arvestamata.

Kontrolljärk 2

  • Arvutatakse Modulo 103 algoritmi kohaselt, arvestades koodi algusmärki ja kontrolljärku 1 ning arvestamata lõpumärki.
  • Kood jagatakse arvupaarideks ja igale paarile antakse kaal.
  • Algusmärk saab kaalu 1. Esimene paar saab kaalu 1, teine 2, kolmas 3 jne. kuni kaaluni 27.
  • Iga arvupaar korrutatakse kaaluga ja tulemused summeeritakse.
  • Saadud summa jagatakse arvuga 103.
  • Kontrolljärk 2 on jagatise jääk.