Haiku.lt

Programmazione delle informazioni aggiuntive

2024-06-16
Questo articolo è stato tradotto con IA

Questa è 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ò essere standard, proforma o credit.
  • seriesName - nome della serie
  • seriesId - numero della serie
  • date - data della fattura
  • language - lingua
  • seller - informazioni sul venditore
  • buyer - informazioni sull’acquirente
  • issuer - persona che ha creato la fattura
  • items - array di servizi o prodotti
  • price - 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