{"id":3241,"date":"2020-11-18T12:48:24","date_gmt":"2020-11-18T11:48:24","guid":{"rendered":"https:\/\/eenvoudigfactureren.be\/info\/?page_id=3241"},"modified":"2024-11-05T10:53:22","modified_gmt":"2024-11-05T09:53:22","slug":"keeping","status":"publish","type":"page","link":"https:\/\/eenvoudigfactureren.be\/info\/tools\/keeping\/","title":{"rendered":"Importeren vanuit Keeping"},"content":{"rendered":"<div class=\"wrap-container60 border-bottom reading-text\"><div class=\"container\">\r\n\t<p>Aanmaken van facturen vanuit een Keeping export bestand (xlsx). Gelieve aan te melden op uw account alvorens het bestand op te laden.<\/p>\r\n\r\n\t<form onsubmit=\"importFile(); return false;\">\r\n\t\t<input type=\"file\" name=\"importfile\" id=\"importfile\" value=\"\" placeholder=\"Te importeren bestand\"\/>\r\n\t\t<br\/>\r\n\t\t<button type=\"button\" onclick=\"importFile();\">Importeren<\/button>\r\n\t<\/form>\r\n\r\n<\/div><\/div>\r\n\r\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/xlsx\/0.8.0\/jszip.js\"><\/script>\r\n<script src=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/xlsx\/0.8.0\/xlsx.js\"><\/script>\r\n\r\n<script type=\"application\/javascript\">\r\n\r\nfunction validateSheetContent(roa) {\r\n    if (roa.length) {\r\n    \tif (roa[3][0] === 'Datum' && roa[3][1] === 'Begonnen om' && roa[3][2] === 'Gestopt om' && roa[3][3] === 'Uren' && roa[3][4] === 'Naam' && roa[3][7] === 'Projectcode' && roa[3][9] === 'Klantcode') {\r\n    \t\treturn true;\r\n    \t} else {\r\n    \t\talert('content file invalid');\r\n    \t}\r\n    } else {\r\n    \talert('invalid file');\r\n    }\r\n\r\n    console.log(roa);\r\n\treturn false;\r\n}\r\n\r\nfunction convertContentToList(roa) {\r\n\tvar list = [];\r\n\tvar i;\r\n\tfor (i = 4; i < roa.length; i++) {\r\n\t\tlist.push({\r\n\t\t\tdate: roa[i][0],\r\n\t\t\tstart: roa[i][1],\r\n\t\t\tend: roa[i][2],\r\n\t\t\thours: roa[i][3],\r\n\t\t\tname: roa[i][4],\r\n\t\t\tproject: roa[i][7],\r\n\t\t\tclient: roa[i][9],\r\n\t\t});\r\n\t} \r\n\treturn list;\r\n}\r\n\r\nfunction groupByClientAndProject(list) {\r\n\tvar grouped = [];\r\n\r\n\tvar i;\r\n\tfor (i = 0; i < list.length; i++) {\r\n\t\tvar item = list[i];\r\n\r\n\t\tif (!grouped[item.client]) {\r\n\t\t\tgrouped[item.client] = {\r\n\t\t\t\tclient: item.client,\r\n\t\t\t\tprojects: []\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (!grouped[item.client].projects[item.project]) {\r\n\t\t\tgrouped[item.client].projects[item.project] = [];\r\n\t\t}\r\n\t\tgrouped[item.client].projects[item.project].push(item);\r\n\t}\r\n\r\n\r\n\tgrouped_array = [];\r\n\tfor (var clientcode in grouped) {\r\n\t\tvar client = grouped[clientcode];\r\n\t    \r\n\t    var projects = [];\r\n\t    for (var project in client.projects) {\r\n\t    \tprojects.push({\r\n\t    \t\tproject: project,\r\n\t    \t\titems: client.projects[project]\r\n\t    \t});\r\n\t    }\r\n\t    client.projects = projects;\r\n\r\n\t    grouped_array.push(client);\r\n\t}\r\n\r\n\tconsole.log(grouped_array);\r\n\treturn grouped_array;\r\n}\r\n\r\nfunction fetchClientId(clientNumber) {\r\n\tvar promise = new Promise((resolve, reject) => {\r\n\t\tvar xhr = new XMLHttpRequest();\r\n\t\txhr.onreadystatechange = function() {\r\n\t\t\tif (xhr.readyState === 4){\r\n\t\t\t\tvar clients = JSON.parse(xhr.responseText);\r\n\t\t\t\tif (clients.length == 0) {\r\n\t\t\t\t\talert('Klantcode ' + clientNumber + ' niet gevonden');\r\n\t\t\t\t} else if (clients.length > 1) {\r\n\t\t\t\t\talert('Meerdere klanten voor klantcode ' + clientNumber);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tresolve(clients[0].client_id);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\t\txhr.open('GET', '\/api\/v1\/clients?format=json&filter=number__eq__'+clientNumber);\r\n\t\txhr.send();\r\n\t});\r\n\r\n\treturn promise;\r\n}\r\n\r\nfunction fetchStockitemId(stockitemCode) {\r\n\tvar promise = new Promise((resolve, reject) => {\r\n\t\tvar xhr = new XMLHttpRequest();\r\n\t\txhr.onreadystatechange = function() {\r\n\t\t\tif (xhr.readyState === 4){\r\n\t\t\t\tvar stockitems = JSON.parse(xhr.responseText);\r\n\t\t\t\tif (stockitems.length == 0) {\r\n\t\t\t\t\tresolve(null);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tresolve(stockitems[0].stockitem_id);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\t\txhr.open('GET', '\/api\/v1\/stockitems?format=json&filter=code__eq__'+stockitemCode);\r\n\t\txhr.send();\r\n\t});\r\n\r\n\treturn promise;\r\n}\r\n\r\nfunction fetchStockitemIds(projectCode) {\r\n\tvar promise = new Promise((resolve, reject) => {\r\n\t\tPromise.all([fetchStockitemId(projectCode), fetchStockitemId(projectCode+'-KM')]).then(function(values) {\r\n\t\t\tif (!values[0]) {\r\n\t\t\t\talert('Projectcode ' + projectCode + ' niet gevonden');\r\n\t\t\t} else {\r\n\t\t\t\tresolve(values);\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\r\n\treturn promise;\r\n}\r\n\r\nfunction addInvoiceDetailsForClient(client) {\r\n\tvar promise = new Promise((resolve, reject) => {\r\n\t\tpromiseClient = fetchClientId(client.client);\r\n\r\n\t\tvar promises = [promiseClient];\r\n\t\tvar j;\r\n\t\tfor(j=0; j<client.projects.length; j++) {\r\n\t\t\tpromises.push(fetchStockitemIds(client.projects[j].project));\r\n\t\t}\r\n\r\n\t\tPromise.all(promises).then(function(values) {\r\n\t\t\tclient.client_id = values[0];\r\n\t\t\tvar i;\r\n\t\t\tfor(i=0; i<client.projects.length; i++) {\r\n\t\t\t\tclient.projects[i].stockitem_id = values[i+1][0];\r\n\t\t\t\tclient.projects[i].transport_stockitem_id = values[i+1][1];\r\n\r\n\t\t\t\tclient.projects[i].quantity = 0;\r\n\t\t\t\tvar x;\r\n\t\t\t\tfor(x=0; x<client.projects[i].items.length; x++) {\r\n\t\t\t\t\tclient.projects[i].quantity += parseFloat(client.projects[i].items[x].hours);\r\n\t\t\t\t}\r\n\t\t\t\tclient.projects[i].quantity = client.projects[i].quantity.toFixed(2)\r\n\t\t\t\tclient.projects[i].transport_quantity = client.projects[i].items.length\r\n\t\t\t}\r\n\r\n\t\t\tresolve(client);\r\n\t\t});\r\n\t});\r\n\r\n\treturn promise;\r\n}\r\n\r\nfunction addInvoiceDetails(list) {\r\n\tvar promise = new Promise((resolve, reject) => {\r\n\t\tvar listPromises = [];\r\n\t\tvar i;\r\n\t\tfor(i=0; i<list.length; i++) {\r\n\t\t\tlistPromises.push(addInvoiceDetailsForClient(list[i]));\r\n\t\t}\r\n\r\n\t\tPromise.all(listPromises).then(function(values) {\r\n\t\t\tresolve(values);\r\n\t\t});\r\n\t});\r\n\r\n\treturn promise;\r\n}\r\n\r\nfunction createInvoice(item, invoice) {\r\n\tvar promise = new Promise((resolve, reject) => {\r\n\t\tvar xhr = new XMLHttpRequest();\r\n\t\txhr.onreadystatechange = function() {\r\n\t\t\tif (xhr.readyState === 4){\r\n\t\t\t\tvar result = JSON.parse(xhr.responseText);\r\n\t\t\t\tif (result.error) {\r\n\t\t\t\t\talert(result.error);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tresolve([item, result.invoice_id]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\t\txhr.open('POST', '\/api\/v1\/invoices?format=json', true);\r\n\t\txhr.setRequestHeader(\"Content-Type\", \"application\/json;charset=UTF-8\");\r\n\t\txhr.send(JSON.stringify(invoice));\r\n\t});\r\n\r\n\treturn promise;\r\n}\r\n\r\nfunction convertToInvoiceContent(item) {\r\n\tvar items = [];\r\n\tvar i;\r\n\tfor(i=0; i<item.projects.length; i++) {\r\n\t\titems.push({\r\n\t\t\tstockitem_id: item.projects[i].stockitem_id,\r\n\t\t\tquantity: item.projects[i].quantity\r\n\t\t});\r\n\t}\r\n\tfor(i=0; i<item.projects.length; i++) {\r\n\t\tif (item.projects[i].transport_stockitem_id) {\r\n\t\t\titems.push({\r\n\t\t\t\tstockitem_id: item.projects[i].transport_stockitem_id,\r\n\t\t\t\tquantity: item.projects[i].transport_quantity\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\treturn {\r\n\t\tclient_id: item.client_id,\r\n\t\titems: items\r\n\t};\r\n}\r\n\r\nfunction createSummary(item) {\r\n\tvar summary = \"\\n\\n%new-page%\\n\\n# \\n\\nDatum&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|Begin|Einde|Uren|Naam\\n---|---|---|---|---\\n\";\r\n\r\n\tvar i;\r\n\tfor(i=0; i<item.projects.length; i++) {\r\n\t\tvar j;\r\n\t\tfor(j=0; j<item.projects[i].items.length; j++) {\r\n\t\t\tsummary += item.projects[i].items[j].date + '|' + item.projects[i].items[j].start.substring(0, 5) + '|' + item.projects[i].items[j].end.substring(0, 5) + '|' + item.projects[i].items[j].hours + '|' + item.projects[i].items[j].name + \"\\n\";\r\n\t\t}\r\n\t}\r\n\r\n\treturn summary;\r\n}\r\n\r\nfunction addSummary(invoice_id, summary) {\r\n\tvar getPromise = new Promise((resolve, reject) => {\r\n\t\tvar xhr = new XMLHttpRequest();\r\n\t\txhr.onreadystatechange = function() {\r\n\t\t\tif (xhr.readyState === 4){\r\n\t\t\t\tvar result = JSON.parse(xhr.responseText);\r\n\t\t\t\tif (result.error) {\r\n\t\t\t\t\talert(result.error);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tresolve(result);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t};\r\n\t\txhr.open('GET', '\/api\/v1\/invoices\/'+invoice_id+'?format=json');\r\n\t\txhr.send();\r\n\t});\r\n\r\n\tvar promise = new Promise((resolve, reject) => {\r\n\t\tgetPromise.then(function(invoice) {\r\n\t\t\tvar xhr = new XMLHttpRequest();\r\n\t\t\txhr.onreadystatechange = function() {\r\n\t\t\t\tif (xhr.readyState === 4){\r\n\t\t\t\t\tvar result = JSON.parse(xhr.responseText);\r\n\t\t\t\t\tif (result.error) {\r\n\t\t\t\t\t\talert(result.error);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tresolve();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\txhr.open('POST', '\/api\/v1\/invoices\/'+invoice_id+'?format=json', true);\r\n\t\t\txhr.setRequestHeader(\"Content-Type\", \"application\/json;charset=UTF-8\");\r\n\r\n\t\t\tvar updateContent = {\r\n\t\t\t\tnote: invoice.note + summary\r\n\t\t\t};\r\n\t\t\txhr.send(JSON.stringify(updateContent));\r\n\t\t});\r\n\t});\r\n\r\n\treturn promise;\r\n}\r\n\r\nfunction createInvoices(list) {\r\n\tvar promise = new Promise((resolve, reject) => {\r\n\t\tvar promises = [];\r\n\r\n\t\tvar i;\r\n\t\tfor(i=0; i<list.length; i++) {\r\n\t\t\tvar item = list[i];\r\n\t\t\tvar content = convertToInvoiceContent(item);\r\n\t\t\t\r\n\t\t\tvar createPromise = createInvoice(item, content);\r\n\r\n\t\t\tvar updatePromise = new Promise((resolve, reject) => {\r\n\t\t\t\tcreatePromise.then(function(result) {\r\n\t\t\t\t\taddSummary(result[1], createSummary(result[0])).then(function() {\r\n\t\t\t\t\t\tresolve();\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t});\r\n\r\n\t\t\tpromises.push(updatePromise);\r\n\t\t}\r\n\r\n\t\tPromise.all(promises).then(function() {\r\n\t\t\tresolve();\r\n\t\t});\r\n\t});\r\n\r\n\treturn promise;\r\n}\r\n\r\nfunction readSheet(sheet) {\r\n    var roa = XLSX.utils.sheet_to_json(sheet, {header: 1});\r\n\r\n    if (validateSheetContent(roa)) {\r\n    \tvar list = convertContentToList(roa);\r\n    \tconsole.log(list);\r\n\r\n    \tif (list.length) {\r\n    \t\tlist = groupByClientAndProject(list);\r\n    \t\taddInvoiceDetails(list).then(function(list) {\r\n    \t\t\tconsole.log(list);\r\n    \t\t\tif (list.length == 0) {\r\n    \t\t\t\talert('Geen gegevens gevonden om toe te voegen');\r\n    \t\t\t} else if (confirm('Bent u zeker dat u ' + list.length + ' facturen wenst toe te voegen?')) {\r\n    \t\t\t\tcreateInvoices(list).then(function() {\r\n    \t\t\t\t\talert('Facturen werden succesvol aangemaakt');\r\n    \t\t\t\t});\r\n    \t\t\t}\r\n    \t\t});\r\n    \t} else {\r\n    \t\talert('nothing to add');\r\n    \t}\r\n    }\r\n}\r\n\r\nfunction importFile() {\r\n\tvar importfile = document.getElementById('importfile').files[0];\r\n\r\n    var reader = new FileReader();\r\n\r\n    reader.onload = function (e) {\r\n        var data = e.target.result;\r\n        data = new Uint8Array(data);\r\n        var workbook = XLSX.read(data, {type: 'array'});\r\n        workbook.SheetNames.forEach(function (sheetName) {\r\n        \treadSheet(workbook.Sheets[sheetName]);\r\n        });\r\n    };\r\n    reader.readAsArrayBuffer(importfile);\r\n}\r\n\r\n<\/script>","protected":false},"excerpt":{"rendered":"Aanmaken van facturen vanuit een Keeping export bestand (xlsx). Gelieve aan te melden op uw account alvorens het bestand op te laden. Importeren","protected":false},"author":1,"featured_media":0,"parent":446,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"footnotes":""},"class_list":["post-3241","page","type-page","status-publish","hentry","no-wpautop"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Importeren vanuit Keeping<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/eenvoudigfactureren.be\/info\/tools\/keeping\/\" \/>\n<meta property=\"og:locale\" content=\"nl_BE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Importeren vanuit Keeping\" \/>\n<meta property=\"og:description\" content=\"Aanmaken van facturen vanuit een Keeping export bestand (xlsx). Gelieve aan te melden op uw account alvorens het bestand op te laden. Importeren\" \/>\n<meta property=\"og:url\" content=\"https:\/\/eenvoudigfactureren.be\/info\/tools\/keeping\/\" \/>\n<meta property=\"og:site_name\" content=\"EenvoudigFactureren\" \/>\n<meta property=\"article:modified_time\" content=\"2024-11-05T09:53:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/eenvoudigfactureren.be\/info\/wp-content\/uploads\/2021\/09\/Logo-EenvoudigFactureren.png\" \/>\n\t<meta property=\"og:image:width\" content=\"500\" \/>\n\t<meta property=\"og:image:height\" content=\"222\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Geschatte leestijd\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minuut\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/eenvoudigfactureren.be\/info\/tools\/keeping\/\",\"url\":\"https:\/\/eenvoudigfactureren.be\/info\/tools\/keeping\/\",\"name\":\"Importeren vanuit Keeping\",\"isPartOf\":{\"@id\":\"https:\/\/eenvoudigfactureren.be\/info\/#website\"},\"datePublished\":\"2020-11-18T11:48:24+00:00\",\"dateModified\":\"2024-11-05T09:53:22+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/eenvoudigfactureren.be\/info\/tools\/keeping\/#breadcrumb\"},\"inLanguage\":\"nl-BE\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/eenvoudigfactureren.be\/info\/tools\/keeping\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/eenvoudigfactureren.be\/info\/tools\/keeping\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/eenvoudigfactureren.be\/info\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tools\",\"item\":\"https:\/\/eenvoudigfactureren.be\/info\/tools\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Importeren vanuit Keeping\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/eenvoudigfactureren.be\/info\/#website\",\"url\":\"https:\/\/eenvoudigfactureren.be\/info\/\",\"name\":\"EenvoudigFactureren\",\"description\":\"Online facturatie\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/eenvoudigfactureren.be\/info\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"nl-BE\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Importeren vanuit Keeping","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/eenvoudigfactureren.be\/info\/tools\/keeping\/","og_locale":"nl_BE","og_type":"article","og_title":"Importeren vanuit Keeping","og_description":"Aanmaken van facturen vanuit een Keeping export bestand (xlsx). Gelieve aan te melden op uw account alvorens het bestand op te laden. Importeren","og_url":"https:\/\/eenvoudigfactureren.be\/info\/tools\/keeping\/","og_site_name":"EenvoudigFactureren","article_modified_time":"2024-11-05T09:53:22+00:00","og_image":[{"width":500,"height":222,"url":"https:\/\/eenvoudigfactureren.be\/info\/wp-content\/uploads\/2021\/09\/Logo-EenvoudigFactureren.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Geschatte leestijd":"1 minuut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/eenvoudigfactureren.be\/info\/tools\/keeping\/","url":"https:\/\/eenvoudigfactureren.be\/info\/tools\/keeping\/","name":"Importeren vanuit Keeping","isPartOf":{"@id":"https:\/\/eenvoudigfactureren.be\/info\/#website"},"datePublished":"2020-11-18T11:48:24+00:00","dateModified":"2024-11-05T09:53:22+00:00","breadcrumb":{"@id":"https:\/\/eenvoudigfactureren.be\/info\/tools\/keeping\/#breadcrumb"},"inLanguage":"nl-BE","potentialAction":[{"@type":"ReadAction","target":["https:\/\/eenvoudigfactureren.be\/info\/tools\/keeping\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/eenvoudigfactureren.be\/info\/tools\/keeping\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/eenvoudigfactureren.be\/info\/"},{"@type":"ListItem","position":2,"name":"Tools","item":"https:\/\/eenvoudigfactureren.be\/info\/tools\/"},{"@type":"ListItem","position":3,"name":"Importeren vanuit Keeping"}]},{"@type":"WebSite","@id":"https:\/\/eenvoudigfactureren.be\/info\/#website","url":"https:\/\/eenvoudigfactureren.be\/info\/","name":"EenvoudigFactureren","description":"Online facturatie","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/eenvoudigfactureren.be\/info\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"nl-BE"}]}},"_links":{"self":[{"href":"https:\/\/eenvoudigfactureren.be\/info\/wp-json\/wp\/v2\/pages\/3241","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/eenvoudigfactureren.be\/info\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/eenvoudigfactureren.be\/info\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/eenvoudigfactureren.be\/info\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/eenvoudigfactureren.be\/info\/wp-json\/wp\/v2\/comments?post=3241"}],"version-history":[{"count":7,"href":"https:\/\/eenvoudigfactureren.be\/info\/wp-json\/wp\/v2\/pages\/3241\/revisions"}],"predecessor-version":[{"id":6641,"href":"https:\/\/eenvoudigfactureren.be\/info\/wp-json\/wp\/v2\/pages\/3241\/revisions\/6641"}],"up":[{"embeddable":true,"href":"https:\/\/eenvoudigfactureren.be\/info\/wp-json\/wp\/v2\/pages\/446"}],"wp:attachment":[{"href":"https:\/\/eenvoudigfactureren.be\/info\/wp-json\/wp\/v2\/media?parent=3241"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}