diff --git a/facture.typ b/facture.typ index ed48145..32250ff 100644 --- a/facture.typ +++ b/facture.typ @@ -1,21 +1,38 @@ #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 #let translations = ( français: ( + sender: "ÉMETTEUR", recipient: "DESTINATAIRE", invoice: "FACTURE", invoice_number: "Facture N° :", date: "Date :", + due_date: "Échéance :", description: "Description", - amount: "Montant (CHF)", + amount: "Montant", 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.", banking_info: "COORDONNÉES BANCAIRES", bank: "Banque :", 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: ( sender: "ABSENDER", @@ -23,14 +40,17 @@ invoice: "RECHNUNG", invoice_number: "Rechnungs-Nr.:", date: "Datum:", + due_date: "Fälligkeitsdatum:", description: "Beschreibung", - amount: "Betrag (CHF)", + amount: "Betrag", 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.", banking_info: "BANKVERBINDUNG", bank: "Bank:", account_holder: "Kontoinhaber:", + account_notice: "Konto auf den Namen eines Vereinsmitglieds", + association_notice: "Gemeinnütziger Verein, nicht im Handelsregister eingetragen", ), english: ( sender: "FROM", @@ -38,14 +58,17 @@ invoice: "INVOICE", invoice_number: "Invoice No.:", date: "Date:", + due_date: "Due date:", description: "Description", - amount: "Amount (CHF)", + amount: "Amount", 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.", banking_info: "BANKING DETAILS", bank: "Bank:", 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) +// 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( columns: (1fr, 1fr), row-gutter: 0.5cm, @@ -67,39 +99,43 @@ align(left)[ #text(weight: "bold", size: 14pt)[#t.sender] #v(0.2cm) - Szymczak Robin //Nom Prénom + Cheap Motion Pictures #v(0.1cm) - 1 rue de l'ale //Adresse + rue de l'ale 1 #v(0.1cm) 1003 Lausanne, Suisse #v(0.1cm) Tél: +41 77 471 11 34 #v(0.1cm) - Email: robin\@cheapmo.ch + Email: contact\@cheapmo.ch ], // Informations du destinataire align(right)[ #text(weight: "bold", size: 14pt)[#t.recipient] #v(0.2cm) - [Nom de l'Association] //nom du destinataire + #recipient_name #v(0.1cm) - [Adresse de l'Association] //adresse + #recipient_adress #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 #align(center)[ #text(weight: "bold", size: 18pt)[#t.invoice] #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 #table( @@ -109,13 +145,13 @@ table.header( //fill: rgb(245, 245, 245), [*#t.description*], - [*#t.amount*], + [*#t.amount (#currency)* ], ), - [[Description de la prestation ou du service]], [50.00], - [[*#t.total*]], [*50.00 CHF*], + [Poong rental], [#amount], + [*#t.total*], [*#amount #currency*], ) -#v(1cm) +#v(.5cm) // Informations complémentaires #align(left)[ @@ -124,21 +160,26 @@ #t.payment_terms ] -#v(1cm) +#v(0.5cm) -// Coordonnées bancaires -#rect( - width: 100%, - inset: 10pt, - fill: rgb(249, 249, 249), -)[ +// Coordonnées bancaires avec notification spéciale #text(weight: "bold", size: 13pt)[#t.banking_info] #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) - IBAN: [Votre IBAN] + IBAN: BE22905094540247 #v(0.1cm) - BIC/SWIFT: [Code BIC/SWIFT] + BIC/SWIFT: TRWIBEB1XXX #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 ] \ No newline at end of file