Download the PHP package mantix/eboekhouden-rest-api without Composer
On this page you can find all versions of the php package mantix/eboekhouden-rest-api. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download mantix/eboekhouden-rest-api
More information about mantix/eboekhouden-rest-api
Files in mantix/eboekhouden-rest-api
Package eboekhouden-rest-api
Short Description PHP client library for the new e-Boekhouden REST API
License MIT
Informations about the package eboekhouden-rest-api
e-Boekhouden REST API Client voor PHP
Een moderne PHP client voor de nieuwe REST API van e-Boekhouden.
Installatie
Je kunt dit package installeren via Composer:
Configuratie
API-token aanmaken
Voordat je deze package kunt gebruiken, moet je eerst een API-token aanmaken in je e-Boekhouden account:
- Log in op je e-Boekhouden account
- Ga naar Beheer > API-tokens
- Klik op "Nieuw API-token toevoegen"
- Geef het token een naam en klik op "Aanmaken"
- Sla het token goed op, want het wordt maar één keer getoond
Basis gebruik
Filters gebruiken
Gebruik de Filter class om geavanceerde filters toe te passen op je API verzoeken:
Beschikbare filters
Deze library ondersteunt alle filters die beschikbaar zijn in de API. Hieronder een overzicht:
Tekst filters
| Filter | Methode | Voorbeeld |
|---|---|---|
| Gelijk aan | Filter::eq('waarde') |
'code' => Filter::eq('REL001') |
| Niet gelijk aan | Filter::notEq('waarde') |
'type' => Filter::notEq('B') |
| Bevat | Filter::like('%waarde%') |
'name' => Filter::like('%Bedrijf%') |
| Begint met | Filter::like('waarde%') |
'name' => Filter::like('Bedrijf%') |
| Eindigt met | Filter::like('%waarde') |
'name' => Filter::like('%BV') |
| Bevat niet | Filter::notLike('%waarde%') |
'name' => Filter::notLike('%test%') |
Numerieke filters
| Filter | Methode | Voorbeeld |
|---|---|---|
| Gelijk aan | Filter::eq(123) |
'id' => Filter::eq(123) |
| Niet gelijk aan | Filter::notEq(123) |
'id' => Filter::notEq(123) |
| Groter dan | Filter::gt(123) |
'amount' => Filter::gt(100) |
| Groter dan of gelijk aan | Filter::gte(123) |
'amount' => Filter::gte(100) |
| Kleiner dan | Filter::lt(123) |
'amount' => Filter::lt(500) |
| Kleiner dan of gelijk aan | Filter::lte(123) |
'amount' => Filter::lte(500) |
| Bereik | Filter::range(min, max) |
'amount' => Filter::range(100, 500) |
Datum filters
| Filter | Methode | Voorbeeld |
|---|---|---|
| Gelijk aan | Filter::eq('2023-01-01') |
'date' => Filter::eq('2023-01-01') |
| Niet gelijk aan | Filter::notEq('2023-01-01') |
'date' => Filter::notEq('2023-01-01') |
| Na | Filter::gt('2023-01-01') |
'date' => Filter::gt('2023-01-01') |
| Op of na | Filter::gte('2023-01-01') |
'date' => Filter::gte('2023-01-01') |
| Voor | Filter::lt('2023-01-01') |
'date' => Filter::lt('2023-01-01') |
| Op of voor | Filter::lte('2023-01-01') |
'date' => Filter::lte('2023-01-01') |
| Bereik | Filter::dateRange(start, eind) |
'date' => Filter::dateRange('2023-01-01', '2023-12-31') |
Beschikbare API methodes
Sessie beheer
createSession()- Start een nieuwe sessieendSession()- Sluit de huidige sessie
Administratie
getAdministrations(int $limit = 100, int $offset = 0)- Haal alle administraties opgetLinkedAdministrations(int $limit = 100, int $offset = 0)- Haal gekoppelde administraties op
Kostenplaatsen
getCostCenters(array $params = [])- Haal kostenplaatsen op met optionele filtersgetCostCenter(int $id)- Haal een specifieke kostenplaats op
E-mail sjablonen
getEmailTemplates(int $limit = 100, int $offset = 0)- Haal email sjablonen op
Facturen
createInvoice(array $data)- Maak een nieuwe factuur aangetInvoices(array $params = [])- Haal facturen op met optionele filtersgetInvoice(int $id)- Haal een specifieke factuur op
Factuur sjablonen
getInvoiceTemplates(array $params = [])- Haal factuur sjablonen op met optionele filters
Grootboekrekeningen
getLedgers(array $params = [])- Haal grootboekrekeningen op met optionele filterscreateLedger(array $data)- Maak een nieuwe grootboekrekening aangetLedger(int $id)- Haal een specifieke grootboekrekening opupdateLedger(int $id, array $data)- Werk een bestaande grootboekrekening bijgetLedgerBalance(int $id, array $params = [])- Haal het saldo van een grootboekrekening op
Mutaties
getMutations(array $params = [])- Haal mutaties op met optionele filterscreateMutation(array $data)- Maak een nieuwe mutatie aangetMutation(int $id)- Haal een specifieke mutatie opgetOutstandingInvoices(string $credDeb, int $limit = 100, int $offset = 0)- Haal openstaande facturen op
Producten
getProducts(array $params = [])- Haal producten op met optionele filtersgetProduct(int $id)- Haal een specifiek product op
Relaties
getRelations(array $params = [])- Haal relaties op met optionele filterscreateRelation(array $data)- Maak een nieuwe relatie aangetRelation(int $id)- Haal een specifieke relatie opupdateRelation(int $id, array $data)- Werk een bestaande relatie bij
Eenheden
getUnits(array $params = [])- Haal eenheden op met optionele filters
Voorbeelden
Facturen aanmaken
Relaties aanmaken
Mutaties aanmaken
Paginering gebruiken
De meeste endpoints ondersteunen paginering met de limit en offset parameters:
Foutafhandeling
Gebruik try/catch blokken om API fouten af te handelen:
Error response verwerken
Wanneer er een fout optreedt, bevat het EBoekhoudenException object nuttige informatie:
Veelvoorkomende foutcodes
Hier zijn enkele veelvoorkomende foutcodes die je kunt tegenkomen:
Algemeen
ERR_001- Er is iets misgegaan.DATA_01- Geen content body meegestuurd.PAGE_001- Limit moet tussen 1 en 2000 liggen.PAGE_002- Offset moet groter of gelijk aan 0 zijn.
Beveiliging
SECURITY_001- Geen toegang tot de gevraagde resource.SECURITY_002- Geen administratie geopend in de huidige sessie.SECURITY_010- Niet geauthenticeerd. Controleer de Authorization header.
Relaties
REL_001- Relatietype is ongeldig (B,P).REL_002- Naam is verplicht.REL_007- IBAN is ongeldig.REL_023- E-mail is ongeldig.REL_049- Code bestaat al.
Facturen
FACT_001- Relatie ID ontbreekt.FACT_002- Relatie niet gevonden.FACT_007- Factuurnummer is te lang.FACT_011- Factuurdatum ontbreekt.FACT_018- Factuursjabloon niet gevonden.FACT_019- Factuuritems ontbreken.FACT_101- Factuurnummer is in gebruik.
Mutaties
MUT_001- Type is ongeldig.MUT_007- Onbekende grootboekrekening voor mutatie.MUT_017- In/Ex BTW moet 'IN' of 'EX' zijn.MUT_100- Regels ontbreken.
Grootboekrekeningen
LEDG_001- Code ontbreekt.LEDG_003- Omschrijving ontbreekt.LEDG_005- Categorie ontbreekt.LEDG_007- Groep ontbreekt.LEDG_011- Grootboekrekening niet gevonden.LEDG_013- Grootboekcode bestaat al.
Geavanceerd gebruik
Automatische herverbinding
Als je langlopende processen hebt waarbij de sessie kan verlopen, kun je automatische herverbinding implementeren:
Helper classes
Je kunt helper classes maken om complexe API-structuren eenvoudiger te maken:
Facturen downloaden als PDF
Je kunt de URL van de PDF-factuur ophalen en gebruiken om deze te downloaden:
Tips en best practices
Caching voor referentiedata
Cache gegevens zoals grootboeknummers en kostenplaatsen om herhaalde API-verzoeken te verminderen:
Batch-verwerking
Verwerk grote hoeveelheden gegevens in batches om binnen de API-limieten te blijven:
BTW-codes
Overzicht van beschikbare BTW-codes (Nederland):
| Code | Omschrijving | Tarief | Type |
|---|---|---|---|
| HOOG_VERK_21 | BTW 21% | 21% | Verkoop |
| LAAG_VERK_9 | BTW 9% | 9% | Verkoop |
| VERL_VERK | Verlegd 21% | 21% | Verkoop |
| LAAG_INK_9 | BTW 9% | 9% | Inkoop |
| HOOG_INK_21 | BTW 21% | 21% | Inkoop |
| VERL_INK | Verlegd 21% | 21% | Inkoop |
| GEEN | Geen BTW | 0% | - |
Mutatie types
Overzicht van beschikbare mutatie types:
| Waarde | Omschrijving |
|---|---|
| 1 | Inkoopfactuur |
| 2 | Verkoopfactuur |
| 3 | Inkoopfactuur betaling |
| 4 | Verkoopfactuur betaling |
| 5 | Geld ontvangen |
| 6 | Geld uitgegeven |
| 7 | Memoriaal boeking |
Grootboekrekening categorieën
Overzicht van grootboekrekening categorieën:
| Waarde | Omschrijving |
|---|---|
| BAL | Balans |
| VW | Winst en verlies |
| AF6 | Omzetbelasting laag tarief |
| AF19 | Omzetbelasting hoog tarief |
| DEB | Debiteuren |
| CRED | Crediteuren |
Bijdragen
Bijdragen aan dit package zijn altijd welkom! Of het nu gaat om bug reports, feature requests, of pull requests.
- Fork de repository
- Maak een feature branch (
git checkout -b feature/amazing-feature) - Commit je wijzigingen (
git commit -m 'Add some amazing feature') - Push naar de branch (
git push origin feature/amazing-feature) - Open een Pull Request
Tests
Dit package gebruikt PHPUnit voor tests. Je kunt de tests als volgt uitvoeren:
Licentie
Dit package is beschikbaar onder de MIT-licentie. Zie het LICENSE bestand voor meer informatie.