Zelfgehoste facturatiesoftware vergelijken
Vergelijk Invoice Ninja, InvoiceShelf, InvoicePlane, Kimai en ERPNext. Ontdek welke software het beste past bij uw VPS voor facturatie, belasting en betaalgateways.
Welke zelfgehoste facturatiesoftware moet u kiezen?
Zelfgehoste facturatiesoftware komt neer op vijf realistische keuzes op één VPS, en deze zijn onderling niet uitwisselbaar. Invoice Ninja is het meest volwaardige product: terugkerende facturen, een klantenportaal, betaalgateways en e-factuurformaten werken direct vanaf de dag van installatie. InvoiceShelf is de lichtere, volledig open-source optie. InvoicePlane is een eenvoudige PHP-applicatie zonder complexe orchestratie. Kimai factureert geregistreerde uren in plaats van losse factuurregels. ERPNext is een volledig boekhoudsysteem dat ook facturen genereert.
Twee problemen zorgen vaker voor het falen van een zelfgehoste factuuromgeving dan een ontbrekende functie. Het eerste is e-mail. Een factuur die in een spammap belandt, is een onbetaalde factuur, en u krijgt hier geen melding van. Het tweede is back-ups. Dit is de enige zelfgehoste database waarvan het verlies leidt tot een fiscaal probleem in plaats van slechts een ongemak.
Lees de licentie voordat u de lijst met functies bekijkt. Drie van deze vijf zijn copyleft, één is permissief en één is source-available met reële beperkingen op wat u ermee mag doen.
De vijf opties en voor wie ze bedoeld zijn
Invoice Ninja
Een Laravel-applicatie, momenteel in de v5-reeks. Zelf hosten is gratis en volledig ontsloten: terugkerende facturen, offertes, projecten, urenregistratie, onkosten, een klantenportaal en betalingsgateways zoals Stripe en PayPal. Het project noemt zichzelf "een source-available factuur-, offerte-, project- en urenregistratie-app gebouwd met Laravel". Het enige betaalde onderdeel is branding. In de eigen woorden van het project: "Wij bieden een white-label licentie van $40 per jaar aan om de Invoice Ninja-branding te verwijderen uit de onderdelen van de app die de klant ziet". Deze prijs is actueel per augustus 2026.
Kies voor deze optie als u het meest complete product wilt en bereid bent de grootste stack te draaien.
InvoiceShelf
Een fork van Crater, uitgebracht onder de GNU Affero General Public License versie 3 (AGPL-3.0). Het omvat facturen, schattingen, terugkerende facturatie, onkosten, belastingen, valuta-ondersteuning, een klantenportaal en ondersteuning voor meerdere bedrijven. Betalingen en white-labeling bevinden zich in afzonderlijke officiële module-repositories, beide onder AGPL-3.0 en beide gratis. Kaartbetalingen verlopen via Stripe checkout.
Kies voor deze optie als u een kleine, volledig open source applicatie wilt en geen dertig verschillende gateways nodig heeft.
InvoicePlane
Een PHP-applicatie op basis van CodeIgniter, uitgebracht onder de MIT-licentie, en de enige optie in deze lijst die u installeert door bestanden uit te pakken in een web root. Geen Docker en geen Node-buildstap. PDF's worden gegenereerd via mPDF, dus sjablonen zijn gebaseerd op HTML en CSS. Klanten ontvangen een gastlink om een factuur te bekijken en te betalen.
Het addertje onder het gras zijn de betalingen. De documentatie stelt duidelijk dat InvoicePlane 1.6 standaard alleen Stripe ondersteunt en dat andere aanbieders in die versie zijn verwijderd. De gepubliceerde vereisten voor de 1.6-reeks zijn PHP 8.0 tot 8.1 met MySQL 5.5 of de bijbehorende MariaDB. Lees de opmerkingen bij de specifieke release die u downloadt, aangezien de 1.7-reeks nog in ontwikkeling is.
Kies voor deze optie als u gebruikmaakt van shared hosting of een VPS met 512 MB geheugen.
Kimai
Een AGPL-3.0 urenregistratietool die facturen genereert op basis van urenstaten. Dit is de juiste keuze voor iedereen die uren factureert. Factuursjablonen worden geüpload als DOCX-, ODS- of XLSX-bestanden – de documentatie bevestigt dat dit de enige geaccepteerde formaten zijn – en worden vervolgens gerenderd naar PDF of HTML. U maakt uw factuur op in een tekstverwerker in plaats van CSS te schrijven, wat de meeste mensen makkelijker vinden.
Kimai heeft geen klantenportaal en geen betalingsgateway, dus u verstuurt de PDF per e-mail. Gestructureerde e-facturatie is een betaalde plugin uit de store genaamd E-Invoice Plus, geprijsd op 99 EUR exclusief btw per jaar voor een zelf-gehoste installatie per augustus 2026, met ondersteuning voor de profielen EN16931, XRechnung, ZUGFeRD, Factur-X en Peppol.
Kies voor deze optie als de factuur het resultaat is van geregistreerde uren.
ERPNext
GPL-3.0, en een andere categorie software. Een verkoopfactuur is slechts één documenttype binnen een volledig boekhoudsysteem met een grootboekrekeningschema, journaalposten, voorraadbeheer en salarisadministratie. Dit is de juiste keuze zodra facturatie niet langer uw enige taak is. Voor een freelancer met acht klanten is dit veel te zware software. Het opzetten ervan is een project op zich, dat wordt behandeld in ERPNext draaien op een VPS.
Terugkerende facturen zijn afhankelijk van een scheduler die u niet ziet
Invoice Ninja, InvoiceShelf, InvoicePlane en ERPNext genereren allemaal terugkerende facturen. Kimai heeft geen functie voor terugkerende facturen in de kern, omdat een factuur daar wordt opgebouwd uit de urenregistraties over een bepaalde periode.
Het faalscenario is bij elk op Laravel gebaseerd systeem hetzelfde en verloopt geruisloos. Terugkerende facturen worden aangemaakt door een geplande taak, php artisan schedule:run, die door iets buiten de applicatie elke minuut moet worden aangeroepen. Als niets deze taak aanroept, toont de lijst met terugkerende facturen nog steeds een volgende verzenddatum, en die datum verstrijkt simpelweg. Er verschijnt geen factuur. Er wordt geen fout gelogd, omdat er geen code is uitgevoerd.
Stel daarom, nadat u uw eerste terugkerende factuur heeft aangemaakt, de volgende verzenddatum een paar minuten in de toekomst in en wacht af. Als er niets aankomt, draait de scheduler niet. Bij een Docker-installatie betekent dit meestal dat de cron- of scheduler-service in het compose-bestand nooit is gestart, of dat deze is afgesloten.
docker compose ps
docker compose logs --tail 50Elke service in het bestand zou de status running moeten rapporteren. Een service die in de status exited staat, is de service waarvan u de logs moet lezen.
Multi-currency en belasting: wat u moet controleren voordat u beslist
Functielijsten vermelden vaak "multi-currency", maar de betekenis hiervan loopt sterk uiteen. Voer deze vier controles uit op een demo-omgeving met echte cijfers uit uw eigen bedrijfsvoering. Een fout op dit gebied wordt namelijk door uw accountant ontdekt en niet door uzelf.
- Slaat de factuur de wisselkoers op die gold op de datum van uitgifte? Dit is verplicht. Als de applicatie totalen herberekent op basis van een actuele koers, veranderen de rapportages van het vorige kwartaal telkens wanneer u ze opent. Hierdoor komen uw boeken niet meer overeen met de reeds ingediende aangiften.
- Wordt belasting toegepast per regelitem, per factuur, of beide? Een enkel belastingtarief op factuurniveau volstaat totdat er één regel met een nultarief wordt toegevoegd.
- Kunt u prijzen zowel inclusief als exclusief belasting invoeren? Achteraf omrekenen leidt tot afrondingsverschillen van een cent per regel, en die centen tellen over een jaar flink op.
- Wat toont het document voor een klant in een ander land die geen btw verschuldigd is? U heeft de vrijstellingsvermelding op de factuur nodig, niet slechts een nul in de belastingkolom.
Invoice Ninja en ERPNext ondersteunen alle vier de punten. InvoiceShelf vermeldt belastingen en multi-currency onder de functies. InvoicePlane en Kimai zijn eenvoudiger; test deze daarom met uw meest complexe factuur in plaats van de eenvoudigste.
Klantportaal en betaalgateways
Een klantportaal is een pagina waar een klant zijn facturen kan inzien, de PDF kan downloaden en kan betalen. Dit is belangrijker dan het lijkt, omdat het najagen van betalingen via e-mail meer tijd kost dan het opstellen van de factuur zelf.
Invoice Ninja is hierin het sterkst, met een volledig portaal, vele gateways, opgeslagen betaalmethoden en automatische facturering voor terugkerende facturen. InvoiceShelf beschikt over een klantportaal en voegt Stripe checkout toe via de betaalmodule. InvoicePlane geeft elke factuur een gastlink en ondersteunt Stripe. Kimai heeft geen van beide, waardoor de PDF als bijlage wordt verstuurd.
Eén punt zorgt constant voor verwarring. Het zelf hosten van de facturatieapplicatie betekent niet dat u creditcardnummers opslaat. Bij Stripe checkout wordt de klant omgeleid naar Stripe, voert daar de kaartgegevens in en uw VPS ziet het nummer nooit. Uw PCI-scope (payment card industry) blijft klein juist omdat u het betaalformulier niet zelf heeft gebouwd. Als u later meer dan één verwerker nodig heeft, of betalingen wilt routeren op basis van land, dan hoort dat thuis in een aparte laag zoals self-hosted payment orchestration with Hyperswitch.
PDF-kwaliteit en het sjabloon dat u uiteindelijk zult bewerken
U zult het sjabloon bewerken. Elke standaardinstelling hier plaatst uw adres op de verkeerde plek voor uw land.
Invoice Ninja rendert HTML- en CSS-sjablonen naar PDF met behulp van een headless Chromium die in de image is gebundeld; dit is de reden waarom de container groot is. Reserveer voldoende geheugen hiervoor: een headless browser is het zwaarste proces in de stack, waardoor een 1 GB VPS krap is. InvoicePlane gebruikt mPDF, wat pure PHP is en lichtgewicht, maar dit gaat ten koste van het negeren van sommige moderne CSS. Kimai kiest de tegenovergestelde aanpak en laat u een DOCX- of ODS-bestand uploaden, waardoor de lay-out wordt gedaan in LibreOffice of Word door iemand die nog nooit een stylesheet heeft geschreven.
Als een ontworpen factuur belangrijk voor u is en CSS niet, dan wint de aanpak van Kimai. Als u het sjabloon in versiebeheer wilt hebben en verschillen wilt kunnen zien, dan wint HTML.
Staat de licentie commercieel gebruik toe?
Alle vijf de opties staan u toe om uw eigen klanten te factureren. De verschillen worden pas relevant zodra u meer doet dan dat.
Invoice Ninja valt onder de Elastic License 2.0. Twee clausules zijn hierbij van belang.
U mag de software niet aan derden aanbieden als een gehoste of beheerde dienst, waarbij de dienst gebruikers toegang geeft tot een substantieel deel van de functies of functionaliteit van de software.
U mag de licentiesleutelfunctionaliteit in de software niet verplaatsen, wijzigen, uitschakelen of omzeilen.
Het draaien van de software voor uw eigen bedrijf is dus toegestaan, maar het aanbieden van instanties aan klanten als product niet. De tweede clausule is de reden waarom het verwijderen van de branding een licentie van $40 vereist in plaats van een aanpassing in de broncode.
InvoiceShelf, Kimai en Crater vallen onder de AGPL-3.0. Commercieel gebruik is gratis en er is geen hogere licentielaag. De verplichting staat in sectie 13: als u de code aanpast en andere mensen via een netwerk gebruik laat maken van uw aangepaste versie, moet u hen de broncode van uw wijzigingen aanbieden. Een ongewijzigde instantie valt al onder de publieke broncode van de upstream-partij, dus de meeste zelf-hosters krijgen hier nooit mee te maken.
InvoicePlane gebruikt de MIT-licentie, de minst zware verplichting in deze groep, al vermeldt de README dat de naam en het logo eigendom blijven van het project.
ERPNext valt onder de GPL-3.0. Wijzigingen die u distribueert moeten worden gedeeld, maar het privé draaien van de software brengt geen verplichtingen met zich mee.
Dit is een beschrijving van de licentietekst en geen juridisch advies.
Wordt het project nog onderhouden? Controleer het commit-logboek
Crater was jarenlang een populaire open-source applicatie voor facturatie en wordt in veel handleidingen nog steeds aanbevolen. De standaard branch heeft al 741 dagen geen commit meer ontvangen.
The data behind this chart
[
{
"label": "ERPNext",
"commit_gap": 0
},
{
"label": "Invoice Ninja",
"commit_gap": 1
},
{
"label": "Kimai",
"commit_gap": 1
},
{
"label": "InvoicePlane",
"commit_gap": 3
},
{
"label": "InvoiceShelf",
"commit_gap": 4
},
{
"label": "Crater",
"commit_gap": 741
}
]Van de 6 projecten in dat blok, hadden er vijf in de afgelopen week een commit. InvoiceShelf is de fork die het werk van Crater heeft voortgezet, onder dezelfde AGPL-3.0 licentie en met hetzelfde datamodel. Overstappen is daarom een datamigratie in plaats van een herschrijving. Installeer InvoiceShelf, niet Crater.
Installatie van elk onderdeel op een VPS
Alles behalve InvoicePlane draait het eenvoudigst onder Docker Compose. Als dit nieuw voor u is, begin dan met een eerste Docker Compose stack op een VPS en keer daarna hier terug.
Invoice Ninja levert een eigen compose-repository.
git clone https://github.com/invoiceninja/dockerfiles.git
cd dockerfiles
docker run --rm -it invoiceninja/invoiceninja php artisan key:generate --showKopieer die sleutel naar het bestand env in de repository, samen met uw echte APP_URL. Stel vervolgens het eigenaarschap in dat de image verwacht en start de container.
chmod 755 docker/app/public
sudo chown -R 1500:1500 docker/app
docker compose up -dHet eigenaarschap 1500:1500 komt overeen met de gebruiker binnen de image. Slaat u dit over, dan kan de applicatie zijn cache of gegenereerde PDF-bestanden niet schrijven. Geef in de installatiewizard db op als databasehost, omdat dit de servicenaam is op het compose-netwerk. localhost verwijst daar naar de applicatiecontainer zelf.
InvoiceShelf publiceert kant-en-klare compose-bestanden, één per database-engine.
curl -fLO https://raw.githubusercontent.com/InvoiceShelf/docker/master/docker-compose.mysql.yml
mv docker-compose.mysql.yml docker-compose.ymlOpen dat bestand voordat u het start. Elk wachtwoord daarin is een tijdelijke aanduiding; het bestand vermeldt dit zelf in de opmerkingen. APP_URL, SESSION_DOMAIN en SANCTUM_STATEFUL_DOMAINS staan standaard op localhost, en voor alle drie moet u uw echte hostnaam instellen vóór de eerste aanmelding. Start de stack daarna op.
docker compose up -dHet publiceert poort 8090 op de host en bedient 8080 binnen de container. Plaats een reverse proxy met TLS (transport layer security) ervoor voordat u er ook maar één klant naartoe stuurt.
Kimai productie compose-bestand, uit de projectdocumentatie
services:
sqldb:
image: mysql:8.3
volumes:
- mysql:/var/lib/mysql
environment:
- MYSQL_DATABASE=kimai
- MYSQL_USER=kimaiuser
- MYSQL_PASSWORD=kimaipassword
- MYSQL_ROOT_PASSWORD=changemeplease
command: --default-storage-engine innodb
restart: unless-stopped
healthcheck:
test: mysqladmin -uroot -p$$MYSQL_ROOT_PASSWORD ping -h 127.0.0.1 --silent
interval: 10s
timeout: 5s
retries: 12
start_period: 30s
kimai:
image: kimai/kimai2:stable
depends_on:
sqldb:
condition: service_healthy
restart: true
volumes:
- data:/opt/kimai/var/data
- plugins:/opt/kimai/var/plugins
ports:
- 8001:8001
environment:
- APP_SECRET=your-fantastic-long-random-and-ultra-secure-secret
- TRUSTED_HOSTS=kimai.example.com
- ADMINMAIL=admin@example.com
- ADMINPASS=changemeplease
- DATABASE_URL=mysql://kimaiuser:kimaipassword@sqldb/kimai?charset=utf8mb4&serverVersion=8.3.0
restart: unless-stopped
volumes:
data:
mysql:
plugins:Stel APP_SECRET in op een lange willekeurige reeks van uzelf en TRUSTED_HOSTS op het domein dat u daadwerkelijk gaat gebruiken. ADMINMAIL en ADMINPASS maken de eerste beheerder aan bij de eerste opstart; wijzig dat wachtwoord daarna in de interface en verwijder het uit het bestand.
InvoicePlane heeft geen container. Maak eerst een lege database aan.
sudo mysql -e "CREATE DATABASE invoiceplane CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;"Download het archief van de releases-pagina van het project, pak het uit in uw webroot, kopieer ipconfig.php.example naar ipconfig.php en stel uw URL daarin in volgens de opmerkingen in dat bestand. Open vervolgens https://your-domain.example/index.php/setup en doorloop het installatieprogramma.
Waarom uw factuur in de spammap belandt
Dit is de fout die u geld kost, terwijl de applicatie vrolijk rapporteert dat de factuur is verzonden.
Verstuur factuur-e-mails niet vanaf het eigen IP-adres van de VPS. Een nieuw VPS-IP-adres heeft geen verzendhistorie en grote e-mailontvangers beschouwen een eerste bericht van een onbekend adres uit een hosting-IP-reeks standaard als verdacht. Verstuur e-mail via een SMTP (simple mail transfer protocol) relay op een domein dat u heeft geauthenticeerd. Het volledig inrichten hiervan is een apart onderwerp, en betrouwbaar e-mail versturen vanuit een zelfgehoste app behandelt de relay, de DNS-records en het testen.
Het From-adres is waar de meeste facturatie-instellingen de fout in gaan. Dit moet een domein zijn dat u beheert en dat uw relay ondertekent met DKIM (domainkeys identified mail). Het adres van de klant zelf in het From-veld plaatsen lijkt beleefd, maar verstoort de aflevering. De ontvangende server controleert namelijk of het From-domein overeenkomt met het domein dat het bericht heeft geauthenticeerd. Gmail wijst deze mismatch direct af:
550 5.7.1 Unauthenticated email from example.com is not accepted due to domain's DMARC policyHoud uw eigen adres in het From-veld en plaats de klant in Reply-To. Controleer uw gepubliceerde records voordat u daadwerkelijk iets verstuurt.
dig +short TXT example.com
dig +short TXT _dmarc.example.com
dig +short TXT selector1._domainkey.example.comDe eerste opdracht hoort een SPF (sender policy framework) record terug te geven waarin uw relay wordt genoemd. De tweede hoort een DMARC (domain-based message authentication, reporting and conformance) beleid terug te geven. De derde is afhankelijk van de selector die uw relay aan u heeft verstrekt; een leeg antwoord betekent dat het DKIM-record ontbreekt of onder de verkeerde naam is gepubliceerd, waardoor elk bericht dat u verstuurt faalt bij de handtekeningcontrole.
Verstuur vervolgens een echte factuur naar een account dat u bezit bij een grote provider en lees de ruwe headers. dkim=pass en spf=pass in de Authentication-Results header zijn het enige bewijs dat telt. De "verzonden"-status van de applicatie zelf betekent alleen dat het bericht is overgedragen aan de relay.
Back-ups: de enige database die u niet mag verliezen
Het verlies van een mediaserver betekent dat u bestanden opnieuw moet downloaden. Het verlies van uw facturatiedatabase betekent dat u niet kunt aantonen wat u heeft gefactureerd, wat u heeft ontvangen of wat u nog tegoed heeft. Behandel dit dienovereenkomstig.
Maak back-ups van vier zaken. De database. Het opslagvolume, dat logo's, gegenereerde PDF's en onkostennota's bevat. Het environment-bestand van de applicatie. En de gegenereerde PDF's die als gewone bestanden worden bewaard, omdat een PDF over tien jaar nog steeds opent zonder de applicatie die deze heeft geproduceerd.
Het environment-bestand is belangrijker dan men vaak denkt. Laravel versleutelt gevoelige opgeslagen waarden, waaronder inloggegevens voor betaalproviders, met behulp van de APP_KEY in dat bestand. Herstelt u de database naast een vers gegenereerde sleutel, dan kunnen deze waarden niet worden ontsleuteld. Uw facturen zijn dan wel aanwezig, maar uw instellingen voor de betaalprovider zijn onleesbaar.
Een dump van de InvoiceShelf-stack ziet er als volgt uit. De databaseservice draait mariadb:10, dus de tool in de container is mariadb-dump.
docker compose exec -T database mariadb-dump \
--user=root --password=YOUR_ROOT_PASSWORD \
--single-transaction --databases invoiceshelf > invoiceshelf.sql--single-transaction maakt een consistente snapshot van de InnoDB-tabellen zonder deze te vergrendelen, zodat de applicatie beschikbaar blijft terwijl de dump draait. -T voorkomt dat Docker een terminal toewijst; dit zou anders de omgeleide uitvoer beschadigen en resulteren in een dumpbestand dat niet kan worden geïmporteerd.
Verstuur dit volgens een schema vanaf de server met versleutelde restic-back-ups naar externe opslag, en stel de bewaartermijn lang genoeg in om de periode te dekken die uw accountant voorschrijft.
Herstel de back-up vervolgens. Plaats de dump in een tijdelijke container, log in en open de factuur van vorige maand. Totdat u dit eenmaal heeft gedaan, weet u niet of de back-up werkt.
Waar uw accountant om zal vragen
Neem geen belastingadvies aan van een handleiding. Wat hieronder volgt, is wat deze software kan genereren, zodat u de lijst kunt meenemen naar uw adviseur.
Exporteerbare gegevens. U moet uw facturen en betalingen vanuit de interface naar CSV kunnen exporteren, zonder databaseclient en zonder een supportticket te openen. Een SQL-dump is een back-up, geen export, omdat uw accountant deze niet kan openen.
Onveranderlijke nummering. Factuurnummers moeten opeenvolgend zijn en mogen nooit worden hergebruikt, zonder hiaten. Het verwijderen van een factuur laat een gat achter dat vervolgens moet worden verklaard. Annuleer of crediteer in plaats daarvan, wat elke applicatie hier ondersteunt. Of sluitende nummering voor u verplicht is, hangt af van waar u bent geregistreerd; het is de moeite waard dit vroegtijdig te vragen.
Bewaartermijn. Bewaar de database-dumps en de gegenereerde PDF's zo lang als uw regels vereisen. De PDF is het document dat daadwerkelijk is verzonden en dat is het bewijsstuk dat telt als een factuur ooit wordt betwist.
Een wijzigingsgeschiedenis. Het kunnen aantonen wie een factuur heeft bewerkt en wanneer is waardevol, en dit verschilt het meest tussen deze applicaties. Invoice Ninja houdt per record een activiteitenlogboek bij.
Gestructureerde e-facturatie is in delen van de EU een echte vereiste geworden in plaats van een leuke extra. Invoice Ninja genereert de gangbare formaten, waaronder ZUGFeRD en XRechnung, Facturae, FatturaPA en de generieke EN16931. Aflevering via het Peppol-netwerk vanuit een zelfgehoste instantie verloopt via het eigen toegangspunt van Invoice Ninja: u registreert uw entiteit bij hen en koopt credits per verzending, dus het is een betaalde dienst per augustus 2026. Kimai bereikt dezelfde formaten via zijn betaalde plug-in. De andere drie produceren vandaag de dag helemaal geen gestructureerde e-facturen, wat de belangrijkste reden is om voor Invoice Ninja te kiezen als u binnen de EU factureert.
FAQ
Moet ik Crater of InvoiceShelf installeren?
InvoiceShelf. De standaard branch van Crater heeft op 21 augustus 2026 al 741 dagen geen commit meer ontvangen en de eigen issue tracker verwijst gebruikers door naar de fork. InvoiceShelf hanteert dezelfde AGPL-3.0 licentie en hetzelfde datamodel, waardoor overstappen tussen beide systemen neerkomt op een databasemigratie in plaats van een volledige herschrijving. Elke handleiding die nog Crater aanbeveelt, is geschreven voordat het project inactief werd.
Kan ik Invoice Ninja voor mijn eigen bedrijf gebruiken zonder te betalen?
Ja. De zelfgehoste versie van Invoice Ninja is volledig functioneel zonder kosten onder de Elastic License 2.0, inclusief terugkerende facturen, het klantportaal en betalingsgateways. Twee zaken kosten geld. Het verwijderen van de Invoice Ninja-branding van pagina's die klanten zien, vereist de white-label licentie, "$40 per jaar" volgens de eigen woorden van het project per augustus 2026. Het versturen van e-facturen via het Peppol-netwerk wordt afzonderlijk afgerekend. Wat de licentie verbiedt, is het aanbieden van de software als een gehoste dienst voor derden.
Waarom belanden mijn factuur-e-mails in de spammap?
Dit komt bijna altijd doordat het bericht niet is geauthenticeerd voor het domein in het From-adres. Verstuur e-mail via een SMTP-relay in plaats van direct vanaf de VPS, publiceer vervolgens SPF- en DMARC-records voor uw domein en voeg het DKIM-record toe onder de selector die uw relay verstrekt. Houd uw eigen adres in het From-veld en plaats de klant in het Reply-To-veld. Het instellen van het adres van de klant als afzender zorgt ervoor dat Gmail het bericht weigert met 550 5.7.1 Unauthenticated email from example.com is not accepted due to domain's DMARC policy. Bevestig de oplossing door dkim=pass en spf=pass te controleren in de Authentication-Results header van een testbericht.
Welke moet ik kiezen als ik per uur factureer?
Kimai. Het is in de eerste plaats een urenregistratietool, dus de factuur wordt gegenereerd op basis van goedgekeurde urenregistraties en de factuurregels zijn het werk dat u heeft gelogd. Sjablonen zijn DOCX-, ODS- of XLSX-bestanden die u ontwerpt in een tekstverwerker, wat eenvoudiger is dan het bewerken van CSS. Het nadeel is dat Kimai geen klantportaal en geen betalingsgateway heeft, dus u e-mailt de PDF en ontvangt betaling via overboeking. Invoice Ninja houdt ook tijd bij en beschikt wel over een portaal; kies daarom voor Invoice Ninja als online kaartbetalingen belangrijker voor u zijn dan gedetailleerde urenregistraties.
Wat moet ik precies back-uppen?
De database, het opslagvolume met logo's en gegenereerde PDF's, het omgevingsbestand en de gerenderde PDF's die als losse bestanden worden bewaard. Het omgevingsbestand is wat mensen vaak vergeten: Laravel-applicaties zoals Invoice Ninja en InvoiceShelf versleutelen opgeslagen inloggegevens met APP_KEY. Een database die wordt hersteld naast een nieuw gegenereerde sleutel maakt uw instellingen voor de betalingsgateway onleesbaar. Herstel de volledige set één keer naar een tijdelijke instantie en open een oude factuur; dat is de enige manier om zeker te weten dat de back-up werkt.