Offsys documentatie

Orders

Orders

Lijst

Haal de orders van de layout op.

VeldWaardeVerplichtOmschrijving
filterTekstNeeZoek orders met een filter
sortid, number, date, retour_date, status, created_at of updated_atNeeVeld waarop gesorteerd wordt. Standaard: id
directionasc of descNeeOplopend of aflopend. Standaard: asc
pageGetalNeeZie pagina's
per_pageGetalNeeZie pagina's

Voorbeeld:

curl "https://api.offsys.nl/orders?sort=date&direction=desc" \
-X GET \
-H "Authorization: 37d37675-59cd-431c-8d28-9553de7bae4d"

Resultaat:

{
"status": "success",
"orders": [
{
"number": 20260001,
"status": "offerte",
"rejected": false,
"rejected_date": "",
"rejected_reason": "",
"event": "Bruiloft",
"office": 1,
"reference": "Bruiloft Jansen",
"date": "2026-06-12 10:00:00",
"max_delivery_time": "12:00:00",
"retour_date": "2026-06-14 18:00:00",
"max_retour_time": "",
"lines": [
{
"id": "1001",
"name": "Partytent 6x3 meter",
"description": "",
"amount": "2.0",
"price": "275.00000",
"deposit": "50.00",
"discount": "25",
"vat": 21,
"total_excl": 500,
"options": null,
"variant": null
},
{
"id": "1002",
"name": "Statafel",
"description": "",
"amount": "8.0",
"price": "12.50000",
"deposit": "0.00",
"discount": "",
"vat": 21,
"total_excl": 100,
"options": null,
"variant": null
}
],
"totals": {
"amount_excl": 600,
"vat": 126,
"amount_incl": 726,
"deposit": 50,
"total": 776
},
"customer": {
"type": 2,
"id": 318,
"name": "Jansen Evenementen",
"address": "Dorpsstraat 1",
"postal": "1234 AB",
"place": "Utrecht",
"phone": "0301234567",
"email": "[email protected]",
"contact": {
"name": "Anna Jansen",
"email": "[email protected]",
"phone": "0612345678"
}
},
"location": {
"type": 3,
"name": "Boerderij De Linde",
"address": "Lindelaan 4",
"postal": "3456 CD",
"place": "Houten",
"email": "",
"phone": "",
"contact": {
"name": "",
"email": "",
"phone": ""
}
},
"internal_note": "",
"quotation_note": "",
"production_note": "",
"delivery_note": "",
"quotation_text": "",
"quotation_days": 14,
"invoice_days": 14,
"created_date": "2026-05-02 09:14:21",
"invoice_date": "",
"quotation_date": "2026-05-02 09:20:03",
"seller": "Piet de Vries",
"show_without_vat": false,
"payment_date": "",
"mailing_address": null,
"invoice_address": null,
"links": {
"document": "https://bekijk.offsys.nl/vCHDDDDDJ/teII1syhKxhM",
"preview": "https://bekijk.offsys.nl/vCHDDDDDJ/teII1syhKxhM?track=no",
"pdf": "https://bekijk.offsys.nl/vCHDDDDDJ/teII1syhKxhM/print",
"download": "https://bekijk.offsys.nl/vCHDDDDDJ/teII1syhKxhM/download"
}
}
],
"meta": {
"total": 1,
"per_page": 100,
"current_page": 1,
"last_page": 1
}
}
VeldOmschrijving
numberOrdernummer
statusaanvraag, offerte, bevestigd, factuur of opdracht
rejectedtrue als de aanvraag of offerte is afgewezen. Het moment en de reden staan in rejected_date en rejected_reason
dateLeverdatum
retour_dateRetourdatum, leeg als die niet bekend is
linesDe orderregels. total_excl is het bedrag van de regel na korting, zonder btw. Bij een tekstregel is id gelijk aan TEKST en total_excl leeg
totalsamount_excl is het totaal zonder btw, amount_incl het totaal met btw, deposit de borg en total het totaal met btw en borg
customertype 1 is een eenmalige klant, type 2 een klant uit Offsys
locationWaar geleverd wordt, zie Locatie
mailing_address, invoice_addressEen afwijkend post- of factuuradres, of null als er geen is
payment_dateDatum van betaling
linksLinks naar de offerte of factuur

Links

VeldOmschrijving
documentDe offerte of factuur voor de klant. Openen telt als bekeken
previewDezelfde pagina, maar openen telt niet als bekeken
pdfPDF in de browser
downloadPDF om te downloaden

Detail

Haal één order op met het ordernummer.


Voorbeeld:

curl "https://api.offsys.nl/order/20260001" \
-X GET \
-H "Authorization: 37d37675-59cd-431c-8d28-9553de7bae4d"

Resultaat:

{
"status": "success",
"order": { ... }
}

