Viivakoodi IBAN-numeroille eri maiden pankkeissa - Ratkaisu sivuliikkeille

Started by stefistudio, 08.09.17 - klo:19:44

Previous topic - Next topic

stefistudio

Minulla on yritys Virossa ja perustin sivuliikkeen Suomeen. Sivuliikkeella on pankkitili kuitenkin Virossa ja kun laitoin ohjelmaan sen IBAN numeron, niin viivakoodi hävisi laskusta. Syy oli hyvin yksinkertainen, eri maissa ovat pankkien IBAN-numerot eripituiset, katso linkki https://www.nordea.com/en/our-services/cashmanagement/iban-validator-and-information/iban-countries/

Suomen pankeissa on IBAN-numeron pituus 18 merkkiä eli maatunnus FI+16 merkkiä, Viron pankiessa taas 20 merkkiä eli maatunnus EE+18 merkkiä jne. Jotta viivakoodi ja virtuaalikoodi toimisi, täytyy hieman muokata koodia tiedostossa invoice_printer_base.php eli kirjoittaa 16 sijasta halutun maan IBAN-numeron pituus (-2) miinus kaksi, joka tietoja löytyy edellisestä linkistä.

elseif (strlen($IBAN) != 16) {
                error_log(
                    'IBAN length invalid (should be 16 numbers without leading'
                    . ' country code and spaces), barcode not created'
                );
            }


En tiedä kuinka monta ulkomaista yritystä ja sivukonttoria käyttävät MLInvoice ohjelmaa, mutta itse käytän sitä jo melko ensimmäisistä versioista. Olen erittäin kiitollinen Ere Maijalalle ja kaikille, jotka ovat osallistuneet MLInvoice kehitykseen!

stefistudio

HUOM. TÄRKEITÄ LISÄTIETOJA

Valitettavasti yllä olevia tietoja ei voida käyttää, kun asiakkaat maksavat laskut suomalaisten pankkien kautta!

Virtuaaliviivakoodi perustuu pankkiviivakoodikuvaukseen ja sen mukaan viivakoodi voidaan muodostaa vain FI-alkuisista tileistä.
Lisätietoa http://www.finanssiala.fi/maksujenvalitys/dokumentit/Pankkiviivakoodi-opas.pdf

Se tarkoita sitä, että jos käytät EI SUOMEN IBAN-numeroa, kuten edellisessä viestissä on kuvattu, Suomen pankit eivät tulkitse koodin tietoja oikein, vaikka viivakoodissa on kaikki kunnossa.

Esim. koodi missä on käytetty Virolaista IBAN numeroa (maatunnus EE + 18 merkkiä)
Virtuaaliviivakoodi: 49377007710027229290004260000000000000000000021911171004

Suomen pankit lukee koodin seuraavasti
Tilinumero IBAN-muodossa: FI9377007710027229
Määrä: 290004,26
Eräpäivä: 10.17.11
Viite: 219

Oikea tieto on oltava
Tilinumero IBAN-muodossa: EE93 7700 7710 0272 2929
Määrä: 426,00
Eräpäivä: 04.10.2017
Viite: 21911
__________________________________________

Mutta ratkaisu siihen on kuitenkin käytettävissä, kun käytetään laskuissa Code-128 muotoisen viivakoodin sijaan QR-koodia, mikä on SEPA yhteensopiva.
Lisätietoa http://www.finanssiala.fi/maksujenvalitys/dokumentit/QR_koodin_kaytto_tilisiirtolomakkeella.pdf

Edellä mainitut tiedot ovat peräisin Finansisiala ry: ltä

Ere Maijala

Tuo suomalainen viivakoodistandardi on tosiaan harmillisen rajoittunut. En ollut tietoinen tuosta QRCode-suosituksesta, kiitos linkistä. Tein tästäkin kehitysehdotuksen.

--Ere

stefistudio

Samalla voisi lisätä myös SEPA-yhteensopiva RF-viitenumeron vaihtoehdon. Ehkä aika ei ole vielä täysin kypsä kotimainen viitenumero täysin korvata RF-viitenumerolla. RF-viite on kehitetty Suomessa ja sitä on voitu käyttää rajat ylittävissä laskuissa sekä kotimaan laskuissa 1.12.2010 alkaen. Mutta Verohallinto siirtyi käyttämään RF-viitteitä vasta vuonna 2015. Katso lisää http://www.finanssiala.fi/maksujenvalitys/dokumentit/RF-viitteen_kayttoonotto_Suomessa_1.12.2010.pdf

Tässä kansainvälisen RF-viitteen rakenneohje: http://www.finanssiala.fi/maksujenvalitys/dokumentit/kansainvalisen_viitteen_rakenneohje.pdf