» »

Davčne blagajne

Davčne blagajne

««
5 / 27
»»

Chuck Borris ::

DamijanD je izjavil:

@PrimozHisof: Meni in Chucku Borrisu tudi deluje na 4.0, nisva pa uporabila lastne implementacije opisa, ampak sva kar uporabila Security.Cryptography.dll

S tem je meni delovalo tudi na XPjih (SP3 + POSReady 2009 registry vnos + KB3055973)

@Chucku Borris: Ni mi uspelo, da bi zadeva delovala v 3.5, ampak ni tak velik problem, ker (na srečo) ni bilo težav pri portanju aplikacije v 4.0. Tako, da jaz se s 3.5 ne bom več ukvarjal... Si ti imel kaj več uspeha?

@miran123: Kako importat wsdl je opisal Chuck na prvi ali drugi strani. Jaz s tem echo lahko delam, ni mi pa jasno kako bi podpisoval te objekte, tako da jaz delam ročne webrequeste.


@DamijanD:
- tako je (SP3 + POSReady 2009 registry vnos + KB3055973) + .Net 4.0
- tudi meni ni uspelo, da bi zadeva delovala v 3.5 (s tem bi se sicer rešil samo inštalacije .Net 4.0, ne pa tudi ostalih korakov).

@PrimozHisof:
- me veseli, da vam je uspelo.

@miran123:
- žal mi ni uspelo z importanim wsdljem. Delam z webrequest...
(problem sem imel podpisati xml... V primeru z webrequest se v funkcijo za podpisovanje posreduje celoten xml - s soapenv:Envelope vred, čeprav se potem podpisuje samo element z id="data")

DamijanD ::

Ve kdo odgovor na tole:
Zanima me kakšen je pravilen postopek za spremembo oznake (IDja) poslovnega prostora (BusinessPremiseId) (npr PROD1 v TRG1)
- ali se pošlje na strežnik zaprtje PROD1 in nov prostor TRG1?
- ali se preprosto pošlje na novo prostor PROD1 z novim Idjem TRG1 in boste vi vedeli na podlagi ostalih podatkov da gre za isti prostor?

MH0 ::

Predvsem jim manjka kakšna metoda za vpogled kaj sploh imaš prijavljeno.

51M3K ::

DamijanD je izjavil:

Ve kdo odgovor na tole:
Zanima me kakšen je pravilen postopek za spremembo oznake (IDja) poslovnega prostora (BusinessPremiseId) (npr PROD1 v TRG1)
- ali se pošlje na strežnik zaprtje PROD1 in nov prostor TRG1?
- ali se preprosto pošlje na novo prostor PROD1 z novim Idjem TRG1 in boste vi vedeli na podlagi ostalih podatkov da gre za isti prostor?


Pomoje se na strežnik pošlje zaprtje PROD1 in nov prostor TRG1.

MH0 je izjavil:

Predvsem jim manjka kakšna metoda za vpogled kaj sploh imaš prijavljeno.


Se strinjam.


Glede mojih težav s tem, da digitalni podpis ni ustrezen, je bilo pa tako:
Za potrebe testiranja sem XML podpisal in ga shranil v datoteko. Nato sem poklical funkcijo za pošiljanje na FURS in kot argument podal pot do datoteke. V funkciji za pošiljanje sem XML iz datoteke prebral in ga poslal na FURS. Če je bila davčna številka v XMLju drugačna od potrdila, je sistem javil napako, prav tako je javil napako, če XML ni bil v skladu s shemo, zato mi ni bilo nikakor logično, da bi bil problem kje drugje kot v podpisu in sem sklepal, da je nekaj narobe s samim podpisovanjem in skoraj 38x izgubil živce.
Ko sem spremenil, da podam funkciji za pošiljanje kar XmlDocument in XMLja iz datoteke ne berem ponovno pa voila, dela. Takšna bedarija ti potem vzame 6 ur..
Loading...

DamijanD ::

51M3K: Samo, da si rešil...

perci ::

Nova verzija specifikacij LINK

