Gestire le scadenze dei pagamenti con le funzioni condizionali in OpenOffice.org Calc

di Agnese Bascià

scritto il

Per la gestione dei pagamenti delle fatture, le PMI possono contare su un software gratuito: Calc della suite OpenOffice.org.

Le piccole e medie imprese che non dispongono di gestionali complessi per il monitoraggio dei pagamenti delle fatture possono ricorrere a un semplice foglio di calcolo, magari open source e gratuito come OpenOffice.org Calc, con il pieno controllo dei flussi di cassa.

Quali fatture sono in scadenza o già scadute, chi ha pagato regolarmente fra i nostri clienti, chi invece ritarda e di quanto? Un foglio di calcolo può essere chiarificatore: basta impostare funzioni e ricavare grafici per ottenere un quadro completo degli incassi effettuati o da effettuare, oltre che dei clienti verso cui riporre maggiore fiducia per eventuali transazioni future.

=> Leggi come numerare le nuove fatture dal 2013

In questo tutorial forniamo alcuni utili consigli per impostare uno spreadsheet e monitorare i pagamenti utilizzando Calc 3.0, scaricabile in lingua italiana per le maggiori piattaforme (Linux, Windows e Mac OS X).


Scarica l’esempio

Salvando il foglio in un formato differente da ODS, come Excel, è possibile utilizzare lo stesso spreadsheet con la suite Microsoft, anche se parte della formattazione originale potrebbe andare persa ove non compatibile, e che in sede di utilizzo le formule devono essere riadattate secondo lo standard di Visual Basic.

=> Vai ai tutorial Excel di PMI.it

Impostare il foglio

L’ordine e la grafica del foglio sono i primi elementi da impostare affinché l’inserimento dati sia semplice e le funzioni che verranno sappiano con quale tipo di dato hanno a che fare. Lanciamo OpenOffice.org Calc e creiamo un nuovo foglio elettronico. Utilizziamo la prima riga per le intestazioni di colonna:

  • nella cella A1:scriviamo “Intestatario fattura”, la colonna sarà dedicata all’inserimento del nominativo cui è indirizzata la fattura (di solito il cliente);
  • nella cella B1 “Numero fattura”;
  • nella cella C1 “Data fattura”;
  • nella cella D1 “Importo fattura”;
  • nella cella E1 “Data scadenza pagamento”;
  • nella cella F1 “Data pagamento fattura”;
  • nella cella G1 “Pagamento scaduto?”: la colonna riporterà una risposta del tipo Sì/In scadenza/nulla se la fattura non è scaduta. Avremo così percezione immediata della situazione;
  • nella cella H1 scriviamo “Giorni di ritardo”.

Per evitare che la riga 1 scompaia man mano che si allunga la lista delle registrazioni blocchiamola selezionandola e dal menu “Finestra” cliccando su “Dividi”: trasciniamo la riga nera appena apparsa — tenendo premuto il tasto sinistro del mouse — fra la riga 1 e la riga 2; torniamo nel menu “Finestra” e clicchiamo su “Fissa”. Provando a usare lo scroller del mouse si noterà che la riga 1 non si muove.

Diamo un colore differente alle intestazioni di colonna e passiamo alla formattazione delle celle selezionando l’area da formattare (colonna, riga o cella); quindi cliccando con il tasto destro del mouse, dal menu a cascata selezioniamo la voce “Formatta cella…”. Si aprirà una finestra per cambiare i tipi di dato, settare il colore delle celle, i bordi, impostare le protezioni, ecc.

=>Leggi di più sulla fatturazione elettronica

La colonna per l’intestatario di fattura dovrà avere un formato testo; quella del numero fattura un formato numerico standard senza decimali; le colonne “Data fattura”, “Data scadenza pagamento” e “Data pagamento fattura” dovranno essere formattate come data, a scelta fra i formati già pronti; la colonna “Importo fattura” deve essere formattata come valuta Euro con posizioni decimali 2; “Giorni di ritardo” come numerico standard senza decimali e senza zeri iniziali.

=> Scarica i modelli di Fatture con Excel

Riempiamo il foglio con i dati da controllare e passiamo a impostare le funzioni utili al nostro scopo. Se il foglio riporta dei dati sarà più semplice verificare che le formule funzionino correttamente.

Funzioni

Nella cella G2 dovremmo inserire una formula che ci dica se la fattura è scaduta rapportando la data odierna con la data di scadenza indicata nella colonna F. Nella riga della formula dovremmo perciò scrivere: =SE((ADESSO())<=E2;”No”;”Sì”)

=> Leggi le novità in tema di fatturazione

Analizziamo la formula: il segno di equivalenza introduce una qualsiasi funzione; la funzione SE() appartiene al gruppo delle funzioni logiche e fa in modo che dato un certo test la risposta possa essere del tipo “vero” o “falso”; nel nostro caso “Sì/No”.

La funzione ADESSO() ricava automaticamente la data attuale; se quest’ultima è minore o uguale a quella di scadenza della fattura, allora vuol dire che la fattura è scaduta e visualizzerà come output il testo “Sì”, altrimenti “No”.

