> For the complete documentation index, see [llms.txt](https://documentatie.onfact.be/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentatie.onfact.be/onfact.nl/templates/onfact-v5/aanpassen-via-interne-code.md).

# Templates aanpassen via interne code

In onFact zijn er enkele standaard templates beschikbaar. Als je de interne code van één van deze templates wil wijzigen, wordt er een kopie gemaakt van het origineel zodat je je eigen versie kan creëren.&#x20;

De templates in onFact zijn geprogrammeerd in de programmeertalen HTML, CSS en Smarty. De code van de templates is aanpasbaar in elke onFact account en je kan deze (laten) aanpassen mits de nodige technische kennis.

{% hint style="success" %}
Je kan steeds [met ons contact opnemen](mailto:support@onfact.nl) mocht je vragen hebben of hulp wensen bij het aanpassen van je templates.&#x20;
{% endhint %}

Enkele voorbeelden van de mogelijkheden:

* Verwijderen van prijzen op de leveringsbonnen (gratis door onFact)&#x20;
* Extra bedrijfsgegevens op de documenten zetten zoals een erkenningsnummer (gratis door onFact)&#x20;
* Voettekst toevoegen (mogelijk extra kosten)&#x20;
* Een logo van een keuringsmerk onderaan de documenten toevoegen (mogelijk extra kosten)&#x20;
* De tabel op de factuur een andere opmaak geven (mogelijk extra kosten)&#x20;
* Elementen een andere positie geven (mogelijk extra kosten)&#x20;
* Een compleet andere lay-out (wellicht extra kosten)

## Opbouw template

Documenten in onFact worden dynamisch aangemaakt aan de hand van de verschillende instellingen en invoervelden. Het is daarom niet mogelijk om de lay-out op een eenvoudige manier aan te passen zoals bijvoorbeeld een Word document, de inhoud is immers voor elk document anders.&#x20;

Een template is opgebouwd uit een algemene 'Layout' die de informatie over het bedrijf bevat en eventuele headers en footers. In deze layout wordt specifieke code opgenomen die anders is voor elk 'Documenttype' in onFact. De volledige code ziet er dus steeds uit als volgt: bv. "code layout + code factuur", "code layout + code bestelbon", "code layout + inkooporder", enz.&#x20;

![](/files/-MT0qYx9mHUH58gYH_pX)

Een voorbeeld van een codestuk m.b.t. lay-out:

![](/files/-MbBUbUIO71OORQTnd8P)

Een voorbeeld van een codestuk m.b.t. documentinformatie ('Factuur'):&#x20;

![](/files/-MbBUkYUtxlnbqA43z9j)

{% hint style="info" %}
Alle HTML en CSS wordt omgezet naar een PDF-document. De omzetting kan er voor zorgen dat je document er niet voor 100% uitziet zoals het wordt weergegeven in je browser, maar het zal er erg op gelijken.
{% endhint %}

## Smarty elementen

onFact maakt gebruik van [Smarty-elementen](https://www.smarty.net/about_smarty) om velden op te nemen in de code die worden vervangen door gegevens die je bv. in onFact hebt ingevoerd (bijvoorbeeld: adresgegevens van je bedrijf).

Onderstaande stukje code zou er op een document als volgt kunnen uitzien:

GSM: 06 497 12 34 56\
<support@onfact.nl>\
[www.onfact.nl](http://www.onfact.nl)

```markup
GSM: {$company["gsm"]} 
{$company["email"]}
{$company["website"]}
```

Elk Smarty-element tussen accolades wordt vervangen door een waarde. Een Smarty-element bestaat steeds uit accolades: { en } en een dollarteken: $. Wanneer je tekst tussen accolades plaatst, herkent de applicatie dit als code die vervangen moet worden door gegevens uit jouw invoer.

{% hint style="info" %}
Let op: Smarty is hooflettergevoelig. Het element {$email} zal dus niet dezelfde waarde aannemen als {$EMAIL}.
{% endhint %}

Je kan Smarty op verschillende manieren inzetten, bv. in een volledige zin zoals je soms in een bevestigingsboodschap aantreft:&#x20;

*"Beste **{$voornaam}**, bedankt voor je aanmelding bij **{$companyname}**."*

Wanneer het document weergegeven wordt, zie je het volgende:

*"Beste **Jonas**, bedankt voor je aanmelding bij **onFact**."*


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://documentatie.onfact.be/onfact.nl/templates/onfact-v5/aanpassen-via-interne-code.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
