Programmazione delle informazioni aggiuntive
2024-06-16Questa è una funzionalità avanzata che ti consente di modificare il campo delle informazioni aggiuntive su una fattura in base a ciò che viene inserito in altri campi. Se non sei un programmatore, il mio suggerimento sarebbe semplicemente di rivedere gli esempi qui sotto, scegliere uno che si adatta alle tue esigenze e adattarlo di conseguenza.
Esempi
Qui troverai vari esempi che puoi utilizzare nella sezione “Programma informazioni aggiuntive” della pagina Impostazioni.
Specificare una data di scadenza del pagamento in base alla data della fattura
const daysUntilDue = 10;
date.setDate(date.getDate() + daysUntilDue);
globalThis.result = `Prega di pagare entro il ${formatDate(date)}`;
Durante la creazione di una fattura, apparirà un pulsante “Esegui programma informazioni aggiuntive” accanto al campo “Informazioni aggiuntive”. Quando viene cliccato, compilerà il campo con un testo tipo “Prega di pagare entro il 2024-06-26”.
Specificare automaticamente una data di scadenza del pagamento
// AUTO
const daysUntilDue = 10;
date.setDate(date.getDate() + daysUntilDue);
globalThis.result = `Prega di pagare entro il ${formatDate(date)}`;
Quando modifichi la data della fattura o qualsiasi altro campo, il campo delle informazioni aggiuntive
si aggiornerà automaticamente. Tieni presente che questo campo verrà
sovrascritto automaticamente, quindi le tue modifiche manuali potrebbero andare perse. Pertanto, usa
la variante automatica (prima riga // AUTO) solo quando vuoi che le informazioni
aggiuntive abbiano sempre lo stesso aspetto.
Specificare la data di scadenza del pagamento in base alla data della fattura e alla lingua (automaticamente)
// AUTO
const daysUntilDue = 10;
date.setDate(date.getDate() + daysUntilDue);
if (language == 'lt') {
globalThis.result = `Prašome apmokėti sąskaitą iki ${formatDate(date)}`;
} else if (language === 'en') {
globalThis.result = `Please pay by ${formatDate(date)}`;
} else if (language === 'it') {
globalThis.result = `Prega di pagare entro il ${formatDate(date)}`;
}
Specificare il metodo di pagamento in base all’acquirente o all’importo
let result = 'Prega di pagare';
if (buyer.includes('S.r.l.') || buyer.includes('S.p.A.') || price > 50000) {
result += ' tramite BONIFICO BANCARIO';
} else {
result += ' in CONTANTI';
}
globalThis.result = result;
In questo esempio, se il campo acquirente contiene “S.r.l.” o “S.p.A.” o l’importo della fattura è superiore a 500 (gli importi vengono forniti al programma in centesimi, quindi viene specificato 50000), allora richiediamo il pagamento tramite bonifico bancario. Altrimenti, richiediamo il pagamento in contanti.
Combinare le informazioni
Puoi combinare queste informazioni se vuoi specificare sia la data di pagamento che il metodo di pagamento.
const daysUntilDue = 10;
date.setDate(date.getDate() + daysUntilDue);
let result = `Prega di pagare entro il ${formatDate(date)}\n`;
result += 'Metodo di pagamento: ';
if (buyer.includes('S.r.l.') || buyer.includes('S.p.A.') || price > 50000) {
result += 'BONIFICO BANCARIO';
} else {
result += 'CONTANTI';
}
globalThis.result = result;
Informazioni per i programmatori
Il programma delle informazioni aggiuntive è scritto nel linguaggio di programmazione JavaScript.
Il programma riceve queste informazioni:
invoiceType- Tipo di fattura. Può esserestandard,proformaocredit.seriesName- nome della serieseriesId- numero della seriedate- data della fatturalanguage- linguaseller- informazioni sul venditorebuyer- informazioni sull’acquirenteissuer- persona che ha creato la fatturaitems- array di servizi o prodottiprice- somma degli articoli o servizi della fattura in centesimi
Esempio di dati passati al programma:
const invoiceType = 'standard';
const seriesName = 'INV';
const seriesId = 47;
const date = new Date(1718540924628);
const language = 'it';
const seller = 'Acquirente';
const buyer = 'Venditore';
const email = '';
const issuer = 'Mario Rossi';
const items = [{ id: 0, name: '', unit: 'H87', amount: 1, price: 0 }];
const price = 0;
Se la prima riga del programma è il commento // AUTO, il programma verrà
eseguito ogni volta che i campi cambiano.
// AUTO
I programmi contrassegnati con // AUTO verranno eseguiti anche durante la modifica batch di più
fatture.
formatDate è una funzione helper che formatta le date nel formato AAAA-MM-GG,
ad es., 2024-06-26