Fatturazione Elettronica
Moderator: Enrico Maria Giordano
Re: Fatturazione Elettronica
salve
per marco , la tua logica non fà una grinza , ma tu non sei un programmatore sogei
Controllo corretto calcolo del PrezzoTotale
codice errore 00423:
2.2.1.11 <PrezzoTotale> non calcolato secondo le regole definite nelle specifiche tecniche
BloccoDettaglioLinee = “/FatturaElettronica/FatturaElettronicaBody/DatiBeniServizi/DettaglioLinee”
PrezzoTotale = BloccoDettaglioLinee + “PrezzoTotale”
PrezzoUnitario = BloccoDettaglioLinee + “PrezzoUnitario”
Quantità = BloccoDettaglioLinee + “Quantita” (se non presente si considera pari a 1)
ScontoTot = sconto totale
MaggiorazioneTot = maggiorazione totale
Per ogni BloccoDettaglioLinee
IF ( PrezzoTotale != ( PrezzoUnitario ± MaggiorazioneTot o ScontoTot ) * Quantità )
E R R O R E (00423)
END-IF
per marco , la tua logica non fà una grinza , ma tu non sei un programmatore sogei
Controllo corretto calcolo del PrezzoTotale
codice errore 00423:
2.2.1.11 <PrezzoTotale> non calcolato secondo le regole definite nelle specifiche tecniche
BloccoDettaglioLinee = “/FatturaElettronica/FatturaElettronicaBody/DatiBeniServizi/DettaglioLinee”
PrezzoTotale = BloccoDettaglioLinee + “PrezzoTotale”
PrezzoUnitario = BloccoDettaglioLinee + “PrezzoUnitario”
Quantità = BloccoDettaglioLinee + “Quantita” (se non presente si considera pari a 1)
ScontoTot = sconto totale
MaggiorazioneTot = maggiorazione totale
Per ogni BloccoDettaglioLinee
IF ( PrezzoTotale != ( PrezzoUnitario ± MaggiorazioneTot o ScontoTot ) * Quantità )
E R R O R E (00423)
END-IF
- Silvio.Falconi
- Posts: 4956
- Joined: Thu Oct 18, 2012 7:17 pm
Re: Fatturazione Elettronica
ho un problema nella testata
* --------------------------------- testata
cRiga := [<p:FatturaElettronica versione="FPA12" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"]
cRiga += [xmlns:p="http://ivaservizi.agenziaentrate.gov.it ... tture/v1.2"]
cRiga += [xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"]
cRiga += [xsi:schemaLocation="http://ivaservizi.agenziaentrate.gov.it ... tture/v1.2 fatturaordinaria_v1.2.xsd ">]
cRiga += CRLF
fWrite( nHandle, Space( 0 ) + cRiga )
dove sta l'errore ?
mi dice che manca lo spazio ma dove ?
* --------------------------------- testata
cRiga := [<p:FatturaElettronica versione="FPA12" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"]
cRiga += [xmlns:p="http://ivaservizi.agenziaentrate.gov.it ... tture/v1.2"]
cRiga += [xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"]
cRiga += [xsi:schemaLocation="http://ivaservizi.agenziaentrate.gov.it ... tture/v1.2 fatturaordinaria_v1.2.xsd ">]
cRiga += CRLF
fWrite( nHandle, Space( 0 ) + cRiga )
dove sta l'errore ?
mi dice che manca lo spazio ma dove ?
Code: Select all
Manca lo spazio obbligatorio. Errore durante l'elaborazione della risorsa "file:///C:/Work/Errori/fatturazioneElettronica/t...
<p:FatturaElettronica versione="FPA12" xmlns:ds="http://www.w3.org/2000/09/xmldsig#"xmlns:p="http://ivaservizi.agenziaent...
I use : FiveWin for Harbour August 2020 (Revision) - Harbour 3.2.0dev (r1712141320) - Bcc7.30 - xMate ver. 1.15.3 - PellesC
- Silvio.Falconi
- Posts: 4956
- Joined: Thu Oct 18, 2012 7:17 pm
Re: Fatturazione Elettronica
ho letto sul forum che qualcuno sta usando questa funzione
hb_StrToUTF8 per i testi sul xml
sapete niente
hb_StrToUTF8 per i testi sul xml
sapete niente
I use : FiveWin for Harbour August 2020 (Revision) - Harbour 3.2.0dev (r1712141320) - Bcc7.30 - xMate ver. 1.15.3 - PellesC
- Silvio.Falconi
- Posts: 4956
- Joined: Thu Oct 18, 2012 7:17 pm
Re: Fatturazione Elettronica
firma
voi come avete fatto
è autorizzata la firma in java
del tipo
logwrite( "java -jar " + fullcurdir() + "firma\firma.jar " + ::cFicheroOrigen + space(1) + ::cFicheroDestino + space( 1 ) + "Explorer 0" )
waitRun( "java -jar " + fullcurdir() + "firma\firma.jar " + ::cFicheroOrigen + space(1) + ::cFicheroDestino + space( 1 ) + "Explorer 0", 6 )
so ke lo usano in spagna ma forse per noi è diverso anch se ho trovato uno script dell'universita di bo
5 i metodi di invio
voi cosa avete usato ?
voi come avete fatto
è autorizzata la firma in java
del tipo
logwrite( "java -jar " + fullcurdir() + "firma\firma.jar " + ::cFicheroOrigen + space(1) + ::cFicheroDestino + space( 1 ) + "Explorer 0" )
waitRun( "java -jar " + fullcurdir() + "firma\firma.jar " + ::cFicheroOrigen + space(1) + ::cFicheroDestino + space( 1 ) + "Explorer 0", 6 )
so ke lo usano in spagna ma forse per noi è diverso anch se ho trovato uno script dell'universita di bo
Code: Select all
package chat;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import java.security.PrivateKey;
import java.security.PublicKey;
import java.security.Signature;
import java.security.SignatureException;
/**
* Classe di utilità che semplifica l'uso della firma digitale
* all'interno dei programmi Java.
* <p>
* E' sufficiente creare un'istanza di questa classe specificando
* l'algoritmo crittografico desiderato, dopodiché <code>firma(...)</code>
* e <code>firmaOk(...)</code> possono essere invocati in qualsiasi
* successione ed un qualunque numero di volte per applicare l'operazione
* voluta ai dati specificati di volta in volta.
* <p>
* Questa classe è idonea anche agli ambiti <i>multi-threading</i>.
* <p>
*
* @author <em>Marco Cimatti</em>
* @version 1.0
*/
public class Firma {
/** L'algoritmo del <code>java.security.Signature</code> da impiegare. */
private String algoritmo;
/**
* Unico costruttore della classe.
*
* @param algoritmo il tipo di <code>Signature</code> da adottare internamente.
* @exception NoSuchAlgorithmException se l'algoritmo specificato non è supportato.
* @see #algoritmo
*/
public Firma(String algoritmo) throws NoSuchAlgorithmException {
Signature.getInstance(this.algoritmo = algoritmo);
}
/**
* Semplice <i>wrapper</i> che equivale a:
* <p>
* <code>firma(messaggio, 0, messaggio.length, chiave);</code>
*
* @see #firma(byte[], int, int, java.security.PrivateKey)
*/
public byte[] firma(byte[] messaggio, PrivateKey chiave) {
return firma(messaggio, 0, messaggio.length, chiave);
}
/**
* Creazione della firma di un messaggio.
*
* @param messaggio il testo da firmare.
* @param offset l'offset del primo byte utile nel vettore <code>messaggio</code>.
* @param lun la lunghezza del testo da firmare, considerato
* da <code>messaggio[offset]</code> (compreso) in poi.
* @param chiave la chiave privata con cui firmare.
* @exception RuntimeException se internamente viene generata una
* <code>NoSuchAlgorithmException</code>.
* @return la firma ottenuta dal (blocco appartenente a) <code>messaggio</code>;
* <code>null</code> in caso di <code>InvalidKeyException</code>
* oppure <code>SignatureException</code> interne.
* @see #firmaOk(byte[], byte[], java.security.PublicKey)
* @see #firmaOk(byte[], int, int, byte[], java.security.PublicKey)
*/
public byte[] firma(byte[] messaggio, int offset, int lun, PrivateKey chiave) {
try {
Signature sign = Signature.getInstance(algoritmo);
sign.initSign(chiave);
sign.update(messaggio, offset, lun);
return sign.sign();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
throw new RuntimeException("Ora l'algoritmo non è più supportato?");
}
catch (InvalidKeyException e) { e.printStackTrace(); }
catch (SignatureException e) { e.printStackTrace(); }
return null;
}
/**
* Semplice <i>wrapper</i> che equivale a:
* <p>
* <code>firmaOk(messaggio, 0, messaggio.length, firma, chiave);</code>
*
* @see #firmaOk(byte[], int, int, byte[], java.security.PublicKey)
*/
public boolean firmaOk(byte[] messaggio, byte[] firma, PublicKey chiave) {
return firmaOk(messaggio, 0, messaggio.length, firma, chiave);
}
/**
* Test di validità della firma di un messaggio.
*
* @param messaggio il testo da cui è stata ottenuta la firma.
* @param offset l'offset del primo byte utile nel vettore <code>messaggio</code>.
* @param lun la lunghezza del testo firmato, considerato
* da <code>messaggio[offset]</code> (compreso) in poi.
* @param firma la firma associata al (blocco del) messaggio.
* @param chiave la chiave pubblica con cui verifica la firma.
* @exception RuntimeException se internamente viene generata una
* <code>NoSuchAlgorithmException</code>.
* @return <code>true</code> se la firma è valida, <code>false</code>
* altrimenti oppure in caso di <code>InvalidKeyException</code>
* o <code>SignatureException</code> interne.
* @see #firmaOk(byte[], byte[], java.security.PublicKey)
*/
public boolean firmaOk(byte[] messaggio, int offset, int lun, byte[] firma, PublicKey chiave) {
try {
Signature sign = Signature.getInstance(algoritmo);
sign.initVerify(chiave);
sign.update(messaggio, offset, lun);
return sign.verify(firma);
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
throw new RuntimeException("Ora l'algoritmo non è più supportato?");
}
catch (InvalidKeyException e) { e.printStackTrace(); }
catch (SignatureException e) { e.printStackTrace(); }
return false;
}
}
voi cosa avete usato ?
I use : FiveWin for Harbour August 2020 (Revision) - Harbour 3.2.0dev (r1712141320) - Bcc7.30 - xMate ver. 1.15.3 - PellesC
- Silvio.Falconi
- Posts: 4956
- Joined: Thu Oct 18, 2012 7:17 pm
Re: Fatturazione Elettronica
Ho capito che possiamo inviare :
1 Posta Elettronica Certificata (PEC)
2 Invio via web
3 Servizio SDICoop - Trasmissione
4 Servizio SDIFTP
5 Servizio SPCoop - Trasmissione
Per l'invio telematico n. 1
harbour ha gmail.prg sopporta la pec ?
Per l'invio telematico n. 2
ho visto che bisogna andare a questo indirizzo
https://ivaservizi.agenziaentrate.gov.it/portale/
ok
quindi inserire codice fiscale la password e il pin
ma come farlo da fwh in automatico ? e fare la trasmissione dopo l'eventale login ?
1 Posta Elettronica Certificata (PEC)
2 Invio via web
3 Servizio SDICoop - Trasmissione
4 Servizio SDIFTP
5 Servizio SPCoop - Trasmissione
Per l'invio telematico n. 1
harbour ha gmail.prg sopporta la pec ?
Per l'invio telematico n. 2
ho visto che bisogna andare a questo indirizzo
https://ivaservizi.agenziaentrate.gov.it/portale/
ok
quindi inserire codice fiscale la password e il pin
ma come farlo da fwh in automatico ? e fare la trasmissione dopo l'eventale login ?
I use : FiveWin for Harbour August 2020 (Revision) - Harbour 3.2.0dev (r1712141320) - Bcc7.30 - xMate ver. 1.15.3 - PellesC
- Silvio.Falconi
- Posts: 4956
- Joined: Thu Oct 18, 2012 7:17 pm
Re: Fatturazione Elettronica
Ragazzi ma perchè non uniamo le forse e creiamo una classe tutti insieme ?
Davvero non capisco perchè nessuno ha avuto l'idea prima
noi italiani ci facciamo guerra fra di noi e spesso non arriviamo da nessuno parte facendo in questo modo
Davvero non capisco perchè nessuno ha avuto l'idea prima
noi italiani ci facciamo guerra fra di noi e spesso non arriviamo da nessuno parte facendo in questo modo
I use : FiveWin for Harbour August 2020 (Revision) - Harbour 3.2.0dev (r1712141320) - Bcc7.30 - xMate ver. 1.15.3 - PellesC
- Silvio.Falconi
- Posts: 4956
- Joined: Thu Oct 18, 2012 7:17 pm
Re: Fatturazione Elettronica
Io ho iniziato a scrivere la classe TfatturaElettronica se mi volete aiutare siete i benvenuti
Prima beta
L'ho fatta semplice:
oFatturaElettronica := TFatturaElettronica():New( oTree )
with object ( oFatturaElettronica )
:cFileXlm := cPatXml() + cNumero + ".xml"
:cFileTemp := cPatXml() + cNumeroTemp + ".xml" //per la stampa
:lPrivato :=.f. // PA
end with
oFatturaElettronica:Creafattura()
ovviamente sono agli inizi
uso un tree nella dialog per visualizzare in trace delle operazioni tipo debug
e quindi se non dovesse trovare un dato nell acreazione della fattura la classe inserisce l'errore
semplicemente ::oTree:Add( "Non esiste dato xxxx" ) quindi è visualizzabile all'utente finale
Prima beta
L'ho fatta semplice:
oFatturaElettronica := TFatturaElettronica():New( oTree )
with object ( oFatturaElettronica )
:cFileXlm := cPatXml() + cNumero + ".xml"
:cFileTemp := cPatXml() + cNumeroTemp + ".xml" //per la stampa
:lPrivato :=.f. // PA
end with
oFatturaElettronica:Creafattura()
ovviamente sono agli inizi
uso un tree nella dialog per visualizzare in trace delle operazioni tipo debug
e quindi se non dovesse trovare un dato nell acreazione della fattura la classe inserisce l'errore
semplicemente ::oTree:Add( "Non esiste dato xxxx" ) quindi è visualizzabile all'utente finale
I use : FiveWin for Harbour August 2020 (Revision) - Harbour 3.2.0dev (r1712141320) - Bcc7.30 - xMate ver. 1.15.3 - PellesC
- Silvio.Falconi
- Posts: 4956
- Joined: Thu Oct 18, 2012 7:17 pm
Re: Fatturazione Elettronica
Una question
alla sezione 1.6 <SoggettoEmittente>
del file excel Rappresentazione_tabellare_del_tracciato_FatturaPA_versione_1.2.1.xls
basta <SoggettoEmittente>CC</SoggettoEmittente> ? //CC o TZ
ma allora perchè è in viola come le sezioni ?
poi il terzo intermediario è indispensabile ?
quali sezioni sono obbligatorie e quali no ?
alla sezione 1.6 <SoggettoEmittente>
del file excel Rappresentazione_tabellare_del_tracciato_FatturaPA_versione_1.2.1.xls
basta <SoggettoEmittente>CC</SoggettoEmittente> ? //CC o TZ
ma allora perchè è in viola come le sezioni ?
poi il terzo intermediario è indispensabile ?
quali sezioni sono obbligatorie e quali no ?
I use : FiveWin for Harbour August 2020 (Revision) - Harbour 3.2.0dev (r1712141320) - Bcc7.30 - xMate ver. 1.15.3 - PellesC
Re: Fatturazione Elettronica
Come vanno gli sforzi per creare il file della fattura elettronica?
Per esperienza personale, il problema più grosso non è creare il file XML, quello sono una manciata di righe di codice. Il problema è farsi certificare dallo SDI come soggetto trasmittente, con tutte le richieste del caso.
Comunque, se avete bisogno, noi vendiamo un servizio di fatturazione elettronica centralizzato via WebService/FTP.
Per esperienza personale, il problema più grosso non è creare il file XML, quello sono una manciata di righe di codice. Il problema è farsi certificare dallo SDI come soggetto trasmittente, con tutte le richieste del caso.
Comunque, se avete bisogno, noi vendiamo un servizio di fatturazione elettronica centralizzato via WebService/FTP.
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Re: Fatturazione Elettronica
No, non ce n'è bisogno. Io trasmetto tranquillamente mettendo 0000000 come codice.Patrizio wrote:Come vanno gli sforzi per creare il file della fattura elettronica?
Per esperienza personale, il problema più grosso non è creare il file XML, quello sono una manciata di righe di codice. Il problema è farsi certificare dallo SDI come soggetto trasmittente, con tutte le richieste del caso.
EMG
Re: Fatturazione Elettronica
Ciao,
C'e' qualcuno che mi può dare una dritta, su come (se si può) leggere la posta elettronica ?
Mi serve per 'provare' a leggere le mail (XML) delle fatture elettroniche dei fornitori.
Volevo cercare di fare qualcosa sulle fatture ricevute.
Qualche idea ?
Grazie
C'e' qualcuno che mi può dare una dritta, su come (se si può) leggere la posta elettronica ?
Mi serve per 'provare' a leggere le mail (XML) delle fatture elettroniche dei fornitori.
Volevo cercare di fare qualcosa sulle fatture ricevute.
Qualche idea ?
Grazie
- Silvio.Falconi
- Posts: 4956
- Joined: Thu Oct 18, 2012 7:17 pm
Re: Fatturazione Elettronica
Ma perchè non le scarichi nell'area riservata "fatture e corrispettivi" dell'Agenzia delle Entrate ?
https://ivaservizi.agenziaentrate.gov.it/portale/
https://ivaservizi.agenziaentrate.gov.it/portale/
I use : FiveWin for Harbour August 2020 (Revision) - Harbour 3.2.0dev (r1712141320) - Bcc7.30 - xMate ver. 1.15.3 - PellesC
Re: Fatturazione Elettronica
Ciao
Io vorrei prelevarle direttamente con FiveWIn/Harbour !
E' possibile secondo voi ?
Grazie
Io vorrei prelevarle direttamente con FiveWIn/Harbour !
E' possibile secondo voi ?
Grazie
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact: