Convalida dati: liste precompilate di opzioni

Nel caso in cui si debba inserire un valore in una cella, può risultare comodo fare in modo che le opzioni visualizzate siano già impostate. Ancora più comodo potrebbe essere il fatto di avere la lista delle opzioni che dipende da valori inseriti in altre parti del foglio, per comodità di manutenzione.

Vediamo come si può procedere per ottenere tale risultato.

Lo strumento che utilizzeremo è la “convalida dati”, presente nel tab “dati” di Excel:

Per semplicità, restiamo sullo stesso foglio. Ipotizziamo di voler inserire nella colonna “A” i valori che devono apparire nella lista delle opzioni. La prima cella (quindi la cella A1) sarà una intestazione.

Ipotizziamo inoltre che la lista delle opzioni debba essere visualizzata nella cella “C1”.

Il metodo qui illustrato fa uso della funzione “Tabella”, che migliora la gestione dei dati, ma non è necessaria. Al posto della tabella, si potrebbe banalmente indicare il range di dati da dove i valori vanno ripresi, con un semplice riferimento (assoluto o relativo, a seconda delle necessità).

Procediamo con la definizione della tabella dati. Inseriamo in A1 l’intestazione, e nelle celle sottostanti (da A2 in poi) i valori che desideriamo visualizzare come opzioni:

Ora trasformiamo la lista in una tabella (in altro articolo spiegheremo il motivo per cui una tabella è più efficiente da gestire e mantenere, e quindi altamente consigliata. Sostanzialmente la tabella si estende automaticamente ed è gestibile tramite un nome invece che tramite un riferimento a celle):

Come si vede, Excel interpreta i dati contigui come tabella e li propone in selezione. Se la tabella dati è strutturata correttamente (senza interruzioni), come nell’esempio, è sufficiente quindi che la cella attiva sia all’interno della tabella che si vuole creare:

Nel nostro caso, viene spuntata l’opzione “Tabella con intestazioni” perché la prima cella è una descrizione e non un valore da inserire.

Fatto questo, alla tabella viene dato anche un’aspetto grafico di default (si può ovviamente modificare). Il vantaggio di usare una tabella è che, qualora vengano accodati dei dati aggiuntivi, la tabella viene automaticamente “estesa”, ed i riferimenti ad essa comprenderanno i nuovi valori.

Per facilitare la manutenzione del foglio, è opportuno dare un nome specifico e rappresentativo alla tabella creata. Nell’esempio, la chiameremo “lista_colori”. Con la tabella (o parte di essa, anche una singola cella) selezionata, andare nel tab “Progettazione” degli “strumenti tabella” (a destra nell’immagine) e nel campo “Nome tabella:” inserire il nome scelto. (per noi “lista_colori”):

Il grosso del lavoro è fatto. Ora basta posizionarsi nella cella in cui si desidera visualizzare la lista (nell’esempio C1), e nel tab “dati” selezionare l’opzione “convalida dati” (la schermata iniziale di questo articolo). Nella finestra visualizzata, si deve impostare il valore “Elenco” nei criteri di convalida, alla voce “Consenti:”. Successivamente, nel box “origine”, inserire la formula indicata, che ora spieghiamo:

(In alternativa alla formula indicata si potrebbe, come già sopra detto, inserire direttamente il range di riferimento (A2:A7), ma in questo modo la lista non sarà dinamica)

La “magia” sta nella formula utilizzata per l’origine dati. La funzione =INDIRETTO() restituisce il contenuto del riferimento specificato. Indichiamo quindi (tra virgolette) il nome della tabella appena definito. Questo non è però sufficiente, va indicato anche il nome della colonna che si intende usare. Questo va indicato, dopo il nome della tabella, tra parentesi quadre. In definitiva, la formula è: =INDIRETTO(“lista_colori[Colore]”)

Ecco il risultato:

Trucchi Excel: tasti rapidi

Qualche tasto rapido per Excel, che può sempre far comodo…

Inserire la data corrente

E’ possibile inserire la data corrente nella cella attiva con la combinazione di tasti “alt gr” + “a”. Il tasto “alt gr”, alt grafico, si trova a destra della barra spaziatrice.