De order heeft dezelfde velden als bij Lijst.


Aanmaken

Zet een nieuwe aanvraag, offerte of factuur in Offsys.

VeldWaardeVerplichtOmschrijving
dateDatumJaLeverdatum, met of zonder tijd
max_delivery_timeTijdNeeUiterlijke levertijd, bijvoorbeeld 12:00
retour_dateDatumNeeRetourdatum, met of zonder tijd
max_retour_timeTijdNeeUiterlijke retourtijd
statusaanvraag, offerte of factuurNeeStandaard: aanvraag. Gebruikt je account ook bevestigd of opdracht, dan kun je die ook meegeven
officeGetalNeeId van de vestiging
referenceTekstNeeReferentie. Standaard: Via website
eventBruiloft, Geboorte, Verjaardag, Jubileum, Uitvaart, Open dag, Bedrijfsopening, Bedrijfsfeest, Zakelijk Event, Vergadering, Beurs, Overig, Doorlevering, Vergaderen, Trouwen, Feesten of AfscheidNeeSoort evenement. Standaard: Overig
peopleGetalNeeAantal personen
aangevraagdviawebsite, telefoon, email, winkelbezoek, beurs, locatie, mond-tot-mond, zelf-benaderd, google of onbekendNeeHoe de aanvraag binnenkwam. Standaard: website
informationTekstNeeInterne notitie
quotation_noteTekstNeeOpmerking op de offerte
production_noteTekstNeeOpmerking voor de productie
delivery_noteTekstNeeOpmerking voor de aflevering
quotation_textTekstNeeTekst bovenaan de offerte
quotation_daysGetalNeeHoeveel dagen de offerte geldig is. Standaard: 14
invoice_daysGetalNeeBetaaltermijn van de factuur in dagen. Standaard: 14
sellerGetalNeeId van de verkoper
show_without_vat1 of 0NeeBedragen op de offerte zonder btw tonen
payment_methodoverboeking, iDEAL, verrekening, pin of kasNeeBetaalwijze
payment_dateDatumNeeDatum van betaling
customerJaDe klant, zie hieronder
locationNeeWaar geleverd wordt, zie hieronder
mailing_addressNeeAfwijkend postadres, zie hieronder
invoice_addressNeeAfwijkend factuuradres, zie hieronder
linesJaDe orderregels, zie hieronder

Klant

Met customer[type] geef je aan wat voor klant het is.

TypeOmschrijving
1Eenmalige klant
2Bestaande klant. Geef het id mee
3Nieuwe klant. Bestaat er al een klant met deze naam, dan wordt die gebruikt
VeldWaardeVerplichtOmschrijving
type1, 2 of 3Ja
idGetalBij type 2Id van de klant
nameTekstBij type 1 en 3Naam
addressTekstNeeAdres
postalTekstNeePostcode
placeTekstNeePlaats
phoneTekstNeeTelefoonnummer
emailTekstNeeE-mailadres
isCompany1 of 0NeeAlleen bij type 3: of de klant een bedrijf is
contact[name]TekstNeeAlleen bij type 3: naam van de contactpersoon. Bestaat die al bij de klant, dan wordt die gebruikt
contact[email]TekstNeeE-mailadres van de contactpersoon
contact[phone]TekstNeeTelefoonnummer van de contactpersoon

Locatie

Met location[type] geef je aan waar geleverd wordt.

TypeOmschrijving
1De klant komt afhalen
2Het adres van de klant
3Een los adres, met name, address, postal, place, email en phone
4Een bekende locatie. Geef het id mee

Post- en factuuradres

Heeft de order een ander post- of factuuradres dan de klant, stuur dan mailing_address of invoice_address mee. Stuur je ze niet mee bij een klant van type 2 of 3, dan gebruikt Offsys het post- en factuuradres dat bij de klant is ingesteld.

VeldWaardeVerplichtOmschrijving
nameTekstJaNaam
addressTekstNeeAdres
postalTekstNeePostcode
placeTekstNeePlaats
countryTekstNeeLand
contactTekstNeeContactpersoon
emailTekstNeeE-mailadres

Orderregels

Stuur de regels mee als lines[0], lines[1] enzovoort. Velden die je niet meestuurt krijgen de waarde van het product.

VeldWaardeVerplichtOmschrijving
idTekstJaHet productnummer (het id bij producten), of TEKST voor een regel met alleen tekst
nameTekstNeeNaam. Verplicht bij een tekstregel
descriptionTekstNeeOmschrijving
amountGetalNeeAantal. Standaard: 1
priceBedragNeePrijs per stuk zonder btw. Zie hieronder
discountTekstNeeKorting per stuk, als bedrag (5) of percentage (10%). Standaard: geen korting
depositBedragNeeBorg voor deze regel
vatGetalNeeBtw-percentage
variantGetalNeeId van de variant van het product
optionsLijstNeeGekozen waarden van de productoptie, in de volgorde van de labels. Bijvoorbeeld lines[0][options][0]=Wit

