Programmering af yderligere information
2024-06-16Dette er en avanceret funktion, der giver dig mulighed for at ændre feltet med yderligere information på en faktura baseret på, hvad der er indtastet i andre felter. Hvis du ikke er programmør, vil mit forslag være blot at gennemgå eksemplerne nedenfor, vælge et, der passer til dine behov, og tilpasse det derefter.
Eksempler
Her finder du forskellige eksempler, som du kan bruge i Indstillinger siden sektionen “Program til yderligere information”.
Angiv en betalingsforfaldsdato baseret på fakturadato
const daysUntilDue = 10;
date.setDate(date.getDate() + daysUntilDue);
globalThis.result = `Betal venligst senest ${formatDate(date)}`;
Ved oprettelse af en faktura vil en knap “Kør program til yderligere information” fremkomme ved siden af feltet “Yderligere information”. Når der klikkes på den, vil feltet blive udfyldt med tekst som “Betal venligst senest 2024-06-26”.
Angiv en betalingsforfaldsdato automatisk
// AUTO
const daysUntilDue = 10;
date.setDate(date.getDate() + daysUntilDue);
globalThis.result = `Betal venligst senest ${formatDate(date)}`;
Når du ændrer fakturadatoen eller et andet felt, vil feltet med yderligere information
blive opdateret automatisk. Husk, at dette felt vil blive
automatisk overskrevet, så dine manuelle ændringer kan gå tabt. Brug derfor
den automatiske variant (første linje // AUTO) kun når du vil have, at den yderligere
information altid skal se ens ud.
Angiv betalingsforfaldsdato baseret på fakturadato og sprog (automatisk)
// AUTO
const daysUntilDue = 10;
date.setDate(date.getDate() + daysUntilDue);
if (language == 'da') {
globalThis.result = `Betal venligst senest ${formatDate(date)}`;
} else if (language === 'en') {
globalThis.result = `Please pay by ${formatDate(date)}`;
}
Angiv betalingsmetode baseret på køber eller beløb
let result = 'Betal venligst';
if (buyer.includes('Corp') || buyer.includes('Inc') || price > 50000) {
result += ' ved BANKOVERFØRSEL';
} else {
result += ' KONTANT';
}
globalThis.result = result;
I dette eksempel, hvis køberfeltet indeholder “Corp” eller “Inc”, eller fakturaens beløb er mere end 500 (beløb leveres til programmet i cents, så 50000 er angivet), så anmoder vi om betaling ved bankoverførsel. Ellers anmoder vi om kontant betaling.
Kombination af information
Du kan kombinere denne information, hvis du vil angive både betalingsdatoen og betalingsmetoden.
const daysUntilDue = 10;
date.setDate(date.getDate() + daysUntilDue);
let result = `Betal venligst senest ${formatDate(date)}\n`;
result += 'Betalingsmetode: ';
if (buyer.includes('Corp') || buyer.includes('Inc') || price > 50000) {
result += 'BANKOVERFØRSEL';
} else {
result += 'KONTANT';
}
globalThis.result = result;
Information til programmører
Programmet til yderligere information er skrevet i programmeringssproget JavaScript.
Programmet modtager denne information:
invoiceType- Fakturatype. Kan værestandard,proformaellercredit.seriesName- serienavnseriesId- serienummerdate- fakturadatolanguage- sprogseller- sælgerinformationbuyer- køberinformationissuer- person, der oprettede fakturaenitems- array af tjenester eller produkterprice- sum af fakturaposter eller tjenester i cents
Eksempel på data, der sendes til programmet:
const invoiceType = 'standard';
const seriesName = 'INV';
const seriesId = 47;
const date = new Date(1718540924628);
const language = 'da';
const seller = 'Køber';
const buyer = 'Sælger';
const email = '';
const issuer = 'John Doe';
const items = [{ id: 0, name: '', unit: 'H87', amount: 1, price: 0 }];
const price = 0;
Hvis den første linje af programmet er kommentaren // AUTO, vil programmet blive
kørt hver gang felter ændres.
// AUTO
Programmer markeret med // AUTO vil også blive kørt ved batch-redigering af flere
fakturaer.
formatDate er en hjælpefunktion, der formaterer datoer i YYYY-MM-DD format,
f.eks. 2024-06-26