Inserire lo stesso valore in tutte le celle selezionate

Se avete più celle selezionate (sia contigue, sia “sparse”. Per selezonare celle “sparse” -ovvero non contigue- si può usare il tasto CTRL) e volete inserire lo stesso valore in tutte, confermate il dato che state inserendo con la combinazione “ctrl” + “Invio”.

Loop tra riferimenti assoluti, relativi e misti

Inserite una formula in una cella, e fate riferimento ad un’altra cella. Mentre siete in modifica della cella, il tasto funzione F4 consente di passare da riferimenti assoluti a relativi passando per riferimenti misti. Esempio:

=A1, premendo F4 diventa =$A$1, premendo nuovamente F4 diventa =A$1, ancora pressione di F4 e passiamo a = $A1, se da qui si continua a premere F4 si riparte da dove avevamo iniziato.

Vademecum fattura elettronica tra privati dal 2019

Il tema “caldo” di questa fine 2018 sembra proprio essere l’introduzione obbligatoria di un sistema di fatturazione elettronica, tra soggetti “privati” (inteso come contrapposto alla Pubblica Amministrazione, quindi comprensivo anche di soggetti “consumatori finali”) a far data da gennaio 2019.

Molti i preparativi, molti i dubbi, ma il sistema “tecnicamente” e “normativamente” funziona già, si tratterà piuttosto di vedere se gli importanti volumi di documenti scambiati tramite SdI (Sistema di Interscambio) saranno retti dall’infrastruttura in modo adeguato.

Ad ogni modo, sperando di fare cosa utile e gradita, ho pubblicato gli atti di vari seminari su questo tema tenuti in questi mesi.

Le slides, in formato PDF, sono scaricabili dalla sezione “convegni” del sito internet: http://studio.masson.biz/convegni/

Oppure direttamente qui.

LIPE (liquidazioni IVA periodiche), XML e sigillo

L’adempimento

L’adempimento relativo alla liquidazione IVA periodca (LIPE) richiede la predisposizione di un file in formato XML contenente i dati da trasmettere.

In questo articolo si vuole approfondire la composizione del file XML generato, e la sua trasformazione in file sigillato, secondo lo standard XAdES (vedi nostro precedente articolo).

Il file XML

Il file XML contiene i dati relativi al periodo comunicato racchiusi in appositi tag specifici. Ad esempio, un file potrebbe essere il seguente

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<iv:Fornitura xmlns:iv="urn:www.agenziaentrate.gov.it:specificheTecniche:sco:ivp" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
 <iv:Intestazione>
 <iv:CodiceFornitura>IVP17</iv:CodiceFornitura>
 </iv:Intestazione>
 <iv:Comunicazione identificativo="00001">
 <iv:Frontespizio>
 <iv:CodiceFiscale>XXXXXXXXXXXXXXXX</iv:CodiceFiscale>
 <iv:AnnoImposta>2017</iv:AnnoImposta>
 <iv:PartitaIVA>XXXXXXXXXXX</iv:PartitaIVA>
 <iv:FirmaDichiarazione>1</iv:FirmaDichiarazione>
 <iv:IdentificativoProdSoftware>XXXXXXXX</iv:IdentificativoProdSoftware>
 </iv:Frontespizio>
 <iv:DatiContabili>
 <iv:Modulo>
 <iv:Trimestre>5</iv:Trimestre>
 <iv:TotaleOperazioniAttive>XXXX,XX</iv:TotaleOperazioniAttive>
 <iv:TotaleOperazioniPassive>XXXX,XX</iv:TotaleOperazioniPassive>
 <iv:IvaEsigibile>XXXX,XX</iv:IvaEsigibile>
 <iv:IvaDetratta>XXX,XX</iv:IvaDetratta>
 <iv:IvaDovuta>XXXX,XX</iv:IvaDovuta>
 <iv:Acconto>XX,XX</iv:Acconto>
 </iv:Modulo>
 </iv:DatiContabili>
 </iv:Comunicazione>
</iv:Fornitura>