Prijs van een orderregel

Stuur je geen price mee, dan bepaalt Offsys de prijs:

  • Heeft het product een vaste prijs (pricing_method is fixed), dan is dat de prijs van het product of van de gekozen variant.
  • Heeft het product een prijs per periode (pricing_method is period), dan rekent Offsys de prijs uit met de staffel, van de leverdatum tot de retourdatum. Zonder retourdatum rekent Offsys met één dag.

Voorbeeld:

curl "https://api.offsys.nl/order" \
-X POST \
-H "Authorization: 37d37675-59cd-431c-8d28-9553de7bae4d" \
-d "date=2026-06-12 10:00" \
-d "retour_date=2026-06-14 18:00" \
-d "event=Bruiloft" \
-d "customer[type]=1" \
-d "customer[name]=Jan Jansen" \
-d "customer[email][email protected]" \
-d "location[type]=3" \
-d "location[name]=Boerderij De Linde" \
-d "location[address]=Lindelaan 4" \
-d "location[postal]=3456 CD" \
-d "location[place]=Houten" \
-d "lines[0][id]=1001" \
-d "lines[0][amount]=2" \
-d "lines[1][id]=1002" \
-d "lines[1][amount]=8"

Resultaat:

De volledige order, met dezelfde velden als bij Lijst.

{
"status": "success",
"order": {
"number": 20260002,
"status": "aanvraag",
...
}
}

Wijzigen

Wijzig een bestaande order. Alleen de velden die je meestuurt veranderen. Je kunt dezelfde velden gebruiken als bij Aanmaken.

Stuur je lines mee, dan vervangen die alle bestaande regels. Zonder lines blijven de regels en prijzen zoals ze zijn, ook als je de datums wijzigt.

Daarnaast kun je een aanvraag of offerte afwijzen:

VeldWaardeVerplichtOmschrijving
rejection_dateDatumNeeDatum van afwijzen. Werkt alleen bij een aanvraag of offerte. Stuur een lege waarde mee om het afwijzen ongedaan te maken
rejection_reasonTekstNeeReden van afwijzen

Voorbeeld:

curl "https://api.offsys.nl/order/20260001" \
-X PUT \
-H "Authorization: 37d37675-59cd-431c-8d28-9553de7bae4d" \
-d "status=factuur" \
-d "payment_method=iDEAL"

Resultaat:

De gewijzigde order, met dezelfde velden als bij Lijst.


Mailen

Mail de offerte of factuur naar de klant, met de mailinstellingen van je account.

VeldWaardeVerplichtOmschrijving
toLijst met e-mailadressenNeeOntvangers. Standaard dezelfde ontvangers als in Offsys
subjectTekstNeeOnderwerp. Standaard het onderwerp uit de layout
messageTekstNeeTekst van de mail, HTML mag. Standaard de tekst uit de layout
attach_pdf1 of 0NeeDe offerte of factuur als PDF meesturen. Standaard: 0

In subject en message kun je deze variabelen gebruiken:

VariabeleWordtOnderwerpTekst
{id}OrdernummerJaJa
{leverdatum}Leverdatum, bijvoorbeeld 12-06-2026JaJa
{leverdag}Dag van de levering, bijvoorbeeld vrijdagJaJa
{vervaldatum}Vervaldatum van de offerte of factuurJaJa
{bedrijfsnaam}Naam uit de layoutJaJa
{offertelink}Link naar de offerte of factuur (links.document)NeeJa
{factuurbedrag}Totaalbedrag met btw en borgNeeJa
{factuurgegevens}Bijvoorbeeld "Offerte 20260001"NeeJa
{klant_bedrijfsnaam}Naam van de klantNeeJa
{klant_contactpersoon}Naam van de contactpersoonNeeJa
{gebruikersnaam}Naam van de verkoper van de orderNeeJa
{adres}, {postcode}, {plaats}, {email}, {telefoon}, {website}Gegevens uit de layoutNeeJa

Na het versturen wordt de order als gemaild gemarkeerd.


Voorbeeld:

curl "https://api.offsys.nl/order/20260001/mail" \
-X POST \
-H "Authorization: 37d37675-59cd-431c-8d28-9553de7bae4d" \
-d "attach_pdf=1"

Resultaat:

{
"status": "success",
"message": null,
"sent_to": [
],
"failed": [],
"subject": "Offerte 20260001 Verhuur De Vries",
"body": "Beste Anna Jansen, ..."
}

Heeft de order geen standaardontvanger, dan krijg je code 422 en moet je to meesturen. Mislukt het versturen naar een of meer ontvangers, dan krijg je code 502. In sent_to en failed staat wie de mail wel en niet heeft gekregen.