Italian [B4X] fec [fatture e corrispettivi] [Scontrino senza registratore Telematico]

Star-Dust

Expert
Licensed User
Dopo tante ricerche e prove, ho pronta la prima versione della libreria che permette di emettere scontrini fiscali senza Registratore Fiscale.
Nel presentare questa libreria non posso esimermi di ringraziare gli amici che mi hanno collaborato e che hanno ricevuto già la libreria. Questa è una versione che ho perfezionato per essere più semplice da usare e aggiungendo alcune funzioni che già avevo in cantiere.

E' disponibile nel post#2 un App minimale per l'emissione/visualizzazione di scontrini /corrispettivi e documenti vari (fatture ricevute e emesse). Possibilità di scaricare le fatture ricevute nel cassetto fiscale nel tracciato XML/p7m.


Trovate in allegato una versione DEMO della libreria che funzionerà in tutte le sue parti fino al 31 agosto
Da oggi trovate in allegato una versione DEMO che non permetterà di inviare gli SCONTRINI all'AdE, Non si potranno scaricare le fatture (Emesse/ricevute) ne avere l'elenco. Solo il numero totale del periodo selezionato. Tutte le funzioni non attive verranno segnalate sul LOG.

Dipendenze ed esclusioni:
  • SD_FlexGrid (0.23+)
  • SD_LoadingIndicator
  • Json
  • SQL
  • Per la libreria compilata non usate okHtpUtils (httpUtils per iOs) è già incluso all'interno
  • Per la versione completa dell'App multipiattaforma (B4A,B4J,B4i) Azienda Digitale cliccare qui

NB. Non usa l'accesso con lo SPID. Dal 1° ottobre i privati non potranno usare le credenziali di FiscoOnLine. Le aziende invece potranno continuare a usarle. Allo scadere delle credenziali (3 mesi) potranno richiedere il rinnovo

Aggiornamenti
  • 07 agosto 2021
    • Aggiunta possibilità omaggio
    • Aggiunto funzione annulla scontrino
  • 24 agosto 2021
    • aggiunto nella classe fec il metodo setParametriIncarico
    • aggiunto metodo SetDatiAziendali
  • 26 agosto 2021
    • Aggiunta fuori campo IVA
    • Aggiornamento per la gestione di utenti con più incaricanti
  • 05 settembre 2021 (Da qui solo per la libreria completa)
    • Possibilità di cambiare tipo di pagamento durante la compilazione dello scontrino
    • Possibilità di Settare i Pagamenti suddividendoli nei vari tipi di pagamento
  • 13 settembre 2021
    • Possibilità di suddividere il pagamento fra contanti, elettronico, ticket, Non Riscosso, Prestazione servizi, Cessione Vendita
    • Variabile con messaggio di errore dettagliato per accesso non riuscito (Errore credenziali, incarico, incaricante , credenziali scadute)
  • 22 settembre 2021
    • Nella classe documentoCommerciale sono state aggiunte funzioni per conoscere il Totale , Imponibile e Imposta.
    • Dalla classe fec è possibile ottenere denominazione, indirizzo, P.Iva, CF e altri dati aziendali
  • 19 gennaio 2022
    • Attivazione campo codice Lotteria Scontrini. Funziona solo se si seleziona il pagamento elettronico e la spesa sia superiore a 1€



fec