i dati reali sono stati offuscati con delle X.

Nei files XML i “tag” definiscono gli elementi di struttura. Sono delimitati da parentesi angolari, quello che inizia con / chiude l’elemento.

Nell’esempio si può notare che le direttive XML vengono precedute da “iv:”, che è il namespace xml definito nella seconda riga “xmlns:iv=”.

Così è facile capire che siamo in presenza di una Fornitura, composta da:

  • una <iv:Intestazione>
    • che contiene il <iv:CodiceFornitura>IPV17
  • una sola <iv:Comunicazione>, con identificativo 00001
    • composta da un <iv:Frontespizio>, che a sua volta contiene vari dati
    • una parte di <iv:DatiContabili>
      • per il <iv:Trimestre> 5
      • con un <iv:TotaleOperazioniAttive>
      • con un <iv:TotaleOperazioniPassive>
      • un importo di <iv:IvaEsigibile>
      • un importo di <iv:IvaDetratta>
      • un importo di <iv:IvaDovuta>
      • l'<iv:Acconto>

A prescindere dallo specifico contenuto, si nota che la struttura non contiene dati di firma.

La prima fase operativa, una volta collegati al sito dell’Agenzia delle Entrate, area Fatture e Corrispettivi, alla funzione di comunicazione dei dati delle liquidazioni periodiche IVA, consiste nel controllo della validità formale di questo file.

Il caricamento del file XML e la sua validazione non fa altro che verificare la conformità del file stesso al namespace XML come sopra definito.

Se la prima fase si conclude senza errori, si può passare alla successiva. Si fa notare che fino a questo punto NON sono ancora state effettuate modifiche al file XML generato dall’utente.

Passiamo alla fase successiva.

Apposizione del sigillo

Per inviare il file l’Agenzia delle Entrate offre il servizio di sigillo elettronico. Il sigillo è una versione di firma elettronica avanzata, impropriamente si può ad esso pensare come ad una sorta di firma digitale delle persone giuridiche.

E’ interessante notare che in questo caso l’Agenzia utilizza il formato XAdES, ovvero la firma digitale nativa del formato XML. Dopo aver caricato il file (controllato, ma è sempre lo stesso file, in questa situazione) si chiede l’elaborazione del file sigillato.

L’elaborazione produce un file con estensione .XML (e non .p7m, come per altre applicazioni) il cui nome viene leggermente modificato, acquisendo un progressivo di elaborazione, ma viene mantenuta l’estensione .XML.

(ad esempio, il file di partenza non sigillato potrebbe essere nominato in questo modo: CODICEFISCALE_LI_20175.XML mentre il file sigillato potrebbe diventare CODICEFISCALE_LI_X0004.XML).

Il file “sigillato” si distingue per l’apposizione, per l’appunto, del sigillo digitale, che va a modificare la struttura di partenza del file XML.

Aprendo il file medesimo, si nota la firma, apposta subito dopo il tag di chiusura della direttiva comunicazione (</iv:Comunicazione>):

<ds:Signature Id="Signature1"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
<ds:Reference Id="reference-document" URI="">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2">
<XPath xmlns="http://www.w3.org/2002/06/xmldsig-filter2" Filter="subtract">/descendant::ds:Signature</XPath>
</ds:Transform></ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<ds:DigestValue>uWi6V69pU5cawlp9g0ZX593GXqrZ+F0MNtGCXaS7hXM=</ds:DigestValue>
</ds:Reference><ds:Reference Id="reference-signedpropeties" Type="http://uri.etsi.org/01903#SignedProperties" URI="#SignedProperties_1">
 <ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><ds:DigestValue>xxxxxxxxxxxxx=</ds:DigestValue>
</ds:Reference><ds:Reference Id="reference-keyinfo" URI="#KeyInfoId">
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
 <ds:DigestValue>xxxxxxxxxxxxxxxxxxxxxxxx=</ds:DigestValue>