Tuttavia, sarebbe utile che le fatture che scadranno fra “n” giorni fossero evidenziate con un testo del tipo “IN SCADENZA”. Per far ciò modifichiamo leggermente la precedente funzione, sostituendola con:

=SE(E((GIORNI(ADESSO();E2)<5);ADESSO()<E2);

“IN SCADENZA”;SE(E(E2<>””;

(ADESSO())>=E2);”Sì”;””))

Questa formula contiene quattro condizioni: la prima è (GIORNI(ADESSO();E2)<5, cioè che manchino 5 giorni alla scadenza della fattura; la seconda impone che ci sia una scadenza di fattura e cioè che la cella non sia vuota E2<>””; la terza impone che la data attuale sia inferiore alla data di scadenza, affinché si possa determinare che la fattura è in scadenza; la quarta impone che la data attuale sia superiore a quella di scadenza, cosicché la fattura risulti scaduta e si possa dire “Sì” (ADESSO())>=E2).

Le prime due condizioni e le ultime due devono avverarsi contemporaneamente e sono perciò unite in coppia da una funzione di tipo E(). Al verificarsi della prima, l’output sarà “IN SCADENZA”; altrimenti dovranno verificarsi le altre due condizioni, per cui l’output potrà essere “Sì” (cioè la fattura è scaduta) oppure nulla se non vi è un parametro di valutazione.

Una volta impostata questa formula, possiamo utilizzare i colori per rendere più immediata la visualizzazione del risultato “Sì”, quello più significativo: utilizziamo la “Formattazione condizionata” in modo da colorare di rosso le caselle con il “Sì”: selezioniamo la colonna G, andiamo in “Formato” e clicchiamo su “Formattazione condizionata”; si aprirà una finestra.

In corrispondenza della Condizione 1 scriviamo: $Foglio1.$G$2 e poi clicchiamo su “Nuovo stile”; diamo un nome a questo stile, andiamo nella tab “Sfondo”, scegliamo un rosso, facciamo clic su Ok quando abbiamo finito. Stessa operazione in corrispondenza della Condizione 2 per cambiare colore alla risposta “IN SCADENZA”.

Il passo successivo consiste nel calcolo dei giorni di ritardo nel pagamento: avendo impostato la colonna H per contenere date, la formula deve essere di tipo data e precisamente: =Giorni(data1;data2), dove data 1 e data 2 saranno sostituiti dal numero di cella corrispondente. Questa funzione restituisce la differenza fra due date espressa in giorni, nel nostro caso la differenza fra la data di pagamento e la data di scadenza della fattura.

=> Leggi le nuove regole Fatturazione e IVA da gennaio 2013

Tuttavia, è possibile che ci manchi la data di pagamento, perché non è stato mai effettuato nonostante la fattura sia scaduta, e in questo caso dobbiamo dare un’ulteriore condizione: “data pagamento fattura deve essere diverso da valore nullo”, che tradotto in formula sarebbe: =F2<>””

Cosa deve essere rappresentato nella cella nel caso in cui F2 fosse vuota? Dipende: se la fattura è scaduta, se il pagamento non è avvenuto, se la data odierna è superiore alla data di scadenza, allora sarebbe auspicabile che la cella riportasse la dizione “pagamento da sollecitare”. Se invece la fattura non è scaduta ma è stata pagata, allora la differenza fra data odierna e data di scadenza sarebbe negativa, con un risultato non leggibile in termini di utilità, per cui sarebbe auspicabile che la cella riportasse semplicemente “pagamento anticipato”.

Alla luce di tutte queste condizioni la formula diventa più complessa e precisamente:

=SE(E(E2=””;F2=””);””;SE(E(GIORNI(F2;E2)<0;F2<>””;E2<>””);

“pagamento anticipato”;SE(F2<>””;SE(E2<>””;

SE(F2<=E2;”_”;GIORNI(F2;E2));”pagamento anticipato”);

SE(E(F2<ADESSO();F2=””);”pagamento da sollecitare”;””))))La logica è la stessa seguita per le condizioni espresse a proposito della scadenza “Sì/altro”: ogni volta che si inserisce un SE si deve aprire e chiudere una parentesi tonda; posto il test, si deve inserire un punto e virgola, cui seguirà un risultato in caso di avveramento della condizione e un risultato in caso di mancato avveramento del test. Per esempio: =SE(Condizione;Vero;Falso)

=> Leggi quando emettere la fattura differita: tutti i casi

Inserita nella cella H2 e trascinata nelle celle seguenti, essa farà apparire un underscore (_) se la fattura è stata pagata regolarmente; un pagamento da sollecitare se la fattura è scaduta, ma il pagamento non è avvenuto; un pagamento anticipato, se la fattura non è scaduta, ma è stata comunque pagata.

Anche per questi valori si può usare la formattazione condizionale vista sopra, inoltre sarebbe utile approntare un raggruppamento di dati, che mettesse in risalto quali clienti tendono a ritardare il pagamento.

Posizioniamo il mouse in un altro foglio e inseriamo una semplice tabella Pivot in modo che siano raggruppati gli importi da sollecitare, quelli pagati in ritardo e quelli incassati regolarmente, così da avere una panoramica per totali.