Project

General

Profile

Wiki » History » Version 8

Simone Girolimetto, 02/18/2019 03:11 PM

1 2 Simone Girolimetto
h2. 2bit Fatturazione Elettronica
2 1 Simone Girolimetto
3 2 Simone Girolimetto
h4. Introduzione
4
5
p{font-weight: 400;}. Progetto .Net C# 2017 per la creazione ed invio presso HUB del file XML con i dati delle fatture B2B.
6
7 3 Simone Girolimetto
h4. Struttura del progetto - Sezione .NET
8 2 Simone Girolimetto
9
p{font-weight: 400;}. Solution: C:\Sorgenti\[DotNet...]\FatturaElettronica\DueFatturaElettronica\DueFatturaElettronica\DueFatturaElettronica.sln
10
11
p{font-weight: 400;}. Progetti:
12
13 3 Simone Girolimetto
* %{font-weight: 400;}*DueFatturaElettronica*: contiene l'interfaccia a COM per utilizzare i metodi di creazione da ambiente VB6 + contiene i riferimenti al pacchetto FatturaElettronica by Nicola Iarocci, che espone un DTO strutturato per caricare i dati della fattura, eseguire una prevalidazione ed esportare in JSON la struttura dati secondo normativa.%
14
* %{font-weight: 400;}*DueCSolutionGatewayFAE*: contiene dei servizi per inviare presso HUB "2C Solution" l'XML con i dati della fattura elettronica. Permette di inviare, recuperare o ottenere lo stato di una o piu fatture.%
15 1 Simone Girolimetto
* %{font-weight: 400;}*Test* : Console di test per provare la solution.%
16
17 3 Simone Girolimetto
Il pacchetto NuGet è il seguente:
18
19 5 Simone Girolimetto
!{height: 126px; width: 683px;}20190218-120348-510.png!
20 3 Simone Girolimetto
21
*Struttura del progetto - Sezione .COM*
22
23
Le DLL prodotte in .NET sono distribuite nella cartella "Lib\NET\DueFatturaElettronica"
24
25 4 Simone Girolimetto
!{height: 378px; width: 282px;}20190218-120546-176.png!
26
27
In ambito vb6 la libreria utilizzata è "DueFatturaElettronica.dll", referenziata da "DueFatturaElettronica.tlb" nei seguenti progetti:
28
29
* Due.vbp (C:\Sorgenti\DueBitSLN_trunk\DueApplication\Sorgenti\Due\)
30
* SchedulerFatturaElettronica.vbp (C:\Sorgenti\DueBitSLN_trunk\DueApplication\Sorgenti\Due_SchedulerFattureElettroniche\)
31
32
E' possibile dichiarare un oggetto di tipo ComInterface, che avrà i seguenti metodi:
33
34
!{height: 166px; width: 345px;}20190218-121146-191.png!
35
36
Sono evidenziati i due piu importanti.
37
38
Esiste un altro progetto vb6 chiamato "Scheduler Fattura Elettronica", che è un activeX-exe ed è referenziato in:
39
40
* Due.vbp (C:\Sorgenti\DueBitSLN_trunk\DueApplication\Sorgenti\Due\)
41
* AvvioAutomaticoEasypos.vbp (C:\Sorgenti\DueBitSLN_trunk\DueEasyPos\Sorgenti\avvioAutomaticoEasyPOS\)
42
43 8 Simone Girolimetto
*Particolare di funzionamento - calcolo degli arrotondamenti*
44
45
p(MsoNormal). La dinamica che ha richiesto una rifattorizzazione "pesante" sulla logica della FE è legato al fatto che allo SDI non interessa minimamente il totale del documento fattura Emesso. Ai clienti SI.
46
47
p(MsoNormal). Quindi alla seconda o terza chiamata di clienti che hanno chiesto motivazione del fatto che il loro cliente gli contestasse il pagamento della fattura perche' di importo diverso da quella cartacea è stato necessario intervenire sull'arrotondamento prezzi.
48
49
p(MsoNormal). La fatturazione elettronica lavora sui prezzi imponibili, su cui calcola quindi l'iva. 2bit ha clienti che lavorano sulle fatture con prezzi ivati nel corpo. Inizialmente si era implementato il campo "arrotondamento fattura", previsto nel totale del documento, non trovando alcuna direttiva ministeriale. Tutto ha funzionato, il portale accettava le fatture.. il validatore della fattura elettronica pure. Purtroppo i clienti che ricevono le fatture emesse, il piu' delle volte NON vedono il campo arrotondamento nei documenti ricevuti. A questo punto, per arrotondare il documento, si è preso spunto da questo articolo:
50
51
p(MsoNormal). https://forum.italia.it/t/risolto-arrotondamenti-imposta-su-e-fattura/6504/21
52
53
Alla versione 13 della libreria, l'algoritmo risulta implementato e funzionante, garantendo uno scostamento di 1 centesimo al massimo tra il calcolo dell'imponibile o dell'iva: se la somma dei due è superiore di 1 centesimo rispetto al totale del documento, viene abbassato l'imponibile di 1 cent. Se è inferiore di 1 cent, viene aumentata l'iva di 1 cent.
54
55
Sopra 1 cent, non viene arrotondato nulla.
56
57 5 Simone Girolimetto
*Aggiornamento dei binari - .NET*
58 1 Simone Girolimetto
59 5 Simone Girolimetto
E' possibile distribuire i binari .NET aggiornati con il setup di aggiornamento del software, oppure sfruttando 2BitInstaller.
60 1 Simone Girolimetto
61 5 Simone Girolimetto
L'applicativo, infatti, al suo avvio da parte di DUE, effettua un check nel server web e recupera uno zip presente in una specifica cartella. 
62
Se la versione indicata nel nome di questo file è maggiore di quella che è presente nel pc, il pacchetto zip viene scaricato, decompresso in LIB\NET\DueFatturaElettronica, sovrascrivendo le vecchie librerie .NET con quelle nuove.
63 1 Simone Girolimetto
64 5 Simone Girolimetto
Ogni zip al suo interno contiene tutto l'occorrente per la gestione delle FE, compreso un file "leggimi.txt" contenente il change-log dei rilasci. 
65 1 Simone Girolimetto
66 5 Simone Girolimetto
h4. Come creare il pacchetto ZIP
67
68
Il pacchetto ZIP deve essere creato a mano, compattando i binari prodotti dalla compilazione in release della solution .Net DueFatturaElettronica.
69
70
Prima di compilare la solution:
71
72
* modificare il file "leggimi.txt" aggiungendo cosa è cambiato
73
* aumentare di 1 la major version del progetto DueFatturaElettronica:
74
75
!{height: 424px; width: 1029px;}20190218-122831-344.png!
76
77
!{height: 572px; width: 821px;}20190218-122152-077.png!
78
79
Il pacchetto zip deve poi essere copiato manualmente nella macchina su web, cartella D:\InetPub\vHosts\ApplicationInstaller.duebit.com\updates\Repository\FE
80
81
dove sono presenti due cartelle, una per versione (18 e 19). Rispettare il nome del file che dovrà essere simile a "FatturaElettronica18_v013.zip", dove con 18 si indica la versione di riferimento (18 o 19), e con "v0xx" il numero di versione della libreria, che dovrà aumentare di 1 alla volta.
82
83
Il server è raggiungibile tramite RDP al
84
85
ip: 46.37.14.120
86
user: administrator
87 6 Simone Girolimetto
pwd:Assistenza2Bit 
88
89
h4. Implementazione nel backoffice DUE
90
91
Nella sezione impostazioni azienda è disponibile una sezione per la configurazione della FE:
92
93 7 Simone Girolimetto
!{height: 375px; width: 612px;}20190218-123144-197.png! 
94 6 Simone Girolimetto
95
*Codice regime fiscale*<notextile></notextile>: è necessario indicare il codice secondo una codifica specifica:
96
97
table{background-color: transparent; border-collapse: collapse; border-spacing: 0px; border-style: none; border-width: 0px; font-family: Tahoma;}.
98
{background-color: #e7ebf7; color: #666666; font-size: 10pt;}. |\2{color: inherit; font-family: inherit; font-size: inherit;}. RF01 |\8{color: inherit; font-family: inherit; font-size: inherit;}. Ordinario |
99
{background-color: #f2f3f4; color: #666666; font-size: 10pt;}. |\2{color: inherit; font-family: inherit; font-size: inherit;}. RF02 |\8{color: inherit; font-family: inherit; font-size: inherit;}. Contribuenti minimi (art.1, c.96-117, L. 244/07) |
100
{background-color: #e7ebf7; color: #666666; font-size: 10pt;}. |\2{color: inherit; font-family: inherit; font-size: inherit;}. RF03 |\8{color: inherit; font-family: inherit; font-size: inherit;}. Nuove iniziative produttive (art.13, L. 388/00)  |
101
{background-color: #f2f3f4; color: #666666; font-size: 10pt;}. |\2{color: inherit; font-family: inherit; font-size: inherit;}. RF04 |\8{color: inherit; font-family: inherit; font-size: inherit;}. Agricoltura e attività connesse e pesca (artt.34 e 34-bis, DPR 633/72) |
102
{background-color: #e7ebf7; color: #666666; font-size: 10pt;}. |\2{color: inherit; font-family: inherit; font-size: inherit;}. RF05 |\8{color: inherit; font-family: inherit; font-size: inherit;}. Vendita sali e tabacchi (art.74, c.1, DPR. 633/72) |
103
{background-color: #f2f3f4; color: #666666; font-size: 10pt;}. |\2{color: inherit; font-family: inherit; font-size: inherit;}. RF06 |\8{color: inherit; font-family: inherit; font-size: inherit;}. Commercio fiammiferi (art.74, c.1, DPR 633/72) |
104
{background-color: #e7ebf7; color: #666666; font-size: 10pt;}. |\2{color: inherit; font-family: inherit; font-size: inherit;}. RF07 |\8{color: inherit; font-family: inherit; font-size: inherit;}. Editoria (art.74, c.1, DPR 633/72) |
105
{background-color: #f2f3f4; color: #666666; font-size: 10pt;}. |\2{color: inherit; font-family: inherit; font-size: inherit;}. RF08 |\8{color: inherit; font-family: inherit; font-size: inherit;}. Gestione servizi telefonia pubblica (art.74, c.1, DPR 633/72) |
106
{background-color: #e7ebf7; color: #666666; font-size: 10pt;}. |\2{color: inherit; font-family: inherit; font-size: inherit;}. RF09 |\8{color: inherit; font-family: inherit; font-size: inherit;}. Rivendita documenti di trasporto pubblico e di sosta (art.74, c.1, DPR 633/72) |
107
{background-color: #f2f3f4; color: #666666; font-size: 10pt;}. |\2{color: inherit; font-family: inherit; font-size: inherit;}. RF10 |\8{color: inherit; font-family: inherit; font-size: inherit;}. Intrattenimenti, giochi e altre attività di cui alla tariffa allegata al DPR 640/72 (art.74, c.6, DPR 633/72) |
108
{background-color: #e7ebf7; color: #666666; font-size: 10pt;}. |\2{color: inherit; font-family: inherit; font-size: inherit;}. RF11 |\8{color: inherit; font-family: inherit; font-size: inherit;}. Agenzie viaggi e turismo (art.74-ter, DPR 633/72)  |
109
{background-color: #f2f3f4; color: #666666; font-size: 10pt;}. |\2{color: inherit; font-family: inherit; font-size: inherit;}. RF12 |\8{color: inherit; font-family: inherit; font-size: inherit;}. Agriturismo (art.5, c.2, L. 413/91) |
110
{background-color: #e7ebf7; color: #666666; font-size: 10pt;}. |\2{color: inherit; font-family: inherit; font-size: inherit;}. RF13 |\8{color: inherit; font-family: inherit; font-size: inherit;}. Vendite a domicilio (art.25-bis, c.6, DPR 600/73) |
111
{background-color: #f2f3f4; color: #666666; font-size: 10pt;}. |\2{color: inherit; font-family: inherit; font-size: inherit;}. RF14 |\8{color: inherit; font-family: inherit; font-size: inherit;}. Rivendita beni usati, oggetti d'arte, d'antiquariato o da collezione (art.36, DL 41/95) |
112
{background-color: #e7ebf7; color: #666666; font-size: 10pt;}. |\2{color: inherit; font-family: inherit; font-size: inherit;}. RF15 |\8{color: inherit; font-family: inherit; font-size: inherit;}. Agenzie di vendite all'asta di oggetti d'arte, antiquariato o da collezione (art.40-bis, DL 41/95) |
113
{background-color: #f2f3f4; color: #666666; font-size: 10pt;}. |\2{color: inherit; font-family: inherit; font-size: inherit;}. RF16 |\8{color: inherit; font-family: inherit; font-size: inherit;}. IVA per cassa P.A. (art.6, c.5, DPR 633/72) |
114
{background-color: #e7ebf7; color: #666666; font-size: 10pt;}. |\2{color: inherit; font-family: inherit; font-size: inherit;}. RF17 |\8{color: inherit; font-family: inherit; font-size: inherit;}. IVA per cassa (art. 32-bis, DL 83/2012) |
115
{background-color: #f2f3f4; color: #666666; font-size: 10pt;}. |\2{color: inherit; font-family: inherit; font-size: inherit;}. RF18 |\8{color: inherit; font-family: inherit; font-size: inherit;}. Altro |
116
{background-color: #e7ebf7; color: #666666; font-size: 10pt;}. |\2{color: inherit; font-family: inherit; font-size: inherit;}. RF19 |\8{color: inherit; font-family: inherit; font-size: inherit;}. Regime forfettario (art.1, c.54-89, L. 190/2014) |
117
118
*Percorso esportazione XML fatture attive:* indica dove verrà generato il file XML se alle fatture verrà utilizzata la funzione "Genera XML"
119
120
*[ ] Controlla esito invio fatture attive da questa opstazione ogni x min:* abilita un monitoraggio dell'esito invio fatture all'HUB convenzionato con 2bit ed aggiorna automaticamente l'esito nella testata della fattura.
121
122
*[ ] Invio automatico fatture attive ad Hub da questa postazione ogni x min*<notextile></notextile>: abilita l'invio automatico ad hub delle fatture almeno stampate, esportate in pdf o inviate via mail dalla postazione corrente
123
124
*[ ] Download delle fatture passive da questa postazione degli ultimi x giorni:* effettua un check su HUB per scaricare un file XSL ed inviare a pc una notifica in presenza di nuove fatture da fornitori. Indicare il percorso in "Percorso download fatture passive".
125 1 Simone Girolimetto
126 7 Simone Girolimetto
*Testo da stampare su fatture cartacee:* Dalla versione 19.515 in poi di DUE è possibile indicare in tutti i formati di stampa (report a4, misuratore fiscale, tm88) un testo e i dati SDI/PEC relativi al cliente per la gestione della fattura elettronica, in termini di notifica di documento copia conforme. 
127
128
In Impostazioni azienda -- > Documenti è possibile determinare per quali sezionali abilitare l'invio ad hub delle fatture. Serve uno username ed una password che identifichi l'accesso al portale HUB 2C Solution. 
129
130
E' inoltre possibile specificare un "cedente prestatore", ovvero un cliente che associo ad un bollettario e che servirà al tool di invio dell'XML per recuperarne i suoi dati (SDI e PEC) inviando le fatture a quei riferimenti. Il codice destinatario è di fatto il codice hub che identifica il cliente nell'HUB 2C.