</ds:Reference></ds:SignedInfo><ds:SignatureValue Id="SignatureValue1">xxxxxxxxxxxxxxxxxxxxxxxxxxx=
</ds:SignatureValue><ds:KeyInfo Id="KeyInfoId"><ds:X509Data><ds:X509Certificate>xxxxxxxxxxxxxxxxxxxxxxxxxxxxx=</ds:X509Certificate>
</ds:X509Data></ds:KeyInfo><ds:Object><xades:QualifyingProperties xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" Target="#Signature1">
<xades:SignedProperties Id="SignedProperties_1"><xades:SignedSignatureProperties><xades:SigningTime>2018-02-25T10:13:04Z</xades:SigningTime></xades:SignedSignatureProperties>
</xades:SignedProperties>
</xades:QualifyingProperties>
</ds:Object>
</ds:Signature>

i dati di cifratura sono stati sotituiti con delle x, ma si nota il tax <xades:…> che suggerisce il metodo di firma.

Il file con sigillo digitale è pertanto un file firmato a tutti gli effetti, che mantiene l’estensione .XML in quanto firmato direttamente al suo interno.

Questo è ovviamente il file che va inviato all’Amministrazione.

Contabilità analitica, in breve

di cosa si parla?

In questo post vorrei scrivere brevi(ssime) note per rispondere alla domanda: “cos’è la contabilità analitica“?

Se dovessi rispondere “in 20 parole o meno” (cit.) direi che è lo strumento contabile analitico utilizzabile per conoscere tempestivamente gli elementi economici carratterizzanti i vari sottosistemi dell’impresa.

differenze con la contabilità generale

A differenza della contabilità generale (COGE), che si basa sulla rilevazione dei fatti esterni di gestione secondo una logica numeraria (manifestazione dell’aspetto finanziario, e rigorosamente consuntiva), la contabilità analitica (COAN) si basa su un concetto di competenza economica delle singole operazioni, e può contenere tanto dati consuntivi, quanto valori programmati (definita contabilità analitica a costi standard).

Per fare un semplice esempio della differenza tra una rilevazione numeraria ed una economica si può pensare al ricevimento delle materie prime: in COGE la rilevazione viene effettuata al ricevimento della fattura, in COAN invece nel momento in cui fisicamente le MP arrivano in azienda (su questo si può poi disquisire e scegliere diversamente, ma il concetto di fondo è quello esposto).

Altre caratteristiche

Una ulteriore differenza è che la COGE lavora con registrazioni per natura (si fa riferimento all’origine del costo, ad esempio “energia elettrica”) e considera l’impresa da un punto di vista unitario, come fosse una unica entità, mentre la COAN opera con registrazioni per destinazione (ovvero si fa riferimento al centro di analisi che produce o consuma un determinato costo) oltre che per natura (questo dipende dall’implementazione del sistema di COAN) e considera l’azienda in termini di sottosistemi di cui analizzare e monitorare le caratteristiche. I sottosistemi potrebbero essere reparti, lavorazioni, business unit, etc.

Ancora, lo scopo è differente, perché la COGE è focalizzata alla redazione del bilancio d’esercizio, redatto secondo criteri civilistici, ed il destinatario tipico è sia interno che esterno all’azienda, mentre la COAN viene predisposta per identificare i centri di costo, determinare i costi di prodotto, supportare la valutazione delle rimanenze e dei rendimenti di prodotto, determinare i costi di lavorazione, e così via, e il destinatario è esclusivamente interno all’impresa stessa.

Precisione contro tempestività

La contabilità generale privilegia la precisione delle rilevazioni, a scapito della tempestività delle informazioni (si pensi al fatto che il bilancio viene redatto dopo alcuni mesi dalla chiusura dell’esercizio), ed è obbligatoria per legge, mentre la contabilità analitica privilegia la tempestività delle informazioni, mediata ovviamente dall’assenza di errori significativi, e la sua tenuta è facoltativa.

Infine, la contabilità generale si riferisce normalmente all’intero esercizio, mentre l’analitica normalmente analizza periodi infrannuali, privilegiando ove possibile periodi mensili, proprio per la tempestività dell’informazione che risulta fondamentale per l’analisi degli scostamenti con i parametri obiettivo necessari alla realizzazione di un efficace controllo di gestione.