Forum » Programiranje » Davčne blagajne
Davčne blagajne
StratoFlier ::
Številčenje računov?
Kako se lotit številčenja računov, če imaš ločene module za račune, dobropise in račune za predplačila?
Vsak modul ločeno generira zaporedno številko dokumenta, ker tudi stranke tako zahtevajo zaradi internih evidenc in fakturnih mest.
Tudi mešanje računov in računov za predplačila (avansnih računov) nima logike.
Dobropisi še nekako gredo skupaj z računi saj jih lahko izdano z negativno vrednostjo.
Po predlogu potrjevanja pa to ni več dopustno, saj mora biti številka zaporedna ne glede na vrsto dokumenta?
Poleg tega skoraj vsa podjetja v številko "porinejo" tudi letnico.
Večja podjetja imajo strogo ločene dokumente.
Na seminarju je bilo govora, da v številko lahko damo dodatne oznake na primer:
Račun: POSPR-EN1-16100001, POSPR-EN1-16100002, ...
Avansni: POSPR-EN1-16200001, POSPR-EN1-16200002, ...
Seveda se to zapiše v interni akt
Številke so zaporedne vendar ne po dokumentu.
Če pa gledam odgovore na vprašanja (vprašanje 197) pa tudi to ni možno.
Kako boste reševali takšne primere?
Kako se lotit številčenja računov, če imaš ločene module za račune, dobropise in račune za predplačila?
Vsak modul ločeno generira zaporedno številko dokumenta, ker tudi stranke tako zahtevajo zaradi internih evidenc in fakturnih mest.
Tudi mešanje računov in računov za predplačila (avansnih računov) nima logike.
Dobropisi še nekako gredo skupaj z računi saj jih lahko izdano z negativno vrednostjo.
Po predlogu potrjevanja pa to ni več dopustno, saj mora biti številka zaporedna ne glede na vrsto dokumenta?
Poleg tega skoraj vsa podjetja v številko "porinejo" tudi letnico.
Večja podjetja imajo strogo ločene dokumente.
Na seminarju je bilo govora, da v številko lahko damo dodatne oznake na primer:
Račun: POSPR-EN1-16100001, POSPR-EN1-16100002, ...
Avansni: POSPR-EN1-16200001, POSPR-EN1-16200002, ...
Seveda se to zapiše v interni akt
Številke so zaporedne vendar ne po dokumentu.
Če pa gledam odgovore na vprašanja (vprašanje 197) pa tudi to ni možno.
Kako boste reševali takšne primere?
anarho ::
ne mesaj internega ostevilcevanja z ostevilcevanjem ki ga zahteva furs. se vedno lahko ohranis logiko ostevilcevanja racunov kot do sedaj ... pri posiljanju na furs pa moras paziti da se drzis njihovih pravil ostevilcevanja. ta ne vplivajo na interna pravila ...
ze kje objavljena aplikacija za preverjanje berljivosti kode?
ze kje objavljena aplikacija za preverjanje berljivosti kode?
Zgodovina sprememb…
- spremenil: anarho ()
DusanU ::
Se bojim, da ne gre samo za upoštevanje številčenja pri pošiljanju na FURS, številke v predpisanem formatu morajo biti tudi izpisane na računu. Boste imeli potem dve številki računa na izpisu računa?
Sam čakam na odgovor ali bodo pustili v istem prostoru hkrati številčenje po blagajni za en tip računa in številčenje po prostoru za druge tipe računov.
Sam čakam na odgovor ali bodo pustili v istem prostoru hkrati številčenje po blagajni za en tip računa in številčenje po prostoru za druge tipe računov.
DusanU ::
1. Številčenje
Varianta a.:
Ali lahko znotraj istega poslovnega prostora uporabimo hkrati zaporedje po blagajni za eno vrsto računov, ter drugačno zaporedje po prostoru za druge vrste računov. Npr.:
Firma1-PC1-1510001, Firma1-PC1-1510002,…. Firma1-PC2-1520001, Firma1-PC2-1520002 (pc1,pc2 sta blagajni vsaka blagajna ima svoj števec)
Firma1-PC1-159001,Firma1-PC2-1590002, Firma1-PC3-1590003… (na istih računalnikih izdamo drugo vrsto računa (Za storitve, Avansni računi, Grosistični računi za te račune je števec po prostoru)
Varianta b:
Ali lahko za isto stavbo prijavimo dva poslovna prostora:
TRGOVINA-PC1-1510001, TRGOVINA-PC1-1510002,…. TRGOVINA-PC2-1520001, Firma1-PC2-1520002 (pc1,pc2 sta blagajni vsaka blagajna ima svoj števec)
PISARNA-PC1-159001,PISARNA-PC2-1590002, PISARNA-PC3-1590003 … (na istih računalnikih izdamo drugo vrsto računa (Za storitve, Avansni računi, Grosistični računi za te račune je števec po prostoru)
Problem je v tem, da se za račune izdane na blagajni zahteva avtonomnost blagajne tudi pri izpadu strežnika in zato potrebujemo za vsako blagajno svoj števec, Ti blagajniški računi (in števci) se tudi fizično v podatkovnih bazah shranjujejo drugače kot ostali računi in so prikazovani v ločenih seznamih. Če za račune, ki se sedaj številčijo znotraj poslovnega prostora uporabimo lokalne števce, potem bodo številke »razmetane«, in bodo luknje v pregledu blagajniških računov kot tudi v pregledu ostalih računov. Seznamov ni možno združiti, ker so kreirani z različnimi programih (so vsebinsko in oblikovno povsem različni) vendar na istem PC po potrebi. Sedaj je možno, da v podjetju izdajo račun na večih računalnikih, Blagajniški prejemek pa le na enem, ki je namenjen sprejemu gotovine
Skratka če za blagajne naredimo številčenje po prostoru ogrozimo avtonomnost, pri večih blagajnah lahko to pomeni tudi problem hkratnih zahtev po števlčenju novega računa,… Če pa za ostale gotovinske račune, ki ne sodijo v POS blagajno vpeljemo lokalno številčenje bomo imeli tako v seznamu blagajniških računov, kot tudi v seznamu ostalih računov luknje v prikazanem zaporedju. Nobena od teh variant ni dobra!
Varianta a.:
Ali lahko znotraj istega poslovnega prostora uporabimo hkrati zaporedje po blagajni za eno vrsto računov, ter drugačno zaporedje po prostoru za druge vrste računov. Npr.:
Firma1-PC1-1510001, Firma1-PC1-1510002,…. Firma1-PC2-1520001, Firma1-PC2-1520002 (pc1,pc2 sta blagajni vsaka blagajna ima svoj števec)
Firma1-PC1-159001,Firma1-PC2-1590002, Firma1-PC3-1590003… (na istih računalnikih izdamo drugo vrsto računa (Za storitve, Avansni računi, Grosistični računi za te račune je števec po prostoru)
Varianta b:
Ali lahko za isto stavbo prijavimo dva poslovna prostora:
TRGOVINA-PC1-1510001, TRGOVINA-PC1-1510002,…. TRGOVINA-PC2-1520001, Firma1-PC2-1520002 (pc1,pc2 sta blagajni vsaka blagajna ima svoj števec)
PISARNA-PC1-159001,PISARNA-PC2-1590002, PISARNA-PC3-1590003 … (na istih računalnikih izdamo drugo vrsto računa (Za storitve, Avansni računi, Grosistični računi za te račune je števec po prostoru)
Problem je v tem, da se za račune izdane na blagajni zahteva avtonomnost blagajne tudi pri izpadu strežnika in zato potrebujemo za vsako blagajno svoj števec, Ti blagajniški računi (in števci) se tudi fizično v podatkovnih bazah shranjujejo drugače kot ostali računi in so prikazovani v ločenih seznamih. Če za račune, ki se sedaj številčijo znotraj poslovnega prostora uporabimo lokalne števce, potem bodo številke »razmetane«, in bodo luknje v pregledu blagajniških računov kot tudi v pregledu ostalih računov. Seznamov ni možno združiti, ker so kreirani z različnimi programih (so vsebinsko in oblikovno povsem različni) vendar na istem PC po potrebi. Sedaj je možno, da v podjetju izdajo račun na večih računalnikih, Blagajniški prejemek pa le na enem, ki je namenjen sprejemu gotovine
Skratka če za blagajne naredimo številčenje po prostoru ogrozimo avtonomnost, pri večih blagajnah lahko to pomeni tudi problem hkratnih zahtev po števlčenju novega računa,… Če pa za ostale gotovinske račune, ki ne sodijo v POS blagajno vpeljemo lokalno številčenje bomo imeli tako v seznamu blagajniških računov, kot tudi v seznamu ostalih računov luknje v prikazanem zaporedju. Nobena od teh variant ni dobra!
StratoFlier ::
Kot je @anarho napisal in po današnjem razgovoru s FURS-om jaz razumem, da lahko tudi takole:
Imamo lahko dve ločeni številčenji istih dokumentov:
1. interno številčenje
2. številčenje za potrebe davčnega potrjevanja računov
1. Interno številčenje: lahko ostane tako kot je sedaj z vsemi predponami, dodatki, letnice, vezaji, pomišljaji, ... ločeno številčimo račune, ločeno dobropise, ločemo račune za predplačila, itd
2. Številčenje ne glede na vrsto dokumenta: ko se odpre nov dokument (račun ali dobropis ali račun za predplačilo ) se številka "računa" poveča za 1 ter opremi s oznako poslovnega prostora ter oznako elektronske naprave.
Fizično na dokument (račun ali dobropis ali ... ) potem zapišete obe številki.
Kupcu ponudite, kot sklicno številko plačila, eno ali drugo kar vam bolj odgovarja.
Tudi v knjige izdanih računov potem zapišete obe številki pa v glavno knjigo tudi.
Sicer bo noro: naši računi bodo sestavljeni iz gore hexa in dec številk: ZOI, EOR, številka računa, številka davčnega potrjevanja računov, ... + QR ali PDF417 ali ...
Se ne bomo smešili pred tujino?
Kaj mislite o tem?
Imamo lahko dve ločeni številčenji istih dokumentov:
1. interno številčenje
2. številčenje za potrebe davčnega potrjevanja računov
1. Interno številčenje: lahko ostane tako kot je sedaj z vsemi predponami, dodatki, letnice, vezaji, pomišljaji, ... ločeno številčimo račune, ločeno dobropise, ločemo račune za predplačila, itd
2. Številčenje ne glede na vrsto dokumenta: ko se odpre nov dokument (račun ali dobropis ali račun za predplačilo ) se številka "računa" poveča za 1 ter opremi s oznako poslovnega prostora ter oznako elektronske naprave.
Fizično na dokument (račun ali dobropis ali ... ) potem zapišete obe številki.
Kupcu ponudite, kot sklicno številko plačila, eno ali drugo kar vam bolj odgovarja.
Tudi v knjige izdanih računov potem zapišete obe številki pa v glavno knjigo tudi.
Sicer bo noro: naši računi bodo sestavljeni iz gore hexa in dec številk: ZOI, EOR, številka računa, številka davčnega potrjevanja računov, ... + QR ali PDF417 ali ...
Se ne bomo smešili pred tujino?
Kaj mislite o tem?
PrimozHisof ::
kam se vnaša v XML znesek računa, če ga izda nezavezanec?
a) v polje OPROSCENIH DOBAV
b) v polje NEOBDAVCLJIVIH DOBAV
c) normalno s stopnjo DDV 0% (tudi to gre skozi)
lp
a) v polje OPROSCENIH DOBAV
b) v polje NEOBDAVCLJIVIH DOBAV
c) normalno s stopnjo DDV 0% (tudi to gre skozi)
lp
felix1 ::
Pozdravljeni.
Program razvijam v razvojnem orodju Delphi
Težavo imam s podpisom XML datotek. Ima kdo kakšno rešitev, namig, kako v razvojnem okolje delphi izvedeš podpisovanje. Sam sem uporabil nekatere komponente, vendar deluje samo algoritem SHA1. Strežnjik FURS-a neprestano vrača odgovor, digitalni podpis ni veljaven.
Hvala in Lp
Program razvijam v razvojnem orodju Delphi
Težavo imam s podpisom XML datotek. Ima kdo kakšno rešitev, namig, kako v razvojnem okolje delphi izvedeš podpisovanje. Sam sem uporabil nekatere komponente, vendar deluje samo algoritem SHA1. Strežnjik FURS-a neprestano vrača odgovor, digitalni podpis ni veljaven.
Hvala in Lp
Zupkoo ::
Mene pa zanima če je imel kdo podobn primer.
Pošiljanje računov/prijava prostora dela brez problema v androidu preko rest/json.
Ko pa kličem echo pa vedno dobim nazaj isti odgovor kot poslano.
Recimo:
- če pošljem "a" dobim nazaj "a".
- če pošljem {"EchoRequest":"furs"} dobim nazaj {"EchoRequest":"furs"}
Po dokumentaciji naj bi nazaj dobil iz poslanega {"EchoRequest":"furs"} -> {"EchoResponse":"furs"}
Čudno se mi zdi ker mi ostalo deluje.
Če pa poizkusim pošiljati echo iz javascripta preko ajax klica pa dobim odgovor kot je napisan v specifikaciji.
Any hints?
Pošiljanje računov/prijava prostora dela brez problema v androidu preko rest/json.
Ko pa kličem echo pa vedno dobim nazaj isti odgovor kot poslano.
Recimo:
- če pošljem "a" dobim nazaj "a".
- če pošljem {"EchoRequest":"furs"} dobim nazaj {"EchoRequest":"furs"}
Po dokumentaciji naj bi nazaj dobil iz poslanega {"EchoRequest":"furs"} -> {"EchoResponse":"furs"}
Čudno se mi zdi ker mi ostalo deluje.
Če pa poizkusim pošiljati echo iz javascripta preko ajax klica pa dobim odgovor kot je napisan v specifikaciji.
Any hints?
Zupkoo ::
Žal ne ker sem preizkusil s funkcijo za pošiljanje računa v kateri sem Samo popravil naslov in poslane podatke..
mobster ::
Še ima kdo takšen problem, da če ima naložen Nexus Personal, da ne more pravilno podpisat računa? To imajo ponavadi naloženo tisti, ki imajo digitalna potrdila na pametni kartici/ključu...
Chuck Borris ::
@mobster: imam Nexus Personal inštaliran in nimam problemov z njim.
Imel sem probleme, ker se mi je po defaultu digitalni podpis naložil v Nexus namesto v Windows Certifikatni sistem.
Ko sem zbrisal digitalni podpis iz Nexusa in ga naložil v Windowsow sistem, je blo vse brez problemov.
Imel sem probleme, ker se mi je po defaultu digitalni podpis naložil v Nexus namesto v Windows Certifikatni sistem.
Ko sem zbrisal digitalni podpis iz Nexusa in ga naložil v Windowsow sistem, je blo vse brez problemov.
Zgodovina sprememb…
- spremenil: Chuck Borris ()
felix1 ::
Ker mi v Delphijo ni uspelo, sem sel program pisat v Javi. Pri prijavi prostora mi sedaj neprestano javlja napako "003 -Digitalni podpis ni ustrezen". Poleg tega pa mi ni čisto jasno kaj je dejansko potrebno podpisati pri prijavi prostora.
Je imel kdo podoben problem. Vnaprej hvala. Spodaj sem spisal kodo.
Je imel kdo podoben problem. Vnaprej hvala. Spodaj sem spisal kodo.
package Podpisovanje; import java.io.*; import java.lang.reflect.*; import java.security.*; import java.security.cert.*; import java.util.*; import javax.xml.transform.TransformerException; import org.apache.xpath.XPathAPI; import org.w3c.dom.*; import org.apache.xml.security.algorithms.MessageDigestAlgorithm; import org.apache.xml.security.c14n.*; import org.apache.xml.security.exceptions.XMLSecurityException; import org.apache.xml.security.signature.*; import org.apache.xml.security.keys.*; import org.apache.xml.security.keys.content.*; import org.apache.xml.security.keys.content.x509.*; import org.apache.xml.security.keys.keyresolver.*; import org.apache.xml.security.keys.storage.*; import org.apache.xml.security.keys.storage.implementations.*; import org.apache.xml.security.utils.*; import org.apache.xml.security.transforms.*; import org.apache.xml.security.Init; import org.apache.xml.serialize.*; import java.io.ByteArrayOutputStream; import java.io.FileInputStream; import java.math.BigInteger; import java.security.KeyStore; import java.security.PrivateKey; import java.security.Signature; import java.security.cert.X509Certificate; import java.util.Enumeration; import sun.security.pkcs.ContentInfo; import sun.security.pkcs.PKCS7; import sun.security.pkcs.SignerInfo; import sun.security.util.DerOutputStream; import sun.security.util.DerValue; import sun.security.x509.AlgorithmId; import sun.security.x509.X500Name; public class SignExample { public static void main(String unused[]) throws Exception { // Initialize the library org.apache.xml.security.Init.init(); // The file from which we will load the request SOAP message String fileName = "e:/Request.xml"; // Store the signed request here String signatureFileName = "e:/SignedRequest.xml"; // Keystore parameters String keystoreType = "PKCS12"; String keystoreFile = "E:/10141XXXX.p12"; String keystorePass = "Geslo123#"; String privateKeyAlias = "TESTNO PODJETJE XXX"; String privateKeyPass = "Geslo123#"; String certificateAlias = "TESTNO PODJETJE XXX"; // Load the keystore KeyStore ks = KeyStore.getInstance(keystoreType); FileInputStream fis = new FileInputStream(keystoreFile); ks.load(fis, keystorePass.toCharArray()); Enumeration<String> aliases = ks.aliases(); String aliaz = "TESTNO PODJETJE XXX"; while(aliases.hasMoreElements()){ System.out.println(aliaz + " podpis veljaven do " + ((X509Certificate) ks.getCertificate(aliaz)).getNotAfter()); System.out.println(aliaz + " serijska številka " + ((X509Certificate) ks.getCertificate(aliaz)).getSerialNumber()); System.out.println(aliaz + " Podatki o certifikatu " + ((X509Certificate) ks.getCertificate(aliaz)).getSubjectDN()); System.out.println(aliaz + " Izdajatelj " + ((X509Certificate) ks.getCertificate(aliaz)).getIssuerDN()); aliaz = aliases.nextElement(); if(ks.isKeyEntry(aliaz)){ break; } } PrivateKey privateKey = (PrivateKey) ks.getKey(aliaz, privateKeyPass.toCharArray()); // Load the SOAP request javax.xml.parsers.DocumentBuilderFactory dbf = javax.xml.parsers.DocumentBuilderFactory.newInstance(); dbf.setNamespaceAware(true); dbf.setAttribute("http://xml.org/sax/features/namespaces", Boolean.TRUE); javax.xml.parsers.DocumentBuilder db = dbf.newDocumentBuilder(); db.setErrorHandler(new org.apache.xml.security.utils.IgnoreAllErrorHandler()); org.w3c.dom.Document doc = db.parse(new java.io.FileInputStream(new File(fileName))); // Look for the SOAP header Element headerElement = null; NodeList nodes = doc.getElementsByTagNameNS("http://schemas.xmlsoap.org/soap/envelope/","#data"); if(nodes.getLength() == 0) { System.out.println("Adding a SOAP Header Element"); headerElement = doc.createElementNS ("http://schemas.xmlsoap.org/soap/envelope/","Body"); nodes = doc.getElementsByTagNameNS ("http://schemas.xmlsoap.org/soap/envelope/","Envelope"); if(nodes != null) { Element envelopeElement = (Element)nodes.item(0); headerElement.setPrefix(envelopeElement.getPrefix()); envelopeElement.appendChild(headerElement); } } else { System.out.println("Found " + nodes.getLength() + " SOAP Header elements."); headerElement = (Element)nodes.item(0); } // Create an XMLSignature instance XMLSignature sig = new XMLSignature(doc,"",XMLSignature.ALGO_ID_SIGNATURE_RSA_SHA256); headerElement.appendChild(sig.getElement()); // Specify the transforms Transforms transforms = new Transforms(doc); transforms.addTransform(Transforms.TRANSFORM_ENVELOPED_SIGNATURE); //transforms.addTransform(Transforms.TRANSFORM_C14N_WITH_COMMENTS); sig.addDocument("", transforms, org.apache.xml.security.algorithms.MessageDigestAlgorithm.ALGO_ID_DIGEST_SHA256); // Add the certificate and public key information from the keystore; // this will be needed by the verifier X509Certificate cert = (X509Certificate)ks.getCertificate (certificateAlias); sig.addKeyInfo(cert); sig.addKeyInfo(cert.getPublicKey()); System.out.println("Starting to sign SOAP Request"); sig.sign(privateKey); System.out.println("Finished signing"); FileOutputStream f = new FileOutputStream(new File(signatureFileName)); XMLUtils.outputDOMc14nWithComments(doc, f); f.close(); System.out.println("Wrote signature to " + signatureFileName); } }
Zgodovina sprememb…
- spremenilo: felix1 ()
DamijanD ::
felix1 si pogledal njihov c# primer? mislim, da boš tam iz kode lahko razbral kaj in kako je potrebno podpisat
MesecB ::
Po moje si pozabil dodti "Content-Type", "text/xml; charset=utf-8"
Imam podobno? vprašanje:
Wamp ali Ubuntu server php 5.5.12, metoda echo enaka napaka:
naredil enka test:
Fatal error: Uncaught exception 'Exception' with message 'CODECURL: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
hvala za pomoč.
zipposi ::
@felix1: Jaz sem naredil hibridno Delphi + C#. Če želiš, mi pošlji mail, pa ti pošljem ZIP celote.
Visual Studio community edition je itak zastonj, tak da ga lahko namestiš.
Visual Studio community edition je itak zastonj, tak da ga lahko namestiš.
PrimozHisof ::
PrimozHisof je izjavil:
kam se vnaša v XML znesek računa, če ga izda NEZAVEZANEC ZA DDV?
a) v polje OPROSCENIH DOBAV
b) v polje NEOBDAVCLJIVIH DOBAV
c) normalno s stopnjo DDV 0% (tudi to gre skozi)
lp
odgovor je a)
elemente, ki se tičejo DDV se izpusti
Kar se tiče sprememb, še ni konec. Popraviti bo treba tudi "virtualne datoteke", popravki bojo objavljeni v novembru ali decembru.
Poleg tega je med vprašanji in odgovori (št.193) še ena fora CHSEQ (Special_notes) pri naknadnih spremembah istega računa
Zgodovina sprememb…
- spremenil: PrimozHisof ()
grandibal ::
@Felix: Jaz uporabljam LibXml iz https://www.zlatkovic.com/libxml.en.html, če rabiš primer povej, pa ti pošljem.
Kako vam gre kaj preverjanje strežnikovega certifikata, jaz imam malo problemov s tem, pa me zanima, če je to prav predpisano da je treba naredit?
Kako vam gre kaj preverjanje strežnikovega certifikata, jaz imam malo problemov s tem, pa me zanima, če je to prav predpisano da je treba naredit?
grandibal ::
Fatal error: Uncaught exception 'Exception' with message 'CODECURL: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
Zgleda kot problem pri predstavitvi klienta serverju, zato ne vzpostavi povezave, verjetno ni vredu certifikat.
Zgodovina sprememb…
- spremenil: grandibal ()
MesecB ::
hvala, se mi je zdelo.
vprašal strica googla, posodobil cacert.pem ...
ne gre
potem sem pa enostavno izklopil:
CURLOPT_SSL_VERIFYPEER => false
in echo mi deluje.
prijava prostora pa "napačni parametri vnosa" se bom še pomatral...
vprašal strica googla, posodobil cacert.pem ...
ne gre
potem sem pa enostavno izklopil:
CURLOPT_SSL_VERIFYPEER => false
in echo mi deluje.
prijava prostora pa "napačni parametri vnosa" se bom še pomatral...
krho ::
CURLOPT_SSL_VERIFYPEER => false don't
Tvoj php ne najde datoteke s certifikati ponudnikov.
Tvoj php ne najde datoteke s certifikati ponudnikov.
si.Mail odprto-kodni odjemalec elektronske pošte. - http://www.simail.si
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net
Uredite si svojo zbirko filmov, serij in iger - http://xcollect.sf.net
Zupkoo ::
Je kdo delal z JSON, v JAVI in lahko prilepi primer za echo.. še vedno mi ne deluje samo echo pa obračam kodo gor in dol.
MesecB ::
Hvala, to sem že vse živo probaval, pa ne gre
npr:
CURLOPT_CAINFO => ime_ce.pem
CURLOPT_CAPATH => imemenik_ce
appendal certifikate v pem pa ne špila
hvala za nasvet, lp
npr:
CURLOPT_CAINFO => ime_ce.pem
CURLOPT_CAPATH => imemenik_ce
appendal certifikate v pem pa ne špila
hvala za nasvet, lp
Stepox ::
Vprašanje glede izračuna kontrolne številke za QR kodo in ostale kode.
V navodilih piše, da se izračuna kontrolno številko po modulu 10. Kot jaz to razumem gre za Luhn-ov algoritem (Mod10). Ampak po tem algoritmu za primer, ki je v navodilih kontrolna številka ni 1 ampak 7.
Ima še kdo podobne težave? Ali jaz to narobe razumem. Kako ste to rešili?
V navodilih piše, da se izračuna kontrolno številko po modulu 10. Kot jaz to razumem gre za Luhn-ov algoritem (Mod10). Ampak po tem algoritmu za primer, ki je v navodilih kontrolna številka ni 1 ampak 7.
Ima še kdo podobne težave? Ali jaz to narobe razumem. Kako ste to rešili?
MH0 ::
To narobe razume nekdo, ki je za furs programiral ali tisti, ki je doumentacijo skup spacal.
private string Mod10AlaFurs(string s) { int n = 0; for(int i = 0; i < s.Length; i++) n += Convert.ToInt32(s[i]); return (n % 10).ToString(); }
Stepox ::
MHO, hvala.
Ja preveč kompliciram. To pa vsekakor ni noben checkdigit, saj tak algoritem ne prestane niti menjave številk.
Ja preveč kompliciram. To pa vsekakor ni noben checkdigit, saj tak algoritem ne prestane niti menjave številk.
mihelacko ::
Kaj je uspelo komu izračunati ZOI v Compact Framework .NET 3.5?
Najbolj me mantra to da SHA_256 ni podprt v "coredll.dll" in me zanima, če obstaja kakšna druga alternativa.
Najbolj me mantra to da SHA_256 ni podprt v "coredll.dll" in me zanima, če obstaja kakšna druga alternativa.
DamijanD ::
Za ZOI ne vem, ampak meni s full 3.5 ni uspelo nič kar se tiče sha256, tako da sem uporabil 4.0
zipposi ::
Pazi - Compact Framework, ne "navaden". Priporočal bi, sa se dobro pozanimaš glede TLS 1.2, ker mislim, da ni podprt v compact framwork-u. Kot alternativa lahko nekje narediš web servis (v framework-u 4.x), ki sprejme podpisan XML in ga pošlje k parazitom.. ops.. FURS-u.
Ni mi jasno zakaj so toliko so zakomplicirali to stvar, mamu jim.
Ni mi jasno zakaj so toliko so zakomplicirali to stvar, mamu jim.
mihelacko ::
Pazi - Compact Framework, ne "navaden". Priporočal bi, sa se dobro pozanimaš glede TLS 1.2, ker mislim, da ni podprt v compact framwork-u. Kot alternativa lahko nekje narediš web servis (v framework-u 4.x), ki sprejme podpisan XML in ga pošlje k parazitom.. ops.. FURS-u.
Ni mi jasno zakaj so toliko so zakomplicirali to stvar, mamu jim.
ja vem da TLS 1.2 ni podprt. Tak da smo iskali druge alternative.
Zdaj me muči toti ZOI na NETCF, keri more biti obvezno na računu (tudi če nimaš interneta) in ga ne morem izračunati ...
grandibal ::
Še komu od včeraj zvečer javlja "Connection reset by peer"? Prej je delalo brez problema.
Zupkoo ::
Še komu od včeraj zvečer javlja "Connection reset by peer"? Prej je delalo brez problema.
Jap.. Zgleda so spet zašuštral neki.. Saj bi pisov mail ma kaj ko rabjo 14 dni da odpišejo...
Edit: Že dela sam da se jih nakruli :)
Zgodovina sprememb…
- spremenilo: Zupkoo ()
zipposi ::
A mi lahko kdo zaupa, kako validira xML-je glede na XSD? Ker FURS-ov servis samo javlja, ad "Sporočilo ni v skladu z XML shemo", si z njim ne morem pomagat, kar pa poskusim na internetu (google "XML validation XSD") ne deluje..
MesecB ::
XML sem validiral s tem:
http://www.corefiling.com/opensource/sc...
javlja pa napako tudi s primerom od fursa??
cvc-elt.1.a: Cannot find the declaration of element 'soapenv:Envelope'.
http://www.corefiling.com/opensource/sc...
javlja pa napako tudi s primerom od fursa??
cvc-elt.1.a: Cannot find the declaration of element 'soapenv:Envelope'.
prtenjam ::
Pozdravljen,
Kodo za preverjanje XML-a glede na shemo (validacijo) imaš spisano za .NET (https://github.com/MPrtenjak/SLOTax/blo...)
Kodo za preverjanje XML-a glede na shemo (validacijo) imaš spisano za .NET (https://github.com/MPrtenjak/SLOTax/blo...)
Matjaž Prtenjak
https://mnet.si
https://mnet.si
zhigatsey ::
Na naših pos blagajnah .NET odpade, zato se mučim z generiranjem ZOI-ja v C++ in OpenSSL knjižjico. Ne vem kaj delam narobe, da končni hash ni enak tistemu, ki ga sproducira .NET koda?
#include <iostream> #include <string> #include <vector> #include <fstream> #include <memory> #include <openssl/err.h> #include <openssl/pkcs12.h> #include <openssl/md5.h> #pragma comment( lib, "libeay32MTd.lib" ) void load_binary(const std::string filename, std::vector<unsigned char>& bytes) { std::ifstream in(filename.c_str(), std::ios::ate | std::ios::binary); if (in.good()) { size_t size = static_cast<size_t>(in.tellg()); in.seekg(0, std::ios::beg); bytes.clear(); bytes.resize(size); in.read((char*)&bytes[0], size); } else { throw std::runtime_error(std::string("Cannot load binary data from " + filename).c_str()); } in.close(); } std::string openssl_err() { char *cstr = NULL; std::shared_ptr<BIO> err_bio(BIO_new(BIO_s_mem()), BIO_free); if (!err_bio.get()) { return ""; } ERR_print_errors(err_bio.get()); int len = BIO_get_mem_data(err_bio.get(), &cstr); if (len == 0 || cstr == NULL) { return ""; } std::string err(cstr); return err; } int main(int argc, char** argv) { try { OpenSSL_add_all_algorithms(); ERR_load_crypto_strings(); // Digitalno potrdilo kot byte array in geslo std::string password("Geslo123#"); std::vector<unsigned char> p12file; load_binary("10151095-1.p12", p12file); std::vector<unsigned char> zoifile; // ZOI za podpis //10151095 // davčna //2015 - 08-07T13:05 : 24 // Datum in čas izdaje //145 // Invoice number //TRGOVINA1 // Business premise id //BLAG2 // Electronic device id //66.71 // Invoice amount // zoi.txt vsebina = "101510952015-08-07T13:05:24145TRGOVINA1BLAG266.71" load_binary("zoi.txt", zoifile); const unsigned char* zoi = zoifile.data(); long zoilen = zoifile.size(); const unsigned char* data = p12file.data(); unsigned int len = p12file.size(); // Get the PKCS12 format data PKCS12* p12 = d2i_PKCS12(NULL, &data, len); if (p12) { // parse the PKCS12 buffer, into private key, public cert and trusted certs X509* cert = NULL; EVP_PKEY* key = NULL; STACK_OF(X509)* ca = NULL; if (!PKCS12_parse(p12, password.c_str(), &key, &cert, &ca)) throw std::runtime_error(openssl_err().c_str()); PKCS12_free(p12); unsigned char* signature = new unsigned char[RSA_size(key->pkey.rsa)]; unsigned int siglen = 0; if (RSA_sign(NID_sha256, zoi, zoilen, signature, &siglen, key->pkey.rsa) != 1) throw std::runtime_error(openssl_err().c_str()); unsigned char md5digest[16]; MD5(signature, siglen, (unsigned char*)&md5digest); char mdstr[33]; for (int i = 0; i < 16; i++) sprintf(&mdstr[i * 2], "%02x", (unsigned int)md5digest[i]); std::cout << mdstr << std::endl; delete[] signature; if (key) EVP_PKEY_free(key); if (cert) X509_free(cert); } else { throw std::runtime_error(openssl_err().c_str()); } } catch (std::exception& ex) { std::cout << "Napaka: " << ex.what() << std::endl; } return 0; }
zhigatsey ::
zipposi ::
A ima kdo kak kos kode za Delphi 2010, ki (preverjeno) naredi pretvorbo ZOI iz HEX v string (ali int) za izračun QR kode?
ZOI: a7e5f55e1dbb48b799268e1a6d8618a3 -> desetiško: 223175087923687075112234402528973166755
V bistvu sem mislil, da je to enostavno, a ne najdem načina, da to pretvorim.
ZOI: a7e5f55e1dbb48b799268e1a6d8618a3 -> desetiško: 223175087923687075112234402528973166755
V bistvu sem mislil, da je to enostavno, a ne najdem načina, da to pretvorim.
anarho ::
A ima kdo kak kos kode za Delphi 2010, ki (preverjeno) naredi pretvorbo ZOI iz HEX v string (ali int) za izračun QR kode?
ZOI: a7e5f55e1dbb48b799268e1a6d8618a3 -> desetiško: 223175087923687075112234402528973166755
V bistvu sem mislil, da je to enostavno, a ne najdem načina, da to pretvorim.
ne vem za Delphi ampak v Javi je pretvorba trivialna:
BigInteger decimalZOI = new BigInteger(hexZOI, 16);
mogoc ti kej pomaga ...
lp
zipposi ::
Žal ne, a upam, da bo kak Delphijaš skočil na pomoč :)
Imam pa še nekaj vprašanj glede formiranja XML datoteke:
1. Če se račun izda znanemu kupcu (t.i. račun na firmo) - ta podatek se dejansko nikamor ne vpiše v XML, drži? Podatki o kupcu niso redmet XMLja?
2. Če je izdajatelj ni DDV zavezanec (npr. majhen s.p.), se XML kakorkoli razlikuje od XML-ja, ki ga izda podjetje? Vprašam, ker nimam pojma, čemu služijo polja " Pavšalno nadomestilo" in "Vrednost oproščenih dobav".
Imam pa še nekaj vprašanj glede formiranja XML datoteke:
1. Če se račun izda znanemu kupcu (t.i. račun na firmo) - ta podatek se dejansko nikamor ne vpiše v XML, drži? Podatki o kupcu niso redmet XMLja?
2. Če je izdajatelj ni DDV zavezanec (npr. majhen s.p.), se XML kakorkoli razlikuje od XML-ja, ki ga izda podjetje? Vprašam, ker nimam pojma, čemu služijo polja " Pavšalno nadomestilo" in "Vrednost oproščenih dobav".
pix ::
A ima kdo kak kos kode za Delphi 2010, ki (preverjeno) naredi pretvorbo ZOI iz HEX v string (ali int) za izračun QR kode?
ZOI: a7e5f55e1dbb48b799268e1a6d8618a3 -> desetiško: 223175087923687075112234402528973166755
V bistvu sem mislil, da je to enostavno, a ne najdem načina, da to pretvorim.
jaz sem si pomagal z unitom UBigIntsV4
http://www.delphiforfun.org/programs/li...
potem pa samo tako:
i1:=TInteger.create(0); if i1.assignHex(ZOI) then CrtnaKoda:=i1.ConvertToDecimalString(false); i1.free;
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Davčne blagajne - PHPOddelek: Programiranje | 6240 (1286) | vsepocenv |
» | C# davčno potrjevanjeOddelek: Programiranje | 4485 (3954) | windigo |
» | E-računOddelek: Programiranje | 7581 (4344) | ivanhoe5x |
» | PHP davčna blagajnaOddelek: Programiranje | 8186 (6210) | brble |
» | [JAVA] HTTPS clientOddelek: Programiranje | 3197 (1927) | peterv6i |