• Dodana so navodila za izpis QR kode, PDF417 kode, Code 128
• Dodan je naslov spletne strani za preverjanje poslanih podatkov v test okolju
• Sprememba XML in JSON sheme - odpravljena tipkarska napaka v nazivu elementa (fu:InvoiceRequest/fu:Invoice/fu:TaxesPerSeller/fu:ExemptVATTaxableAmount)
• Sprememba enosmerne TLS komunikacije v dvosmerno TLS: preklop na dvosmerno komunikacijo TLS bo izveden 8.10.2015 med 16:00 in 17:00. Po tem času bo na portu 9002 možna vzpostavitev samo dvosmerne TLS komunikacije. Začasno bo od 8.10.2015 17:00 do 23.10.2015 omogočena tudi enosmerna TLS komunikacija in sicer na portu 9001 (https://blagajne-test.fu.sigov.si:9001/....

theanswer3 ::

Kaj je fora da je treba zdej uporabljat dvosmerno TLS?

Zupkoo ::

Jaz imam tudi problem s temi blagajnami.

1. klici so iz JS z ajaxom
2. Certifikate mam naložene vse (5, drugače fursova stran ne sodeluje...)
3. EchoDela BP
4. Ko pošljem invoice / register, vedno dobim napako s100, Sistemska napaka pri obdelavi sporočila, in pa message ID je čudn -> 000000000000

Zdaj pa nevem ampak mislim, da je nekje problem s podpisovanjem. Mi lahko kdo pomaga kako podpišeš (kaj se sploh podpisuje ??) mogoče kaki linki/primerčki z Javascriptam.

Strato5 ::

Mene tudi zanima kaka je razlika (v kodi - PHP) med enosmern pa dvosmerno TLS?

theanswer3 ::

Isto za C#. Jaz gledam njihov sample pa ne vidim nobene razlike.

StratoFlier ::

Kako boste tiskali QR kodo? Zaenkrat nimam pojma kako naj se lotim zadeve.
Je morda kje kakšen C# s primeri?
Je pa tole kar je napisano drugače kot je v pravilniku. Vsaj kar se odprave napak tiče. V pravilniku L v navodilih M. Lahko se pa zgodi, da sploh ne bomo tiskali črtnih kod.

Še tole: kako ZOI iz hex-a zapisa pretvorim v desetiški zapis?

perci ::

Pravilnik je spremenjen. Jutri bo objavljen v Uradnem listu.

theanswer3 ::

Ok a ima kdo še stari BlagajneSample, da bi ga poslal lahko? :P

dextersi ::

Je komu uspelo to narediti online preko PHP jezika ? Se priporočam za hint :)
mama mi kuha vecerjo, večkrat dnevno!!!

51M3K ::

StratoFlier je izjavil:

Kako boste tiskali QR kodo? Zaenkrat nimam pojma kako naj se lotim zadeve.
Je morda kje kakšen C# s primeri?
Je pa tole kar je napisano drugače kot je v pravilniku. Vsaj kar se odprave napak tiče. V pravilniku L v navodilih M. Lahko se pa zgodi, da sploh ne bomo tiskali črtnih kod.

Še tole: kako ZOI iz hex-a zapisa pretvorim v desetiški zapis?


Se še nismo odločili, če bomo tiskali QR kodo. Verjetno bomo podpri vse možnosti in glede na posamezno stranko izbrali takšno, da bo za tiskalnik najbolj primerna.

public string hexVdec(string zoi)
{
	List<int> dec = new List<int> { 0 };

	foreach (char c in zoi)
	{
		int carry = Convert.ToInt32(c.ToString(), 16);

		for (int i = 0; i < dec.Count; ++i)
		{
			int val = dec[i] * 16 + carry;
			dec[i] = val % 10;
			carry = val / 10;
		}

		while (carry > 0)
		{
			dec.Add(carry % 10);
			carry /= 10;
		}
	}

	var chars = dec.Select(d => (char)('0' + d));
	var cArr = chars.Reverse().ToArray();
	return new string(cArr);
}
Loading...

PrimozHisof ::

Razlika za dvosmerno je, glede na razliko v njihovem sourcu, da se doda še enkrat certifikat...kateri? njihov?.........danes po 17h bo nov sistem

    HttpWebRequest request = CreateWebRequest(_sporocilo);


            ServicePointManager.Expect100Continue = true;
            //do 30.6.2018 je omogočena tudi uporaba tls 1.0 in tls 1.2. Priporočamo uporabo tls 1.2, oz. čimprejšnji prehod na tls 1.2
            ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
            ServicePointManager.ServerCertificateValidationCallback += new System.Net.Security.RemoteCertificateValidationCallback(ValidateServerCertificate);

<b>
            X509Certificate2 cert = Certificate.GetCert(_davcna);
            request.ClientCertificates.Add(cert);
</b>
...

Zgodovina sprememb…

theanswer3 ::

PrimozHisof je izjavil:

Razlika za dvosmerno je, glede na razliko v njihovem sourcu, da se doda še enkrat certifikat...kateri? njihov?.........danes po 17h bo nov sistem


HttpWebRequest request = CreateWebRequest(_sporocilo);


ServicePointManager.Expect100Continue = true;
//do 30.6.2018 je omogočena tudi uporaba tls 1.0 in tls 1.2. Priporočamo uporabo tls 1.2, oz. čimprejšnji prehod na tls 1.2
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;
ServicePointManager.ServerCertificateValidationCallback += new System.Net.Security.RemoteCertificateValidationCallback(ValidateServerCertificate);

<b>
X509Certificate2 cert = Certificate.GetCert(_davcna);
request.ClientCertificates.Add(cert);
</b>
...

A ni bilo to že prej? Si dodal test-tls.cer na ta način

PrimozHisof ::

Berljivost kode (QR, PDF417, Code 128) je moč preveriti z uporabo testne FURS aplikacije za preverjanje
kode ali z uporabo FURS aplikacije za preverjanje računov. Aplikaciji morata biti nameščeni na pameten
mobilni telefon s kamero ločljivosti največ 5MP in avtofokusom. Podprte so naslednje platforme: Android
4.1 in višje, Windows Phone 8.1 in višje, IOS 7.1.1 in višje. /


Je kdo našel to aplikacijo??

perci ::

Ne, ker je se ni.

A ze printate?

To ni sw ampak hw problem.

MH0 ::

StratoFlier je izjavil:


Še tole: kako ZOI iz hex-a zapisa pretvorim v desetiški zapis?


System.Numerics.BigInteger.Parse("0" + hexKoda, NumberStyles.HexNumber).ToString();

51M3K ::

Novo je, da se web requestu pripne certifikat uporabnika.

X509Certificate2 cert = Certificate.GetCert(_davcna);
request.ClientCertificates.Add(cert);
Loading...

theanswer3 ::

Če ma hex vodilno ničlo moraš potem v decimalni ročno popat ničle zraven da dobiš 39 znakov

MH0 ::

theanswer3 je izjavil:

Če ma hex vodilno ničlo moraš potem v decimalni ročno popat ničle zraven da dobiš 39 znakov

Najbrž že.
string k = System.Numerics.BigInteger.Parse("0" + rs.ZKI, NumberStyles.HexNumber).ToString().PadLeft(39, '0') + Global.Davcna + dt.ToString("yyMMddHHmmss");
k += Mod10(k);

pix ::

ločljivosti največ 5MP


? Da ne morejo enkrat prebrat za sabo....

theanswer3 ::

Ok, čemu potem sploh služi datoteka test-tls.cer ? Dela z in brez nje tako, da zgleda za samo komunikacijo ni pomembna. Ali pač...

theanswer3 ::

Očitno je pri dvosmernem TLS treba edino spremeniti:
request.ClientCertificates.Add(certifikat, ki smo ga dobili od fursa);

Vprašanje zgoraj še vedno ostaja. Kaj naj s tisto datoteko počnem?

miran123 ::

/title></head><body>The requested URL was rejected. Please consult with your administrator.<br><br>Your support ID is: 2311022752657630949</body></html>


Danes sem po 14 dnevih dobil odgovor od davčne za tole sporočilo.,


Spoštovani,

Zahtevek je bil blokiran že na požarni pregradi. Poskusite ponovno in sporočite povratno informacijo.


Lep pozdrav, MM.

REPUBLIKA SLOVENIJA
MINISTRSTVO ZA FINANCE

Finančna uprava Republike Slovenije
Generalni finančni urad
Urad za informatiko


Saj niso resni.

Postopek sem ponovil in ni spremembe.

Strato5 ::

theanswer3 je izjavil:

Očitno je pri dvosmernem TLS treba edino spremeniti:
request.ClientCertificates.Add(certifikat, ki smo ga dobili od fursa);

Vprašanje zgoraj še vedno ostaja. Kaj naj s tisto datoteko počnem?


to misliš oni *.p12 certifikat? je to potem vse? ... če bodo še malo dodajali "varnostne ukrepe" ne bo nikomur več nič delalo :D in spet bo kot z eRacuni, ko so morali za nekaj časa ukinit vse preverke podpisa in podobno, ker nikomur nič ni delalo :P

Strato5 ::

No meni je uspelo dodati še tisti *.p12 client certificate in zdaj dobim nek binary data nazaj, ki pa ga ne znam dekodirat... se komu kaj sanja kaj moram s tem nardit? Dokler sem dobival nazaj errorje, so se s staro kodo normalno prikazovali... zdaj, ko pa ni več errorja pa nek binary data...

anarho ::

Men na javi/androidu ponovno deluje po tem ko sem pri inicializaciji sslContexta dodal se keyManager inicializiran s private keyStoreom in geslom.

Strato5 ::

anarho je izjavil:

Men na javi/androidu ponovno deluje po tem ko sem pri inicializaciji sslContexta dodal se keyManager inicializiran s private keyStoreom in geslom.


in odgovor so isti XML-i kot so bili prej? Si testiral s pošiljanjem pslovnega prostora ali s pošiljanjem računa?

anarho ::

Strato5 je izjavil:


in odgovor so isti XML-i kot so bili prej? Si testiral s pošiljanjem pslovnega prostora ali s pošiljanjem računa?


ja odgovori so isti. testirano za poslovni prostor in posiljanje racuna. s tem da js delam z JSONom ... na XMLu se je baje tudi shema spremenila zaradi neke tiskarske napake.

vuego ::

Meni Delphi/Pascal tudi že deluje po novih zahtevah.

Če uporabljaš testne sheme iz osnovne verzije, bo še vedno isto - requesti in odgovori.
Tipkarska napaka je nastala v elementu, ki ga ni v testnih shemah.

Strato5 ::

Ima kdo podobno težavo kot jaz in dela z XML datotekami?

Chuck Borris ::

Strato5 je izjavil:

Ima kdo podobno težavo kot jaz in dela z XML datotekami?


Jaz lahko potrdim, kar je napisal @theanswer3
Že prej sem imel: request.ClientCertificates.Add( "test-tls.cer"); //očitno to sploh ni bilo potrebno prej. Niti v njihovem starem primeru tega ni...
zdaj pa samo sprememba na: request.ClientCertificates.Add( "furs_poslal_na_mail.p12");

Kaj početi z test-tls.cer?
Mogoče bi lahko v metodi ValidateServerCertificate preverjal če je ta certifikat s FURSA?

Chuck Borris ::

Mogoče nekaj v smislu:

        private bool ValidateServerCertificate(object sender, X509Certificate certificate, X509Chain chain, SslPolicyErrors sslPolicyErrors)
        {
            try
            {
                X509Certificate2 lokalni_test_tls_cert = new X509Certificate2(path_do_test_tls_crt);

                if (!certificate.Equals(lokalni_test_tls_cert ))
                    return false;
            }
            catch(Exception e)
            {
                    return false;
            }

            return true;
        }

UrosF ::

miran123 je izjavil:

The requested URL was rejected. Please consult with your administrator.<br><br>Your support ID is: 2311022752657630949


Danes sem po 14 dnevih dobil odgovor od davčne za tole sporočilo.,


Spoštovani,

Zahtevek je bil blokiran že na požarni pregradi. Poskusite ponovno in sporočite povratno informacijo.


Lep pozdrav, MM.

