Met de SFTP-integratie kunnen gebruikers elk bestand (zoals JSON of XML) uploaden als sjabloon, dat vervolgens kan worden gebruikt om facturen te genereren. Deze functie maakt gebruik van de Twig-sjabloonengine om dynamisch factuurgegevens in het geüploade sjabloon in te voegen, wat resulteert in een aangepaste uitvoer die kan worden gebruikt in verschillende factureringssystemen.
Hoe Het Werkt
Wanneer een factuur wordt gegenereerd, accepteert het systeem een sjabloonbestand (in JSON, XML of een ander formaat) en vult het met gegevens van de factuur met behulp van Twig. Het ingevulde sjabloon wordt vervolgens gerenderd tot een eindbestand dat kan worden geëxporteerd of via SFTP naar een factureringssysteem kan worden verzonden.
Variabelen
Hier zijn de beschikbare variabelen in het Twig-sjabloon en wat ze vertegenwoordigen:
Carbon Datumformaten
now
: De huidige datum inY-m-d
formaat (bijv.2024-08-13
).year
: Het huidige jaar (bijv.2024
).now_plus_14_days
: De datum over 14 dagen inY-m-d
formaat.
Gegevens van de Fulfilment Klant (fulfilmentclient
)
debtor_id
: Het debiteurnummer dat is gekoppeld aan de fulfilment klant.name
: De naam van de fulfilment klant.contact_name
: De naam van de contactpersoon bij de fulfilment klant.contact_email
: Het e-mailadres van de contactpersoon bij de fulfilment klant.vatin
: Het btw-identificatienummer van de fulfilment klant.iban
: Het IBAN-nummer dat is gekoppeld aan de fulfilment klant.chamber_of_commerce_registration
: Het KvK-nummer van de fulfilment klant.
Adres (fulfilmentclient.address
)
company_name
: De bedrijfsnaam van de fulfilment klant.fullname
: De volledige naam van de contactpersoon.address_line_1
: De eerste regel van het adres.address_line_2
: De tweede regel van het adres (indien van toepassing).postal_code
: De postcode van het adres.city
: De stad van het adres.country
: De landcode (ISO 3166-1 alpha-2) van het adres.
Factuurgegevens (invoice
)
reference
: Het referentienummer van de factuur.created_at
: De aanmaakdatum van de factuur.closed_at
: De afsluitdatum van de factuur.total_amount
: Het totale bedrag van de factuur.tax_total
: Het totale belastingbedrag van de factuur.currency
: De valuta van de factuur (standaard EUR).lines
: Een array van de factuurregels. Elke regel bevat:description
: Een beschrijving van de factuurregel.unit_price
: De eenheidsprijs van het artikel.quantity
: De hoeveelheid van het artikel.subtotal
: Het subtotaalbedrag voor het artikel (exclusief belasting).total
: Het totaalbedrag voor het artikel (inclusief belasting).tax
: Het toegepaste belastingtarief voor het artikel.tax_total
: Het totale belastingbedrag voor het artikel.
Hoe Twig Te Gebruiken in Je Sjabloon
Twig is een krachtige sjabloonengine waarmee je variabelen dynamisch in je sjablonen kunt invoegen. Hier is een eenvoudig voorbeeld van hoe je Twig kunt gebruiken met de beschikbare variabelen:
<invoice>
<date>{{ now }}</date>
<reference>{{ invoice.reference }}</reference>
<client>
<name>{{ fulfilmentclient.name }}</name>
<contact>{{ fulfilmentclient.contact_name }}</contact>
<email>{{ fulfilmentclient.contact_email }}</email>
</client>
<lines>
{% for line in invoice.lines %}
<line>
<description>{{ line.description }}</description>
<quantity>{{ line.quantity }}</quantity>
<unit_price>{{ line.unit_price }}</unit_price>
<subtotal>{{ line.subtotal }}</subtotal>
<tax>{{ line.tax }}</tax>
<total>{{ line.total }}</total>
</line>
{% endfor %}
</lines>
<total>{{ invoice.total_amount }}</total>
</invoice>
Voorbeeldsjablonen
JSON-sjabloon Voorbeeld
Hier is een voorbeeld van een JSON-sjabloon:
{
"invoice_date": "{{ now }}",
"invoice_reference": "{{ invoice.reference }}",
"client": {
"name": "{{ fulfilmentclient.name }}",
"contact_name": "{{ fulfilmentclient.contact_name }}",
"contact_email": "{{ fulfilmentclient.contact_email }}"
},
"lines": [
{% for line in invoice.lines %}
{
"description": "{{ line.description }}",
"quantity": "{{ line.quantity }}",
"unit_price": "{{ line.unit_price }}",
"subtotal": "{{ line.subtotal }}",
"tax": "{{ line.tax }}",
"total": "{{ line.total }}"
}{% if not loop.last %},{% endif %}
{% endfor %}
],
"total_amount": "{{ invoice.total_amount }}"
}
XML-sjabloon Voorbeeld
Hier is een voorbeeld van een XML-sjabloon:
<invoice>
<date>{{ now }}</date>
<reference>{{ invoice.reference }}</reference>
<client>
<name>{{ fulfilmentclient.name }}</name>
<contact_name>{{ fulfilmentclient.contact_name }}</contact_name>
<contact_email>{{ fulfilmentclient.contact_email }}</contact_email>
</client>
<lines>
{% for line in invoice.lines %}
<line>
<description>{{ line.description }}</description>
<quantity>{{ line.quantity }}</quantity>
<unit_price>{{ line.unit_price }}</unit_price>
<subtotal>{{ line.subtotal }}</subtotal>
<tax>{{ line.tax }}</tax>
<total>{{ line.total }}</total>
</line>
{% endfor %}
</lines>
<total>{{ invoice.total_amount }}</total>
</invoice>