Fatturazione Elettronica

Moderator: Enrico Maria Giordano

Re: Fatturazione Elettronica

Postby solving » Fri Dec 07, 2018 10:46 am

salve

per marco , la tua logica non fà una grinza , ma tu non sei un programmatore sogei :D :D

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
solving
 
Posts: 65
Joined: Fri Jun 05, 2009 7:55 am
Location: Sicily ( ct ) - Italy

Re: Fatturazione Elettronica

Postby Silvio.Falconi » Fri Dec 07, 2018 11:17 am

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/docs/xsd/fatture/v1.2"]
cRiga += [xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"]
cRiga += [xsi:schemaLocation="http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/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  Expand view  RUN
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...
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
User avatar
Silvio.Falconi
 
Posts: 7075
Joined: Thu Oct 18, 2012 7:17 pm

Re: Fatturazione Elettronica

Postby Silvio.Falconi » Fri Dec 07, 2018 5:43 pm

ho letto sul forum che qualcuno sta usando questa funzione

hb_StrToUTF8 per i testi sul xml

sapete niente
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
User avatar
Silvio.Falconi
 
Posts: 7075
Joined: Thu Oct 18, 2012 7:17 pm

Re: Fatturazione Elettronica

Postby Silvio.Falconi » Fri Dec 07, 2018 5:52 pm

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
Code: Select all  Expand view  RUN
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;
  }
}


5 i metodi di invio
voi cosa avete usato ?
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
User avatar
Silvio.Falconi
 
Posts: 7075
Joined: Thu Oct 18, 2012 7:17 pm

Re: Fatturazione Elettronica

Postby Silvio.Falconi » Fri Dec 07, 2018 6:18 pm

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 ?
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
User avatar
Silvio.Falconi
 
Posts: 7075
Joined: Thu Oct 18, 2012 7:17 pm

Re: Fatturazione Elettronica

Postby Silvio.Falconi » Tue Dec 11, 2018 9:28 am

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
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
User avatar
Silvio.Falconi
 
Posts: 7075
Joined: Thu Oct 18, 2012 7:17 pm

Re: Fatturazione Elettronica

Postby Silvio.Falconi » Tue Dec 11, 2018 1:16 pm

Io ho iniziato a scrivere la classe TfatturaElettronica se mi volete aiutare siete i benvenuti

Prima beta

Image

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
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
User avatar
Silvio.Falconi
 
Posts: 7075
Joined: Thu Oct 18, 2012 7:17 pm

Re: Fatturazione Elettronica

Postby Silvio.Falconi » Wed Dec 12, 2018 12:05 pm

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 ?
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
User avatar
Silvio.Falconi
 
Posts: 7075
Joined: Thu Oct 18, 2012 7:17 pm

Re: Fatturazione Elettronica

Postby solving » Wed Dec 12, 2018 2:56 pm

solving
 
Posts: 65
Joined: Fri Jun 05, 2009 7:55 am
Location: Sicily ( ct ) - Italy

Re: Fatturazione Elettronica

Postby Patrizio » Fri Jan 18, 2019 4:17 pm

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. :)
Patrizio
 
Posts: 90
Joined: Wed Nov 07, 2007 8:56 am
Location: Italy

Re: Fatturazione Elettronica

Postby Enrico Maria Giordano » Fri Jan 18, 2019 5:35 pm

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.


No, non ce n'è bisogno. Io trasmetto tranquillamente mettendo 0000000 come codice.

EMG
User avatar
Enrico Maria Giordano
 
Posts: 8718
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia

Re: Fatturazione Elettronica

Postby Romeo » Thu Jan 24, 2019 6:08 pm

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
Romeo
 
Posts: 340
Joined: Thu Jan 25, 2007 3:53 pm
Location: Milan (Italy)

Re: Fatturazione Elettronica

Postby Silvio.Falconi » Thu Jan 24, 2019 6:22 pm

Ma perchè non le scarichi nell'area riservata "fatture e corrispettivi" dell'Agenzia delle Entrate ?
https://ivaservizi.agenziaentrate.gov.it/portale/
Since from 1991/1992 ( fw for clipper Rel. 14.4 - Momos)
I use : FiveWin for Harbour November 2023 - January 2024 - Harbour 3.2.0dev (harbour_bcc770_32_20240309) - Bcc7.70 - xMate ver. 1.15.3 - PellesC - mail: silvio[dot]falconi[at]gmail[dot]com
User avatar
Silvio.Falconi
 
Posts: 7075
Joined: Thu Oct 18, 2012 7:17 pm

Re: Fatturazione Elettronica

Postby Romeo » Fri Jan 25, 2019 4:43 pm

Ciao

Io vorrei prelevarle direttamente con FiveWIn/Harbour !

E' possibile secondo voi ?

Grazie
Romeo
 
Posts: 340
Joined: Thu Jan 25, 2007 3:53 pm
Location: Milan (Italy)

Re: Fatturazione Elettronica

Postby Enrico Maria Giordano » Fri Jan 25, 2019 5:42 pm

Piacerebbe saperlo anche a me...

EMG
User avatar
Enrico Maria Giordano
 
Posts: 8718
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia

PreviousNext

Return to All products support

Who is online

Users browsing this forum: No registered users and 4 guests