REPUBLIKA SLOVENIJA
MINISTRSTVO ZA FINANCE

Finančna uprava Republike Slovenije
Generalni finančni urad
Urad za informatiko


Saj niso resni.

Postopek sem ponovil in ni spremembe.


Odkar requestu pripenjam uporabniški certifikat (private key in certifikat) tudi jaz od strežnika dobivam zgoraj omenjeno napako. Pred uvedbo dvosmerne komunikacije oz. če sedaj pošiljam na port 9001 komunikacija deluje brez problemov. Uporabljam Delphi IdHTTP in IdSSLIOHandlerSocketOpenSSL.
Kakšna ideja kaj bi lahko bil vzrok za napako ?

zipposi ::

Potrjujem, kar je napisal Chuck Borris

Imam tudi jaz eno vprašanje: Števec InvoiceNumber (v XML datoteki) je realna številka dokumenta ali je števec, ki se povečuje s pošiljanjem na FURS?

Ojci ::

UrosF je izjavil:

miran123 je izjavil:

The requested URL was rejected. Please consult with your administrator.<br><br>Your support ID is: 2311022752657630949


Danes sem po 14 dnevih dobil odgovor od davčne za tole sporočilo.,


Spoštovani,

Zahtevek je bil blokiran že na požarni pregradi. Poskusite ponovno in sporočite povratno informacijo.


Lep pozdrav, MM.

REPUBLIKA SLOVENIJA
MINISTRSTVO ZA FINANCE

Finančna uprava Republike Slovenije
Generalni finančni urad
Urad za informatiko


Saj niso resni.

Postopek sem ponovil in ni spremembe.


Odkar requestu pripenjam uporabniški certifikat (private key in certifikat) tudi jaz od strežnika dobivam zgoraj omenjeno napako. Pred uvedbo dvosmerne komunikacije oz. če sedaj pošiljam na port 9001 komunikacija deluje brez problemov. Uporabljam Delphi IdHTTP in IdSSLIOHandlerSocketOpenSSL.
Kakšna ideja kaj bi lahko bil vzrok za napako ?


Uporabljam iste komponente in imam identično težavo. Rešitve še tudi nisem našel.

Chuck Borris ::

zipposi je izjavil:

Potrjujem, kar je napisal Chuck Borris

Imam tudi jaz eno vprašanje: Števec InvoiceNumber (v XML datoteki) je realna številka dokumenta ali je števec, ki se povečuje s pošiljanjem na FURS?


Realna številka.

Jaz pa vprašanje v vezi s certifikati:
Ok... sedaj imamo javni ključ test-tls.cer za preverjanje, če je povezava res z FURS in imamo javni ključ test-sign.cer za preverjanje, če je xml res podpisan s strani FURS.
Vse lepo in prav, ampak mene sedaj zanima, kje so javni ključi za produkcijsko okolje?

grandibal ::

Odkar requestu pripenjam uporabniški certifikat (private key in certifikat) tudi jaz od strežnika dobivam zgoraj omenjeno napako. Pred uvedbo dvosmerne komunikacije oz. če sedaj pošiljam na port 9001 komunikacija deluje brez problemov. Uporabljam Delphi IdHTTP in IdSSLIOHandlerSocketOpenSSL.
Kakšna ideja kaj bi lahko bil vzrok za napako ?

Uporabljam iste komponente in imam identično težavo. Rešitve še tudi nisem našel.

Jaz imam takole nastavljeno z Indy in OpenSSL:
  idhttp1.Request.ContentType := 'application/xml';
  idhttp1.Request.Charset := 'UTF-8';
  idHTTP1.Request.CustomHeaders.AddValue('SOAPAction', '/invoices'); 
  idhttp1.Request.UserAgent := 'Mozilla/5.0'; 
  IdSSLIOHandlerSocketOpenSSL1.SSLOptions.CertFile := 'C:\OpenSSL-Win32\bin\mycert.crt';
  IdSSLIOHandlerSocketOpenSSL1.SSLOptions.KeyFile := 'C:\OpenSSL-Win32\bin\mykey.key';