Author:
Star-Dust
Version: 0.22
  • cedentePrestatore
    • Functions:
      • GetSoggetto As Map
      • Initialize
        Initializes the object. You can add parameters to this method if needed.
      • Load (Path As String, FileName As String)
      • PartitaIva As String
      • PivaCF (Piva As String, CF As String)
      • RagioneSociale (denominazione As String, indirizzo As String, numeroCivico As String, cap As String, comune As String, provincia As String, nazione As String, modificati As Boolean, DefAliquotaIva As String, nuovoUtente As Boolean)
      • Save (Path As String, FileName As String)
      • toJson As String
  • documentoCommerciale
    • Fields:
      • Elementi As ElementiContabili
    • Functions:
      • AddElementoContabile (idElementoContabile As String, descrizione As String, quantita As Double, prezzoLordo As Double, prUnitario As Double, scontoLordo As Double, ScontoUnitario As Double, TipoAliquotaIVA As String, ImportoIva As Double, ImponibileTotale As Double, ImponibileNetto As Double, Totale As Double, Omaggio As Boolean)
        Aggiungere elemento allo scontrino - particolareggiato
      • AddElementoContabile2 (idElementoContabile As String, descrizione As String, quantita As Double, prezzoLordo As Double, TipoAliquotaIVA As String, Omaggio As Boolean)
        Aggiunta elemento nello scontrino - semplificato
      • DatiDocumenti (CodiceLotteria As String, progressivoCollegato As String, data As Long, Regalo As Boolean)
      • GetDocumento As Map
      • GetImponibile As Double
      • GetImposta As Double
      • GetTotale As Double
      • Initialize
        Initializes the object. You can add parameters to this method if needed.
      • Load (Path As String, FileName As String)
      • Save (Path As String, FileName As String)
      • SetMultiAttivita (codiceAttivita As String, descAttivita As String)
        Multi attività
      • SetCodiceLotteria (CodiceLotteria As String)
      • SetPagamenti (PagPC As Double, PagPE As Double, PagTR As Double, PagNR As Double, PagPS As Double, PagCV As Double) As Boolean
        Puoi ripartire ilpagamento totale. Se la ripartizione non è corretta restituirà false
        Contanti, Elettronico, Ticket, Non riscosso, Prestazione Servizi , Cessione vendita
      • toJson As String
    • Properties:
      • TipoPagamento As String [write only]
  • elementiContabili
    • Functions:
      • AddElemento (idElementoContabile As String, quantita As Double, descrizione As String, prLordo As Double, prUnitario As Double, scontoLordo As Double, ScontoUnitario As Double, aliquotaIVA As String, ImportoIva As Double, Imponibile As Double, ImponibileNetto As Double, Totale As Double, Omaggio As String)
      • ElementiToJson As String
      • GetElementi As Map()
      • Initialize
        Initializes the object. You can add parameters to this method if needed.
  • fecs
    • Fields:
      • AliquotaIvaPincipale As String
      • Cap As String
      • Comune As String
      • DatiAziandali As Map
      • DenominazioneSociale As String
      • Documento_FileNamePDF As String
      • Documento_ID As String
      • Documento_Progressivo As String
      • EsitoInvioScontrino As Boolean

        dati
      • Indirizzo As String
      • P_IVA As String
      • Provincia As String
    • Functions:
      • AnnullaDocumento (idtrx As String) As ResumableSub
        Annulla Scontrino/Cprrispettivo
        <code>Wait For (fc.AnnullaDocumento(idtrx)) COMPLETE (Success As Boolean)</code>
      • Connessione (Cf As String, Password As String, Pin As String, Piva As String, Incarico As String) As ResumableSub
      • DownloadDocumentoPDF (IDDoc As String) As ResumableSub
        <code>wait for (DownloadOocumentoPDF(IDdoc)) Complete(Success As Boolean)</code>
      • DownloadFattureEmesseP7M (Path As String, tipoInvio As String, idfattura As String)
      • DownloadFattureRicevuteXML (Path As String, tipoInvio As String, idfattura As String)
      • Initialize
        Initializes the object. You can add parameters to this method if needed.
      • Load (Path As String, FileName As String)
      • readFattureEmesse (DataInizio As Long, DataFine As Long, Path As String) As ResumableSub
        Restituisce la lista delle fatture emesse nel periodo scelto in un file formato JSON "fatture-emesse.json" nella cartella indicata
        <code> Wait For (fec.readFattureEmesse(DataInizioLong,DataFineLong,xui.DefaultFolder)) COMPLETE (Success As Boolean)</code>
        trovi la lista delle fatture in xui.DefaultFolder/fatture-emesse.json
      • readFattureRicevute (DataInizio As Long, DataFine As Long, Download As Boolean, Path As String) As ResumableSub
        Restituisce il fatture ricevute nel periodo scelto in un file formato JSON "fatture-emesse.json" nella cartella indicata
        Se Download è TRue, scarica tutte le fatture in formato XML nella cartella indicata
        <code>Wait for (fec.readFattureRicevute(DataInizioLong,DataFineLong,False,xui.DefaultFolder)) COMPLETE (Success As Boolean)</code>
        trovi la lista delle fatture in xui.DefaultFolder/lista-fatture.json
      • readNumFattureEmesse (DataInizio As Long, DataFine As Long) As ResumableSub
        Restituisce il numero di fatture emesse nel periodo scelto
        <code>Wait For (fec.readNumFattureEmesse(Data_Da,Data_A) COMPLETE (NumeroFatture As Int)</code>
      • readNumFattureRicevute (DataInizio As Long, DataFine As Long) As ResumableSub
        Restituisce il numero di fatture ricevute nel periodo scelto
        <code>Wait For (fec.readNumFattureRicevute(Data_Da,Data_A) COMPLETE (NumeroFatture As Int)</code>
      • RecuperaDocumento (idtrx As String) As ResumableSub
        Scarica Scontrino/Cprrispettivo in formato JSON - Restituisce Map
        <code>Wait For (fc.RecuperaDocumento(idtrx)) COMPLETE (Document As Map)</code>
      • Release
      • Save (Path As String, FileName As String)
      • SendDocument As ResumableSub
        <code>wait for (fec.SendDocument) complete (Success As Boolean)</code>
      • SetDatiAziendali (Denominazione As String, aIndirizzo As String, aCap As String, aComune As String, aProvincia As String, CF As String)
        ***** Da usare se non restituisce i dati aziendali *****
        Inderire Codice Fiscale se diverso da partita iva altrimenti indicare ""
      • toJson As String
      • TrovaChiusure (DaData As Long, Adata As Long) As ResumableSub
        AGGREGATI giornalieri di scontrini/corrispettivi emessi online
        <code>
        Wait For (fec.TrovaChiusure(DaDataLong,ADataLong)) complete (ListDoc As List)
        For Each M As Map In L
        Log(M.Get("id")) ' id documento
        Log(M.Get("dataEmissione")) ' data documento
        Log(M.Get("importoAnnullato")) ' annullato
        Log(M.Get("ammontareComplessivo")) ' Incasso
        Next
        </code>
      • TrovaChiusureRT (DaData As Long, Adata As Long) As ResumableSub
        CHIUSURE cassa giornaliere del Registratore telematici
        <code>
        Wait For (fec.TrovaChiusureRT(DaDataLong,ADataLong)) complete (ListDoc As List)
        For Each M As Map In ListDoc
        Log(M.Get("idInvio")) ' id documento
        Log(M.Get("timeRilevazione")) ' data documento
        Log(M.Get("matricolaDispositivo")) ' numeroProgressivo documento
        Log(M.Get("ammontareTotale")) ' Tipo documento V0 vendita; A = Annullata vendita
        Next
        </code>
      • TrovaDocumenti (DaData As Long, Adata As Long) As ResumableSub
        <code>
        Wait For (fec.TrovaDocumenti(DaDataLong,ADataLong)) complete (ListDoc As List)
        For Each M As Map In ListDoc
        Log(M.Get("idtrx")) ' id documento
        Log(M.Get("data")) ' data documento
        Log(M.Get("numeroProgressivo")) ' numeroProgressivo documento
        Log(M.Get("tipoOperazione")) ' Tipo documento V = vendita; A = Annullata vendita
        Next
        </code>
    • Properties:
      • DocumentoCommerciale As DocumentoCommerciale [write only]
      • ErroreConnessione As String [read only]
      • ParametriIncarico As String [write only]
        ***** Opzionale per particolari specifiche ***********
        Incarico selezionare fra inc_meStesso, inc_incarichi eccc..
        sceltaincarico tipo incDiretto ecc..
        StringaIncarico: "tipoutenza=Me stesso", "incaricato=Incaricato"
 
Last edited:

Star-Dust

Expert
Licensed User
esempi d'uso
Connessione:
Wait For (FC.Connessione(CodiceLotteriaScontrino,Password,Pina,PivaAzienda,"INCARICATO")) complete (Success As Boolean)


Creazione scontrino:
scontrino.Initialize
scontrino.datiDocumenti("","",DateTime.Now,False)
scontrino.AddElementoContabile2("",Descrizione,MQuantita,Prezzo,Iva,False)

fc.DocumentoCommerciale=scontrino
wait for (fc.SendDocument) complete (Success As Boolean)


Fatture Ricevute:
Dim DownloadPDF As Boolean = False
Wait For (fc.readFattureRicevute(FromData,ToData,False,DownloadPDF,PathDownload)) COMPLETE (Success As Boolean)
If Success Then
        Dim Ftr As JSONParser
        Ftr.Initialize(File.ReadString(xui.DefaultFolder, "lista-fatture.json"))
        Dim Fatture As List = Ftr.NextObject.Get("fatture")
End ID


App Azienda Digitale (B4J,B4A,B4I) realizzato con B4XPages
1628167462498.png





Video.gif


Aggiornamenti:
  • 07 agosto 2021
    • Aggiunta la possibilità di cambiare il prezzo nella griglia della composizione scontrino
    • Aggiunta possibilità omaggio
    • Aggiunto bottone annulla scontrino nel pannello visualizzazione scontrini
    • Possibilità di aprire file PDF o salvarli in un directory (Per Android e iOS aprire o condividere)
    • Miglioramenti grafici minori
  • 26 agosto 2021
    • Aggiornamento esempio per il fuori campo iva e selezione di tipi di incarichi
  • 28 agosto 2021
    • Aggiunta la possibilità di cambiare Aliquota Iva nella riga di composizione dello scontrino
  • 31 agosto 2021
    • Possibilità di inserire su scontrino un articolo non presente in anagrafica
  • 04 settembre 2021
    • Articoli suddivisi per reparti
    • Filtro per nome e per Codice a Barre
    • Possibilità di leggere il codice Codice a Barre dall'App e inserire articolo in scontrino (Solo B4A e B4I)
  • 05 settembre 2021 (Da qui solo per l'App completa)
    • Possibilità di scegliere il tipo di pagamento all'atto dell'invio scontrino
 

Attachments

  • AziendaDigitaleDemo.zip
    40.5 KB · Views: 98
Last edited:

Star-Dust

Expert
Licensed User
Come funziona? Usa jRobot (o Accessibilty service per android) e simula la presenza umana e la compèilazione? Niente di tutto questo.

Usa semplicemente le API usate dalla WebApp ufficiale. Per spiegare meglio mostrerò uno stralcio di codice che esegue per la connessione:

B4X:
Public Sub Connessione(Cf As String,Password As String, Pin As String, Piva As String, Incarico As String) As ResumableSub
    'homepage
    client.Download("https://ivaservizi.agenziaentrate.gov.it/portale/web/guest")
    client.GetRequest.SetHeader("User-Agent","Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36")
    client.GetRequest.SetHeader("Connection","keep-alive")
    client.GetRequest.SetHeader("Cookie:","LFR_SESSION_STATE_20159=expired; LFR_SESSION_STATE_10811916=" & unixtime)
    Wait For (client) JobDone(j As HttpJob)
  
    ' Login
    client.PostString("https://ivaservizi.agenziaentrate.gov.it/portale/home?p_p_id=58&p_p_lifecycle=1&p_p_state=normal&p_p_mode=view&p_p_col_id=column-1&p_p_col_pos=3&p_p_col_count=4&_58_struts_action=%2Flogin%2Flogin", MaptoParam(......))
    .....
End Sub
 
Last edited:

Star-Dust

Expert
Licensed User
Questa si che si chiama coerenza e si chiama mantenere la parola data. Non vedo l'ora di poter fare qualcosa quando torrnerò dalle ferie, intanto faccio conoscere il tuo progetto
Apprezzo non poco la tua precisazione: "Non è un semplice Robot ma usa le API usate anche dalla WebApp dell'Agenzia delle entrate. "
Ma di queste famose API c'è un link che riporta alla documentazione delle stesse oppure c'è solo la libreria di Claudi Pizzillo? La domanda è necessaria in quanto siamo su argomenti fiscali assai delicati.
Salve @Gnappos,

  • Non ci sono documentazioni ufficiali sulle API utilizzate. Anche se nell'interpello che la Mysond srl ha fatto all'AdE ha dato il consenso entro certi parametri legali (che sono rispettati nella mia App). Quindi c'è il consenso ma non la documentazione.
  • Adesso rispondo alla seconda parte: Non mi sono basato solo sulla procedura in C# di Pizzillo che ha solo la funzione di inviare scontrini. Nella mia libreria è possibile anche scaricare il PDF dello scontrino, consultare i dati di tutti i documenti emessi (scontrini/corrispettivi e annulli) ma anche scaricare una copia in PDF. Inoltre è possibile vedere le fatture emesse e ricevute e scaricare le fatture ricevute in p7m (Per poter ottenere XML vedi la mia libreria SD_p7m che ho realizzato nel 2019). Ho quindi aggiunto le varie funzioni che ne corso del tempo sono riuscito a sviluppare per conto mio.
  • In ultimo, se non c'è documentazione e non si basa solo su procedure presenti su GitHub come ho fatto? Sono affaracci miei 😜 😜 😜 😜 😜
 
Last edited:

LucaMs

Expert
Licensed User
Longtime User
In ultimo, se non c'è documentazione e non si basa solo su procedure presenti su GitHub come ho fatto? Sono affaracci miei
Non sta indagando "solo" sugli hacker che hanno bloccato i server della Regione Lazio, l'FBI è già anche sulle tue tracce!

😂
 

Star-Dust

Expert
Licensed User
Non sta indagando "solo" sugli hacker che hanno bloccato i server della Regione Lazio, l'FBI è già anche sulle tue tracce!

😂
Ma quale Acaro della polvere... ma ho santi in paradiso...spero di non raggiungerli presto
 

Star-Dust

Expert
Licensed User
Il famosissimo interpello della Mysound è relativo ad un velocizzatore cioè il cosidetto robot. Se il 15 settembre l'Ade aggiunge un quadratino da fleggare alla sua webapp, presumo che questa genererà una stringa JSON diversa, le API (stesse API non documentate usate dall'ADE) saranno cambiate quel giorno no? Se la risposta e sì, tutti i sw che fanno scontrini online diverranno inservibili e per la legge di Murphy accardà.
Se ho detto eresie sono il primo a felicitarmi.
Poi ognuno si faccia i propri affaracci come meglio crede.
È verissimo che sia, con il robot che con le API, se c'è una modifica va aggiornato il sorgente, questo non mi preoccupa.

D'altro canto ogni volta che viene cambiato il tracciato dobbiamo aggiornare i modelli XML.
Qui non c'è documentazione ma per me questo è un ostacolo che ho già superato

Beninteso che ognuno fa la propria valutazione rischi. Ogni volta che usiamo la libreria di qualcun altro dipendiamo da questa persona perché continui a mantenere il suo prodotto. Almeno che acquisiamo i sorgenti se siamo in grado di aggiornarli
 
Last edited:

Star-Dust

Expert
Licensed User
Santissimissime parole quelle in rosso, per quelle in grassetto, l'interessato chiede rispettosamente qualche spiegazione necessaria, proprio per valutare i rischi e non per carpire il segreto di Pulcinella.
Dai miei capelli bianchi in verità vi dico, non fate che gli altri dipendano da voi, diverrete schiavi dei vostri prodotti. Voi non siete compresi nel prodotto e il futuro non è acquistabile, fate tesoro di ciò!
Tingi i capelli di grigio?
 

Star-Dust

Expert
Licensed User
Ho appena fatto realizzare e molto ben pagato, un driver windows che emula una porta seriale, cattura i dati della comunicazione nel protocollo (in realtà un linguaggio) per ECR (Electronic Cash Resgister) Custom /EPSON xon-xoff, da qualsiasi gestionale che colloquia via rs232 in detto linguaggio. L'RT (Registratore Telmatico) viene scollegato e rottamato, il driver provvede a realizzare il documento commerciale online compreso di codice lotteria, provvede a stamparlo su una printer a rotolo, tutto è immediato e lo'sontrino' appare subito sul cassetto fiscale dell'esercente, tant'è che costui ha provveduto a rottamare in modo assai pittoresco l' RT (c'è di mezzzo un autocarro). Nessuna chiusura serale, nessun bollino, nessuna verifica, nessun giornale di fondo, nensun canone di riparazione.
Ora se qualcuno, come sostiene, ha realizzato un app che emula un browser e riempe dietro le quinte la maschera della 'pagina documento commerciale on line' dell Ade concludento la transazione, ovvero , ha realizzato un famoso "velocizzatore" e volesse venderlo faccia pure immediatamente una offerta che si fa le vacanze pagate.
Tornando al discorso della libreria, anche il driver che hai commissionato che trasforma i comandi ECR e realizza lo scontrino online ha lo stesso problema dell'aggiornamento e come me non ha documentazione ufficiale.
Per cui immagino ti sei fatto carico del rischio. In più non hai i sorgenti e sei dipendente da questo tizio che quando l'AdE cambia una virgola devi ricontattarlo.....

Certo sono un pò perplesso, prima dici che se interessato, poi mi scrivi che vuoi comprare solo da aziende terze non direttamente, poi mi ridici che ci siamo frainteso, adesso esprimi un legittimo dubbio sul mantenimento e la dipendenza di una libreria che può essere soggetta a variazioni, ma acquisisci un driver con gli stessi limiti... A volte ho dubbi che non parlo sempre con la stessa persona..... 😂 😂 😂 😂 😂 Ma forse sono io che sono troppo limitato .......Walt Whitman disse "Mi contraddico? Certo che mi contraddico! Sono grande, contengo moltitudini..."
 
Last edited:

amorosik

Expert
Licensed User
Uffa!
Il driver di cui ho fatto il project manager e scritto casi d'uso e requisiti utente, si basa su un servizio di una società che fa da intermediario ACCREDITATO all'Ade, (rileggiti anche tu i post, c'è anche il link)
I dati dello scontrino arrivano a questa società attraverso i suoi server (veramente efficenti) e le sue API perfettamente documentate, ecco ..magia il documento commerciale é sul cassetto fiscale.
Questa società intermediaria che si assume le proprie responsabilità fa un bel contratto (tanti contratti) nel quale ci sono le ragioni sociali, gli indirizzi e anche le "partite iva" delle parti, c'è un prezzo assai chiaro e versa anche le provvigioni ai suoi partner.
Il contratto chiarisce obblighi e responsabilità, se all'Ade cambiano qualcosa come xml per le FE questa società aggiorna i suoi sitemi ma, i dati scontrino quelli sono e quelli rimangono e probabilmente il driver non andrà aggiornato. Poi se all'ADE vorranno anche il GREEN-PASS, le società che fornisce il driver con tanto di licenza firmata, si incaricherà a far scrivere due righe di codice necessarie (i sorgenti in C# sono ovviamente loro). Quindi non ci sono glì stessi LIMITI, sono proprio due mondi (e soggetti) differenti.
Io mi sto adoperando per far conoscere delle persone (fisiche e giuridiche) che poi si accorderanno tra loro per fare la cosa in Android e senza costosi intermediari e già ci rimetto la faccia? Noo non ci siamo proprio, basta! Altro che citare Walt Whitman , sarebbe meglio citare Carmelo Bene ...
Questo è l'ultimo messaggio che scrivo, all'alba salpiamo e non avrò internet per due settimane.
Chi interessato sta già seguendo in prima persona i nostri scambi epistolari se lo riterrà opportuno si farà avanti, per me finisce qui.

Chiunque legga, rifletta sul fatto che il documento commerciale on line ha una portata E N O R M E e se può, si dia da fare.

Buona fortuna e buone ferie a tutti.

Abbi pazienza, societa' accreditata o non accreditata, server efficienti o lumache, non e' quello il punto
Il punto e' se siano disponibili informazioni ufficiali AdE per 'entrare' dei documenti commerciali senza usare la web application cortesemente messa a disposizione
E se questa documentazione non c'e', allora non c'e' ne per noi ne per la societa' accreditata
Questo vuol dire che la societa' accreditata, per inviare dei documenti commerciali verso i sistemi AdE, usa lo stesso sistema che usano i vari 'scontrino fiscale senza ecr' che si trovano in rete, o sistemi simile
Che poi ci siano contratti che garantiscano il cliente finale, questo non significa che il sistema usato dalla societa' accreditata funzioni anche in caso l'AdE cambiasse qualcosa
Se chiudono i boccaporti o mettono un captcha di mezzo, voglio proprio vedere chi riuscira'a spedire come prima
La mia idea e' che stiano volutamente lasciando delle vie d'ingresso, formalmente non definite con documenti ufficiali, per vedere come evolve l'attivita' degli utenti
In definitiva, se qualcosa non funzionasse, mica sono responsabili loro
 

Star-Dust

Expert
Licensed User
Abbi pazienza, societa' accreditata o non accreditata, server efficienti o lumache, non e' quello il punto
Il punto e' se siano disponibili informazioni ufficiali AdE per 'entrare' dei documenti commerciali senza usare la web application cortesemente messa a disposizione
E se questa documentazione non c'e', allora non c'e' ne per noi ne per la societa' accreditata
Questo vuol dire che la societa' accreditata, per inviare dei documenti commerciali verso i sistemi AdE, usa lo stesso sistema che usano i vari 'scontrino fiscale senza ecr' che si trovano in rete, o sistemi simile
Che poi ci siano contratti che garantiscano il cliente finale, questo non significa che il sistema usato dalla societa' accreditata funzioni anche in caso l'AdE cambiasse qualcosa
Se chiudono i boccaporti o mettono un captcha di mezzo, voglio proprio vedere chi riuscira'a spedire come prima
La mia idea e' che stiano volutamente lasciando delle vie d'ingresso, formalmente non definite con documenti ufficiali, per vedere come evolve l'attivita' degli utenti
In definitiva, se qualcosa non funzionasse, mica sono responsabili loro
Per società accreditate di intende quelle che di sono dotati di sistemi informatici (sFTP o SOAP) seguendo le linee guida e hanno chiesto l'accreditamento fornendo i dettagli tecnici dei loro sistemi.
L'AdE assegna loro un codice univoco e invia loro i documenti che sono indirizzati a quel codice.
Leggendo la documentazione e l'esperienza di una piccola azienda siciliana che ha meno di 10 clienti per cui conserva i loro documenti (come prevede la legge per gli intermediari), sembra che non sia così complesso (ma nemmeno una passeggiata).

La documentazione è pubblica, anche se per quanto riguarda gli scontri non RT non c'è nulla, per tutto il resto trovi sufficiente documentazione (fatture elettroniche, scontrini con RT e relativi protocolli)


PS: Dopo aver letto come quest'azienda ha avuto l'accreditamento, e che si rendevano disponibili ad aiutare altri dando informazioni perché non temevano la concorrenza essendo un azienda che non puntava su quello, mi era venuto il pallino di farlo anche io. Però avrei dovuto chiedere l'aspettativa dal mio lavoro per due o tre mesi.... Domanda: Chi mi avrebbe pagato lo stipendio per quei mesi? Certo cercare uno "sponsor" pagante che condividesse sia l'eventuale successo ma anche il rischio dell'insuccesso era una cosa che mi è sembrata improponibile o improbabile e ho rinunciato.
 
Last edited:

Star-Dust

Expert
Licensed User
Al POST#1 trovate indicazioni su come ottenere la libreria completa. e una copia della libreria in formato demo. (Funzionerà solo nel mese di agosto 2021 e poi smetterà di funzionare... è una demo)
Al POST#2 Trovate un esempio di App (B4XPages) che utilizza la libreria
 
Last edited:

Victorh2877

Member
Licensed User
Salve @Gnappos,

  • Non ci sono documentazioni ufficiali sulle API utilizzate. Anche se nell'interpello che la Mysound srl ha fatto all'AdE ha dato il consenso entro certi parametri legali (che sono rispettati nella mia App). Quindi c'è il consenso ma non la documentazione.
  • Adesso rispondo alla seconda parte: Non mi sono bastato solo sulla procedura in C# di Pizzillo perchè invia solo scontrini. Nella mia libreria è possibile anche scaricare il PDF dello scontrino, consultare i dati di tutti i documenti emessi (scontrini/corrispettivi e annulli) ma anche scaricare una copia in PDF. Inoltre è possibile vedere le fatture emesse e ricevute e scaricare le fatture ricevute in p7m (Per poter ottenere XML vedi la mia libreria SD_p7m che ho realizzato nel 2019). Ho quindi aggiunto le varie funzioni che ne corso degli anni sono riuscito a ottenere.
  • In ultimo, se non c'è documentazione e non si basa solo su procedure presenti su GitHub come ho fatto? Sono affaracci miei 😜 😜 😜 😜 😜

Non esistono documenti ufficiali al momento, forse per metà 2022. L'interpello è stato fatto da Mysond srl (non mysound) ci tengo a dirlo perchè la base del software è mia 😜 😜 😜
 

amorosik

Expert
Licensed User
Non esistono documenti ufficiali al momento, forse per metà 2022. L'interpello è stato fatto da Mysond srl (non mysound)

Capisco che la speranza sia l'ultima a morire
Ma vedendo quel che accade alle strutture informatiche della pubblica amministrazione (vedi interruzione servizio regione Lazio), direi che c'e' da mettersi le mani nei capelli
Chi ce l'ha 🤣🤣🤣
 

Star-Dust

Expert
Licensed User
Non esistono documenti ufficiali al momento, forse per metà 2022. L'interpello è stato fatto da Mysond srl (non mysound) ci tengo a dirlo perchè la base del software è mia 😜 😜 😜
Al di là del nome che giustamente tu hai precisato, il concetto è che nel sito ufficiale trovi sono documentazione per tutto tranne per questo.

Allora farò un interpello anche per la mia 😂 😂 😂 😂
 

Star-Dust

Expert
Licensed User
Update 0.16
  1. Inserito metodo per annullare scontrino
  2. Migliorata App di esempio
    1. Aggiunta la possibilità di cambiare il prezzo nella griglia della composizione scontrino
    2. Aggiunta possibilità omaggio
    3. Aggiunto bottone annulla scontrino nel pannello visualizzazione scontrini
    4. Possibilità di aprire file PDF o salvarli in un directory (Per Android e iOS aprire o condividere)
    5. Miglioramenti grafici minori
1628400089642.png
 
Last edited:
Top