stutgard info invoice

This commit is contained in:
robin 2025-02-28 16:56:02 +01:00
parent 229b703a7f
commit 59789905a5

View File

@ -1,21 +1,38 @@
#let language = "english" // Options: "français", "deutsch", "english" #let language = "english" // Options: "français", "deutsch", "english"
#let invoice_number = "001" //increment that
#let amount = "50.00" // Montant de la facture
#let currency = "CHF" // Devise (CHF, EUR, etc.)
#let current_date = datetime.today()
//#let due_date = datetime(year: 2025, month: 3, day: 30)
#let recipient_name = [Film und Medienfestival gGmbH]
#let recipient_adress = [Stephanstraße 33]
#let recipient_postal_code = [70173]
#let recipient_town =[Stutgard]
#let recipient_country = [Germany]
#let recipient_vat_number = [DE213473085]
// Dictionnaire des traductions // Dictionnaire des traductions
#let translations = ( #let translations = (
français: ( français: (
sender: "ÉMETTEUR", sender: "ÉMETTEUR",
recipient: "DESTINATAIRE", recipient: "DESTINATAIRE",
invoice: "FACTURE", invoice: "FACTURE",
invoice_number: "Facture :", invoice_number: "Facture :",
date: "Date :", date: "Date :",
due_date: "Échéance :",
description: "Description", description: "Description",
amount: "Montant (CHF)", amount: "Montant",
total: "Total :", total: "Total :",
vat_notice: "TVA non applicable - Prestation d'un particulier", vat_notice: "Association non soumise à la TVA selon l'Art. 10 LTVA",
payment_terms: "Cette facture est payable dans les 30 jours suivant sa réception.", payment_terms: "Cette facture est payable dans les 30 jours suivant sa réception.",
banking_info: "COORDONNÉES BANCAIRES", banking_info: "COORDONNÉES BANCAIRES",
bank: "Banque :", bank: "Banque :",
account_holder: "Titulaire :", account_holder: "Titulaire :",
account_notice: "Compte au nom d'un membre de l'association",
association_notice: "Association à but non lucratif non inscrite au registre du commerce",
), ),
deutsch: ( deutsch: (
sender: "ABSENDER", sender: "ABSENDER",
@ -23,14 +40,17 @@
invoice: "RECHNUNG", invoice: "RECHNUNG",
invoice_number: "Rechnungs-Nr.:", invoice_number: "Rechnungs-Nr.:",
date: "Datum:", date: "Datum:",
due_date: "Fälligkeitsdatum:",
description: "Beschreibung", description: "Beschreibung",
amount: "Betrag (CHF)", amount: "Betrag",
total: "Gesamtbetrag:", total: "Gesamtbetrag:",
vat_notice: "MwSt. nicht anwendbar - Dienstleistung einer Privatperson", vat_notice: "Verein nicht mehrwertsteuerpflichtig gemäß Art. 10 MWSTG",
payment_terms: "Diese Rechnung ist innerhalb von 30 Tagen nach Erhalt zu bezahlen.", payment_terms: "Diese Rechnung ist innerhalb von 30 Tagen nach Erhalt zu bezahlen.",
banking_info: "BANKVERBINDUNG", banking_info: "BANKVERBINDUNG",
bank: "Bank:", bank: "Bank:",
account_holder: "Kontoinhaber:", account_holder: "Kontoinhaber:",
account_notice: "Konto auf den Namen eines Vereinsmitglieds",
association_notice: "Gemeinnütziger Verein, nicht im Handelsregister eingetragen",
), ),
english: ( english: (
sender: "FROM", sender: "FROM",
@ -38,14 +58,17 @@
invoice: "INVOICE", invoice: "INVOICE",
invoice_number: "Invoice No.:", invoice_number: "Invoice No.:",
date: "Date:", date: "Date:",
due_date: "Due date:",
description: "Description", description: "Description",
amount: "Amount (CHF)", amount: "Amount",
total: "Total:", total: "Total:",
vat_notice: "VAT not applicable - Service provided by an individual", vat_notice: "Association not subject to VAT according to Art. 10 VAT Act",
payment_terms: "This invoice is payable within 30 days of receipt.", payment_terms: "This invoice is payable within 30 days of receipt.",
banking_info: "BANKING DETAILS", banking_info: "BANKING DETAILS",
bank: "Bank:", bank: "Bank:",
account_holder: "Account holder:", account_holder: "Account holder:",
account_notice: "Account in the name of an association member",
association_notice: "Non-profit association not registered in the commercial register",
), ),
) )
@ -59,6 +82,15 @@
#set text(font: "Arial", size: 11pt) #set text(font: "Arial", size: 11pt)
// En-tête de l'association
#align(center)[
#text(weight: "bold", size: 14pt)[Cheap Motion Pictures ]
#text(style: "italic")[#t.association_notice]
]
#v(0.5cm)
#grid( #grid(
columns: (1fr, 1fr), columns: (1fr, 1fr),
row-gutter: 0.5cm, row-gutter: 0.5cm,
@ -67,39 +99,43 @@
align(left)[ align(left)[
#text(weight: "bold", size: 14pt)[#t.sender] #text(weight: "bold", size: 14pt)[#t.sender]
#v(0.2cm) #v(0.2cm)
Szymczak Robin //Nom Prénom Cheap Motion Pictures
#v(0.1cm) #v(0.1cm)
1 rue de l'ale //Adresse rue de l'ale 1
#v(0.1cm) #v(0.1cm)
1003 Lausanne, Suisse 1003 Lausanne, Suisse
#v(0.1cm) #v(0.1cm)
Tél: +41 77 471 11 34 Tél: +41 77 471 11 34
#v(0.1cm) #v(0.1cm)
Email: robin\@cheapmo.ch Email: contact\@cheapmo.ch
], ],
// Informations du destinataire // Informations du destinataire
align(right)[ align(right)[
#text(weight: "bold", size: 14pt)[#t.recipient] #text(weight: "bold", size: 14pt)[#t.recipient]
#v(0.2cm) #v(0.2cm)
[Nom de l'Association] //nom du destinataire #recipient_name
#v(0.1cm) #v(0.1cm)
[Adresse de l'Association] //adresse #recipient_adress
#v(0.1cm) #v(0.1cm)
[Code postal] [Ville], Allemagne #recipient_postal_code #recipient_town, #recipient_country
#if recipient_vat_number != none [VAT: #recipient_vat_number] else [ ];
], ],
) )
#v(1cm) #v(0.5cm)
// Titre et informations de la facture // Titre et informations de la facture
#align(center)[ #align(center)[
#text(weight: "bold", size: 18pt)[#t.invoice] #text(weight: "bold", size: 18pt)[#t.invoice]
#v(0.3cm) #v(0.3cm)
#t.invoice_number #[NUMÉRO/ANNÉE] - #t.date #[JJ/MM/AAAA] #t.invoice_number 2025-#invoice_number - #t.date #current_date.display("[day]/[month]/[year]")
#v(0.2cm)
#t.due_date 30/03/2025
] ]
#v(1cm) #v(0.5cm)
// Tableau des prestations // Tableau des prestations
#table( #table(
@ -109,13 +145,13 @@
table.header( table.header(
//fill: rgb(245, 245, 245), //fill: rgb(245, 245, 245),
[*#t.description*], [*#t.description*],
[*#t.amount*], [*#t.amount (#currency)* ],
), ),
[[Description de la prestation ou du service]], [50.00], [Poong rental], [#amount],
[[*#t.total*]], [*50.00 CHF*], [*#t.total*], [*#amount #currency*],
) )
#v(1cm) #v(.5cm)
// Informations complémentaires // Informations complémentaires
#align(left)[ #align(left)[
@ -124,21 +160,26 @@
#t.payment_terms #t.payment_terms
] ]
#v(1cm) #v(0.5cm)
// Coordonnées bancaires // Coordonnées bancaires avec notification spéciale
#rect(
width: 100%,
inset: 10pt,
fill: rgb(249, 249, 249),
)[
#text(weight: "bold", size: 13pt)[#t.banking_info] #text(weight: "bold", size: 13pt)[#t.banking_info]
#v(0.2cm) #v(0.2cm)
#t.bank [Nom de votre banque] #t.bank Wise, Rue du Trône 100, 3rd floor, Brussels, 1050, Belgium
#v(0.1cm) #v(0.1cm)
IBAN: [Votre IBAN] IBAN: BE22905094540247
#v(0.1cm) #v(0.1cm)
BIC/SWIFT: [Code BIC/SWIFT] BIC/SWIFT: TRWIBEB1XXX
#v(0.1cm) #v(0.1cm)
#t.account_holder [Votre nom] #t.account_holder Robin Szymczak
#v(0.2cm)
#t.account_notice
// Pied de page avec contact
#align(center)[
#v(1cm)
#line(length: 100%, stroke: 0.5pt + gray)
#v(0.3cm)
Cheap Motion Pictures - 1 rue de l'ale - 1003 Lausanne - contact\@cheapmo.ch
] ]