Zadnje tri vrstice je bilo potrebno danes dodati, da deluje z dvosmerno TLS.
Certifikat je pa razbit na certifikat brez ključa in nekriptiran ključ z OpenSSL preko CMD za potrebe handlerja, recimo vsebina bat datoteke:
cd C:\OpenSSL-Win32\bin
openssl pkcs12 -in mycert.p12 -clcerts -nokeys -out mycert.crt -passin pass:Geslo123#
openssl pkcs12 -in mycert.p12 -nocerts -out mykeyenc.key -passin pass:Geslo123# -passout pass:Geslo123#
openssl rsa -in mykeyenc.key -out mykey.key -passin pass:Geslo123#
pause

Ojci ::

Grandibal svetovno. Hvala. UserAgent mi je manjkal.

UrosF ::

Danes tudi meni deluje, brez da bi karkoli spreminjal (ne javlja več 'The requested URL was rejected'). Očitno so spremenili nekaj na strežniku. Grandibal vseeno hvala.

DamijanD ::

@Chuck:

ČASOVNICA UVAJANJA DAVČNIH BLAGAJN
NOVEMBER 2015
pridobitev brezplačnega namenskega digitalnega potrdila za davčne blagajne
DECEMBER 2015
neobvezna vključitev v sistem davčnega potrjevanja računov
2. JANUAR 2016
obvezna uporaba sistema davčnega potrjevanja računov


Glede na to bodo produkcijski certifikati na voljo decembra enkrat (če...)

Zgodovina sprememb…

  • spremenilo: DamijanD ()

DamijanD ::

StratoFlier je izjavil:

Kako boste tiskali QR kodo? Zaenkrat nimam pojma kako naj se lotim zadeve.
Je morda kje kakšen C# s primeri?
Je pa tole kar je napisano drugače kot je v pravilniku. Vsaj kar se odprave napak tiče. V pravilniku L v navodilih M. Lahko se pa zgodi, da sploh ne bomo tiskali črtnih kod.


Jaz uporabljam ZXing.Net

Me pa zanima kje so sedaj točne in končne specifikacije, kakšne morajo biti kode in kaj mora biti notri?

perci ::

DamijanD je izjavil:

StratoFlier je izjavil:

Kako boste tiskali QR kodo? Zaenkrat nimam pojma kako naj se lotim zadeve.
Je morda kje kakšen C# s primeri?
Je pa tole kar je napisano drugače kot je v pravilniku. Vsaj kar se odprave napak tiče. V pravilniku L v navodilih M. Lahko se pa zgodi, da sploh ne bomo tiskali črtnih kod.


Jaz uporabljam ZXing.Net

Me pa zanima kje so sedaj točne in končne specifikacije, kakšne morajo biti kode in kaj mora biti notri?

Tam kot vedno? LINK

Ice-Heki ::

Ma kdo mogoce vsaj priblizno delujoco PHP kodo?

DamijanD ::

@perci: my bad - sem spregledal... :|

mobster ::

Vsi tisti, ki vam javlja S003 - Digitalni podpis ni ustrezen, preverite če imate naložen Nexus personal in ga odstranite ter ponovno naložite certifikat. Meni je potem delalo. Ne vem pa kaj bom naredil pri strankah, ki uporabljajo Nexus personal...

totalka2 ::

Ali komu deluje preverjanje "poslanega" računa na testni strani od FURS ?

V četrtek je to še delovalo, od sobote 10.10 dalje pa (mi) ne deluje več.
Račun pošljem in dobim ustrezen odgovor (EOR številka).

Odgovor v primeru preverjanja računa je vedno : Račun ne obstaja (če iščem preko EOR ali pa preko ZOI).
««
5 / 27
»»


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Davčne blagajne - PHP

Oddelek: Programiranje
116079 (1125) vsepocenv
»

C# davčno potrjevanje

Oddelek: Programiranje
163970 (3439) windigo
»

E-račun

Oddelek: Programiranje
217085 (3848) ivanhoe5x
»

PHP davčna blagajna

Oddelek: Programiranje
187652 (5676) brble
»

[JAVA] HTTPS client

Oddelek: Programiranje
173058 (1788) peterv6i

Več podobnih tem