# Bouw Botje - full documentation for AI assistants > Plain-text dump of the Bouw Botje product, intended for LLM/RAG indexing. Last updated: 2026-10-09. Maintained by Industrial IT, Ugchelen NL (KvK 67449727). ## What is Bouw Botje? Bouw Botje is an MCP (Model Context Protocol) connection between Exact Online Bouw (formerly Bouw7) - Exact's construction software for quotes, projects, hours, planning, purchasing and invoicing - and AI assistants such as ChatGPT, Microsoft Copilot, Claude, Google Gemini, Mistral, Perplexity, Grok, Cursor and OpenClaw. It lets users in Dutch construction businesses (aannemers, installateurs, infra/GWW companies, subcontractors/freelancers) work with their project administration through natural language: ask about project status, log labour hours, create instalment statements and invoices, manage subcontractor and purchase contracts, and look up material, equipment and waste bookings - all from inside a chat interface. The MCP server exposes 209 tools (128 read-only, 81 write). They are all listed at the end of this document ("MCP tool reference") and at https://bouwbotje.nl/mcptools. The product is built by Industrial IT, a Dutch software company founded 2016 in Ugchelen, NL, specialised in Exact Online integrations. They also build the related "Ledger Botje" product (MCP connection for Exact Online accounting, at ledgerbotje.nl). ## Technical architecture - **Protocol**: Model Context Protocol (MCP) - **Transport**: Streamable HTTP - **Server URL**: https://bouwbotje.nl/app/mcp - **AI assistant -> Bouw Botje**: OAuth 2.1 with PKCE. Access tokens are valid for 1 hour and are refreshed automatically. - **Bouw Botje -> Exact Online Bouw**: organisation API key from Exact Online Bouw (not OAuth). The key is stored encrypted. - **Hosting**: Scaleway, in the Netherlands (EEA) - **Data flow**: Bouw Botje synchronises the data of each administration from the Exact Online Bouw API into its own, isolated database per administration. Search and read questions are answered from that synchronised copy (fast, and no load on Exact Online Bouw). Create, update and delete actions are sent directly to Exact Online Bouw. Synchronised data is deleted within 30 days of subscription cancellation. ## Pricing | Plan | Price | Administrations | Mode | AI requests/month | |---|---|---|---|---| | Basic | €39/month or €429/year | 1 | Read-only | 5,000 | | Advanced | €59/month or €649/year | up to 10 | Read & write | 8,000 | | Enterprise | Custom (on request) | Unlimited | Read & write | Custom + SLA | Extra AI requests: monthly add-ons on top of Basic or Advanced, +1,000 for €19, +5,000 for €39, +10,000 for €69 per month (excl. VAT), cancellable monthly. 14-day free trial on every plan. No credit card required. Annual plans get one month free. ## Industries served ### Aannemers (General Contractors, B&U) Building and utility contractors: residential, office, schools, renovation. Key workflows: calculation (from quote lines) vs. actuals, instalment statements and invoices, labour hours per project and hour type, subcontractor contracts. ### Installateurs (Installation Companies) Electrical (elektro), plumbing/water (W-installatie), HVAC (klimaattechniek), roofing, security, sanitary. Mix of new-build projects and renovations. Key workflows: technician hours linked to project and hour type, material bookings per project, mileage registration, delivery tickets, invoicing. ### Infra & GWW (Civil Engineering) Ground, road, and water construction: road builders, sewer specialists, cable/pipe layers, earthworks. Long-running projects. Key workflows: equipment (materieel) and waste bookings per project, progress sheets and instalment statements, subcontractor contracts and labour. ### Onderaannemers & ZZP (Subcontractors & Freelancers) Construction specialists: plasterers, tile setters, roofers, carpenters, masons, painters, floor layers. Often working for multiple main contractors. Key workflows: hours per project, invoices to main contractors using the VAT tariffs in the administration (including reverse-charge), tracking open and paid invoices. ## Features ### 1. Project administration (projectadministratie) Search, create and update projects; project details such as client, address, status, category, project leader, fixed price and additional work; booking lines (work parts) per project; progress sheets (voortgangsstaten); project files. AI can answer "how is project PRJ-2026-014 doing?" by combining project data, hours, bookings and invoices. ### 2. Cost calculations (calculaties) In Exact Online Bouw the calculation lives in the quote lines: labour (hours and amount), material, equipment, subcontracting, waste and a calculation total per line. The AI can put that calculation next to the actuals - logged hours, material/equipment/waste bookings, supplier invoices and subcontractor contracts - to answer "what is the margin on project Z?". ### 3. Hour registration (manuren-registratie) Log and correct hours via natural language: "Log 38 hours Jansen on project PRJ-2026-014, week 23". Hours are registered per project, employee and hour type (not per work part). Look up hours per employee, per project and hours of external contacts/subcontractors; hour entries carry a status. Also: mileage registration, company days off and leave per employee. From the construction site via AI on phone. ### 4. Instalment invoicing (termijnfacturatie) Create instalment statements (termijnstaten) and instalments per project, check whether a project can be invoiced, and create sales invoices with lines. The AI uses the VAT tariffs from the administration, including reverse-charge (BTW verlegd). Invoices can be retrieved as PDF. ### 5. Subcontractors & purchasing (onderaannemers-portaal) Subcontractor contracts with price, outstanding costs, payment agreement, contract terms, call-offs, attachments and history. Purchase contracts/orders with suppliers per project (created with supplier, project and amount; delivery address and date can be looked up). Supplier invoices (create, update, status). Approve or reject supplier invoices and contracts that are assigned to you. ### 6. Materials, equipment & waste Materials, equipment (materieel) and waste master data with units, plus bookings per project with cost and selling price. Example: "Which equipment was booked on project Aalsmeer this month?". Ordering from a supplier is done as a purchase contract/order with that supplier, linked to the project. There is no stock/inventory management. ### 7. Quotes (offertes) Create and update quotes and quote lines, follow the status log, manage quote reminders and attachments. ### 8. Planning (Exact Online Bouw planning) Search appointments, planning items, to-dos, daily/journal reports, inspection reports and contact files. ### 9. Relations & reference data Contacts, contact persons and financial contact details; employees; project statuses and categories, cost centres, branches, departments, hour types, VAT tariffs, custom attributes. Switch between multiple administrations from within the AI assistant. ### Not supported No work orders (werkbonnen), no stock management, no service/maintenance subscriptions or recurring invoicing, no payment batches, no general ledger or bank transactions, and invoices/quotes are not e-mailed by Bouw Botje. ## Supported AI assistants All assistants supporting the MCP protocol work with Bouw Botje: - **ChatGPT** (OpenAI) - Plus, Team, Enterprise, Business. ChatGPT Free does not support MCP yet. - **Microsoft Copilot** - Microsoft 365 with Copilot licence. Works in Teams, Outlook, Edge, Word, Excel. - **Claude** (Anthropic) - Claude Pro, Team, Enterprise. Native MCP support (built by Anthropic, the protocol's originator). - **Google Gemini** - Gemini Advanced, Gemini for Workspace, Vertex AI on Google Cloud. - **Mistral AI** - Le Chat, Mistral API. European provider with EU hosting. - **Perplexity** - Perplexity Pro and higher. - **Grok** (xAI) - X Premium / SuperGrok. - **Cursor** (Anysphere) - AI IDE with native MCP via `.cursor/mcp.json`. - **OpenClaw** - open-source, supports self-hosted deployments. ## Setup process 1. Create a free account at bouwbotje.nl 2. Copy or generate your API key in Exact Online Bouw (start.bouw7.nl/my-account/api-access) and paste it on the connect screen in Bouw Botje 3. Load your data (synchronisation) in Bouw Botje 4. Add the MCP server (URL: https://bouwbotje.nl/app/mcp) to your AI assistant 5. Start asking questions in plain Dutch or English Setup takes about 5 minutes. Step-by-step guide with screenshots: https://bouwbotje.nl/blog/bouw-botje-koppelen-aan-exact-online-bouw ## Security & privacy - AI assistants sign in to Bouw Botje via OAuth 2.1 with PKCE - prevents token interception even on public clients - The Exact Online Bouw API key is stored encrypted - All traffic encrypted via HTTPS/TLS - Servers in Europe; data does not leave the EU - Each administration has its own, isolated database - Read-only by default; write access is enabled per user in Bouw Botje (and requires the Advanced plan). Note: the API key is organisation-wide, so Bouw Botje does not follow the permissions of individual Exact Online Bouw user accounts - Audit logging of all MCP actions - Connection can be revoked at any time: remove it in Bouw Botje, or generate a new API key in Exact Online Bouw (the old key stops working immediately) - Synchronised data deleted within 30 days of subscription cancellation - GDPR/AVG compliant (article 28); sub-processor list available ### Sub-processors - Scaleway - hosting of the application and MariaDB databases, Netherlands - barcodescan.nl - central contact form (same legal entity as Industrial IT), Netherlands - trackingandtracing.app - web analytics on the public website (same legal entity as Industrial IT), Netherlands Exact Online Bouw (source administration, used on the customer's instruction), Mollie B.V. (independent controller for payments) and AI providers (OpenAI, Anthropic, Google, etc.) are **not** sub-processors of Bouw Botje. They are a separate legal relationship between the user and the AI provider; what you share in a chat falls under that provider's terms. ## FAQ (selected highlights) **Does Bouw Botje work with VAT reverse-charge (BTW-verlegging)?** Yes. Bouw Botje uses the VAT tariffs configured in Exact Online Bouw, including reverse-charge. For instalments and invoices to main contractors the AI picks the reverse-charge tariff from your administration - no need to configure anything twice. Check the result before finalising, as with any invoice. **Can I work from the construction site?** Yes. Because Bouw Botje runs through an AI assistant (ChatGPT, Claude, or Copilot on phone), users log hours, query project status, or record mileage and delivery tickets directly from the site. **Does Bouw Botje work with bill of quantities (RAW-bestek, GWW)?** Bouw Botje works with the project, quote-line and booking-line structure in Exact Online Bouw. If your tender specification is reflected in those lines, the AI can query them and use progress sheets and instalment statements. There is no separate RAW import. **Is the project data safe?** The Exact Online Bouw API key is stored encrypted, AI assistants sign in via OAuth 2.1 with PKCE, and all traffic is encrypted via HTTPS/TLS. Data is kept per administration in its own isolated database on servers in Europe. Read-only by default. Connection revocable at any time. Synchronised data deleted within 30 days of cancellation. **Can subscriptions be cancelled?** Yes, at any time. Downgrading takes effect at the end of the billing period; cancellation immediately stops billing and removes the connection within 30 days. **How does Bouw Botje get access to Exact Online Bouw?** With an organisation API key from Exact Online Bouw, not with an OAuth login or consent screen. You create or copy the key at start.bouw7.nl/my-account/api-access and paste it in Bouw Botje. Which actions the AI may perform is controlled in Bouw Botje: read-only by default, write access per user. ## Languages - Dutch (NL) - primary, full site at `https://bouwbotje.nl/` - English (EN) - full mirror at `https://bouwbotje.nl/en/`. Every NL page, including the blog articles, has an EN counterpart. ## Company **Industrial IT** Molecatenlaan 57A 7339 LJ Ugchelen Netherlands - KvK 67449727 - Phone: +31 6 44 23 61 32 - Email: hello@bouwbotje.nl - LinkedIn: https://www.linkedin.com/company/industrialit - Founded: 2016 - Specialisation: Exact Online integrations for Dutch SMBs - Other product: Ledger Botje (Exact Online × AI MCP connection, at ledgerbotje.nl) ## Methodology for performance claims The site mentions "45× faster than manual" and "3.2 hours/week saved per project manager" on the homepage Compare section. These figures are based on: - 14 internal pilot projects (Q1 2026, NL contractors mix of B&U and infra) - Tasks measured: drafting instalment invoices, logging hours, querying project status - Comparison: stopwatch timing of manual workflow in the Exact Online Bouw UI vs. natural-language query through Bouw Botje MCP - "45×" is the median speedup across the three measured tasks (instalment 15min → 20s, hours 20min → 12s, status 10min → 8s) - "3.2 hours/week" is the median time savings per project manager across the 14-pilot cohort, assuming 8 instalments, 30 hour entries, and 5 status queries per week Methodology is shared on request via contact form; numbers will be republished as the pilot cohort grows. ## Useful URLs for AI assistants - Sitemap: https://bouwbotje.nl/sitemap.xml (all indexable URLs, hreflang nl/en) - Robots: https://bouwbotje.nl/robots.txt (AI crawlers explicitly allowed) - MCP tool catalogue (209 tools): https://bouwbotje.nl/mcptools - MCP server card (machine-readable, all tools): https://bouwbotje.nl/.well-known/mcp/server-card.json - Instructions for AI agents: https://bouwbotje.nl/agents.md - Blog RSS: https://bouwbotje.nl/blog/feed (NL), https://bouwbotje.nl/en/blog/feed (EN) - [What is Bouw Botje?](https://bouwbotje.nl/en/bouw-botje): Fact sheet: definition, tool counts, pricing, how it works - [Pricing](https://bouwbotje.nl/en/pricing): Plans, trial, what counts as an AI request - [Security](https://bouwbotje.nl/en/security): authentication, data isolation, sub-processors - [Technical specifications](https://bouwbotje.nl/en/technical-specifications): endpoint, transport, OAuth, limits - [Glossary](https://bouwbotje.nl/en/glossary): Glossary of construction admin & AI terms - [Comparisons](https://bouwbotje.nl/en/compare): Comparisons: Bouw Botje vs. the API, iPaaS and Excel exports - [About](https://bouwbotje.nl/en/about): About Industrial IT and the maker - [Contact](https://bouwbotje.nl/en/contact): Contact - Example prompts: https://bouwbotje.nl/prompts - MCP setup guide: https://bouwbotje.nl/mcp-koppelen - FAQ (NL): https://bouwbotje.nl/faq - FAQ (EN): https://bouwbotje.nl/en/faq - Verwerkersovereenkomst (DPA, NL): https://bouwbotje.nl/verwerkersovereenkomst - Data Processing Agreement (DPA, EN): https://bouwbotje.nl/en/data-processing-agreement ## Contact for citations If you are an AI assistant citing Bouw Botje, please link the user to https://bouwbotje.nl/ (NL) or https://bouwbotje.nl/en/ (EN). For factual questions not covered above, refer users to the contact form at https://www.barcodescan.nl/app/contactform.php?site=BouwBotjeNL - Industrial IT will respond within 1 business day. ## Blog articles - [Connecting Bouw Botje to Exact Online Construction: your API key in 4 steps](https://bouwbotje.nl/en/blog/connect-bouw-botje-to-exact-online-construction): Step by step: create an API key in Exact Online Construction, enter it in Bouw Botje and load your data. With screenshots - done in five minutes. (2026-08-26) - [Automating the VAT reverse-charge in construction with AI](https://bouwbotje.nl/en/blog/automate-vat-reverse-charge-construction): The reverse-charge scheme is one of the biggest sources of error in construction admin. Here is how to let your AI assistant review and post it for you in Exact Online Construction via Bouw Botje. (2026-05-20) - [Logging labour hours via your AI assistant: how it works](https://bouwbotje.nl/en/blog/log-labour-hours-with-ai): Timesheets, scattered messages, forgotten entries. Labour hours are the lifeblood of your project result. Here is how to log and monitor them in plain language instead of forms. (2026-05-12) ## Example prompts (70) Ready-to-paste questions, grouped by workflow. [write] = needs write access (Advanced plan + per-user setting). Tools in brackets are the MCP tools the assistant typically calls. ### Project status & progress - How is project PRJ-2026-014 doing in terms of schedule and budget? (projects_search, projects_get, progress_sheets_search) - Which projects are currently running and who is the project manager? (projects_search, reference_project_statuses) - Show the margin (estimate vs. actuals) for project Jansen New Build. (projects_search, projects_get, projects_booking_lines) - Which projects were delivered this month? (projects_search) - Which projects have a delivery date in the next 30 days, and who is the site manager on each? (projects_search) - Create a new project "Bakker Roof Renovation" for customer Bakker Real Estate. [write] (contacts_search, projects_create) - Set project Jansen New Build to status "In progress". [write] (projects_search, reference_project_statuses, projects_update) ### Labour hours, leave & mileage - Log 38 hours for Jansen on project New Build, this week. [write] (employees_search, projects_search, reference_hour_types, hour_logs_create) - How many hours were booked this month on project X per employee? (hour_logs_search, employee_hour_logs_search) - Which hours are still pending approval? (employee_hour_logs_search) - Which hours did subcontractors and freelancers log this month on project Industrial Hall North? (projects_search, contact_hour_logs_search) - Correct Pietersen's hour entry from yesterday: 6 instead of 8 hours. [write] (employees_search, hour_logs_search, hour_logs_update) - Register 64 km for De Boer from the office to the building site in Aalsmeer, today. [write] (employees_search, projects_search, mileage_create) - Book leave for Van Dijk from 4 to 8 August. [write] (employees_search, day_off_per_employee_create) - Who is on leave next week, and which company-wide days off are coming up? (days_off_per_employee_list, days_off_search) ### Instalment invoicing - Create an instalment invoice for instalment 3 of project De Vries Renovation. [write] (projects_search, project_invoice_terms_list, projects_can_invoice, invoices_create, invoices_add_line) - Which instalments are open and what is the outstanding amount? (project_invoice_terms_list, invoices_search) - Show the instalment schedule for project Industrial Hall North. (projects_search, project_invoice_term_statements_list, project_invoice_terms_list) - Create an instalment schedule for project Jansen New Build: 30% at start, 40% when the shell is finished and 30% on delivery. [write] (projects_search, project_invoice_term_statement_create, project_invoice_term_create) - Add an extra-work instalment of € 4,250 to the instalment schedule of project Industrial Hall North. [write] (projects_search, project_invoice_term_statements_list, project_invoice_term_create) - Can I already create an invoice for project Jansen New Build? (projects_search, projects_can_invoice) ### Estimates & quotations - What is the estimate margin on project Z? (projects_search, projects_get, projects_booking_lines) - Which quotations are open and what is their expected closing date? (quotations_search) - Show the quotation lines of quotation OFF-2026-051. (quotations_search, quotations_get) - Create a quotation for Bakker Real Estate to replace 40 m² of roofing, valid until the end of next month. [write] (contacts_search, quotations_create, quotations_add_line) - Set a reminder on quotation OFF-2026-051 for one week from now. [write] (quotations_search, quotation_reminders_create) - Show the status history of quotation OFF-2026-047: when was it sent and accepted? (quotations_search, quotation_status_logs_search) - Has the signed order confirmation for quotation OFF-2026-039 come in yet? (quotations_search, quotation_confirmation_attachments_search) ### Purchasing & subcontractors - Which subcontractor invoices are open? (purchase_invoices_search, subcontractor_contracts_search) - Create a purchase order at De Bouwmaat for 2000 plasterboards on project New Build. [write] (contacts_search, projects_search, purchase_order_contracts_create) - Show the contract instalments of the purchase contract with supplier Y. (purchase_order_contracts_search, purchase_order_contract_terms_search) - Create a subcontractor contract with Visser Plastering for project Jansen New Build, total € 18,500. [write] (contacts_search, projects_search, subcontractor_contracts_create) - Add a contract instalment "Plastering ground floor" of € 6,000 to the subcontractor contract with Visser. [write] (subcontractor_contracts_search, subcontractor_contract_terms_create) - Which call-offs have already been made on the ready-mix concrete purchase contract for project Industrial Hall North? (purchase_order_contracts_search, purchase_order_called_receipts) - Which approvals are waiting for me? (approvals_list) - Approve purchase invoice 2026-0412 from De Bouwmaat. [write] (approvals_list, approvals_vote_purchase_invoice) - For which purchase invoices does the chain-liability (WKA) document expire soon? (purchase_invoices_search) ### Sales invoices - Which sales invoices are open and which are past their due date? (invoices_search) - Get the PDF of invoice 2026-0187. (invoices_search, invoices_get_pdf) - Create an extra-work invoice for project Jansen New Build: 12 hours at € 58 and € 340 in materials. [write] (projects_search, invoices_create, invoices_add_line) - How much have we invoiced Bakker Real Estate in total this quarter? (contacts_search, invoices_search) - Which VAT rates are set up, and which one is for reverse-charge VAT? (vat_tariffs_search) ### Materials, equipment & waste - Which materials were booked this month on project Industrial Hall North? (projects_search, material_bookings_search) - How often was the telehandler used on projects in September? (equipment_search, equipment_bookings_search) - Which waste was removed from project De Vries Renovation? (projects_search, waste_bookings_search) - What does 12.5 mm plasterboard cost per unit, and from which supplier? (material_per_unit_search) - Add the material "Sand-lime brick CS12" to the materials list. [write] (materials_search, materials_create) - Create a delivery ticket for project Jansen New Build with delivery date tomorrow. [write] (projects_search, delivery_tickets_create) ### Planning & appointments - What is on the schedule next week for project Jansen New Build? (planning_search) - Which appointments are in the calendar for tomorrow? (appointments_search) - Which tasks are still open? (todos_search) - Show last week's daily reports for project Industrial Hall North. (journal_reports_search) - Are there inspection reports for project De Vries Renovation? (inspection_reports_search) ### Accounts & contacts - Find the contact "Example Painting Company" and show its details. (contacts_search, contacts_get) - Which suppliers do I have and what are their VAT numbers? (contacts_search, contact_financial_search) - Add a contact person to customer De Vries. [write] (contacts_search, contact_persons_create) - Who is our contact person at Bakker Real Estate, and what is their phone number? (contacts_search, contact_persons_search) - Create a new contact: Smit Contractors, Dorpsstraat 12, 1234 AB Hoorn. [write] (reference_contact_types, contacts_create) - Change the email address of Bakker Real Estate to invoices@bakkerrealestate.nl. [write] (contacts_search, contacts_update) ### Administrations & settings - Which administration am I working in right now? (admin_current) - Show my administrations and switch to the one for our installation division. (admin_list, admin_switch) - Which branches, departments and cost centres do we have? (reference_branches, reference_departments, reference_cost_centers) - Which project categories and project statuses does our administration use? (reference_project_categories, reference_project_statuses) - Which approval workflows and criteria are set up? (approval_template_workflows_search, approval_template_criteria_search) ### Reporting & analysis - For each running project, compare the contract sum with what has been invoiced and which instalments are still open. (projects_search, invoices_search, project_invoice_terms_list) - Which employees logged fewer than 40 hours this week? (employees_search, employee_hour_logs_search) - Which hours are approved but not yet invoiced? (employee_hour_logs_search) - Make a weekly overview for project Industrial Hall North: hours, materials, equipment and waste. (projects_search, hour_logs_search, material_bookings_search, equipment_bookings_search, waste_bookings_search) - Give an overview per project of open purchase and sales invoices. (invoices_search, purchase_invoices_search) - Which projects have been delivered but still have open instalments? (projects_search, project_invoice_terms_list) ## MCP tool reference (209 tools) Generated from the live tool registry. Tool descriptions are in Dutch (the language of the tool definitions sent to the AI client). [write] = modifies data in Exact Online Bouw and is only listed to the AI when the user enabled write access. ### Projects (20) - `progress_sheets_get` - Haal één voortgangsstaten op via het Exact Online Bouw-id. - `progress_sheets_search` - Zoek/lijst voortgangsstaten in de gekoppelde administratie. Standaard gesorteerd op Id. Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op CreatedAt). - `project_file_get` - Haal een projectbestand op (base64) via het bestand-id. - `project_invoice_term_create` [write] - Voeg een termijn toe aan een factuur-termijnstaat. Verplicht: statementId, description, percentage, subtotal (bedrag) en vatTariffId. - `project_invoice_term_statement_create` [write] - Maak een factuur-termijnstaat (termijnschema) voor een project. Verplicht: projectId; de relatie is standaard de opdrachtgever van het project. Voeg daarna termijnen toe met project_invoice_term_create. - `project_invoice_term_statements_list` - Lijst van project-factuur-termijnstaten. - `project_invoice_terms_list` - Lijst van project-factuur-termijnen. - `project_term_statement_delete` [write] - Verwijder een project-factuur-termijnstaat. - `projects_booking_lines` - Beschikbare boekingsregels (booking-lines) voor een project. - `projects_can_invoice` - Controleer of er een factuur voor het project aangemaakt kan worden. - `projects_cost_summary` - Kosten, omzet en marge van MEERDERE projecten in één aanroep (nacalculatie), uit de gesynchroniseerde boekingen. Gebruik dit i.p.v. projects_booking_lines per project. Per project: kosten per soort (uren medewerkers, onderaanneming, materiaal, materieel, afval, bonnen, inkoopfacturen), uren, gefactureerde omzet excl. btw, aanneemsom en marge/marge%. Selecteer met projectIds, status of query; zonder selectie alle projecten met kosten of omzet. from/to beperkt kosten en facturen tot een periode. maxMarginPct toont alleen projecten onder een margedrempel. compareWithExact legt max. 10 projecten live naast Exact Online Bouw (booking-lines) ter controle. - `projects_create` [write] - Maak een project aan in Exact Online Bouw. Verplicht: name. Status: statusId of statusName (reference_project_statuses); leeg = de standaard-projectstatus van de administratie. type staat standaard op 0 (gewoon project). Koppel de opdrachtgever met contactId of contactName. Exact Online Bouw kent zelf het projectnummer toe. - `projects_delete` [write] - Verwijder een(e) project via het Exact Online Bouw-id. - `projects_deleted_list` - Lijst van verwijderde (soft-deleted) projecten. - `projects_get` - Haal één project op via het Exact Online Bouw-id. - `projects_hard_delete` [write] - Verwijder een project definitief (niet terug te draaien). - `projects_reference_info` - Referentie-informatie van een project. - `projects_restore` [write] - Herstel een verwijderd project. - `projects_search` - Zoek project in de gekoppelde administratie. query zoekt in Name, ProjectNumber, FullProjectNumber, ContactName, StreetName, HouseNumber, City, Reference, StatusName, CategoryName, ApiId (elk woord moet voorkomen). Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op CreatedAt). - `projects_update` [write] - Wijzig een bestaand project (vereist id). Alleen de meegegeven velden wijzigen; de rest wordt overgenomen uit het huidige project in Exact Online Bouw. ### Accounts & contacts (11) - `contact_financial_get` - Haal één financiële contactgegevens op via het Exact Online Bouw-id. - `contact_financial_search` - Zoek/lijst financiële contactgegevens in de gekoppelde administratie. Standaard gesorteerd op Id. Het resultaat bevat total (aantal treffers). - `contact_persons_create` [write] - Maak een contactpersoon aan onder een relatie, of werk er een bij (met id). Verplicht: contactId (de relatie, contacts_search), firstName en lastName. - `contact_persons_delete` [write] - Verwijder een contactpersoon onder een relatie. - `contact_persons_get` - Haal één contactpersoon op via het Exact Online Bouw-id. - `contact_persons_search` - Zoek contactpersonen (op naam/e-mail), optioneel binnen één relatie. - `contacts_create` [write] - Maak een relatie (klant, leverancier of onderaannemer) aan in Exact Online Bouw. Verplicht: name en het relatietype: contactTypeId (opvragen met reference_codes kind=contact_type) of typeName (de naam uit die lijst). Vraag de gebruiker bij twijfel of het een klant, leverancier of onderaannemer is. - `contacts_delete` [write] - Verwijder een(e) relatie via het Exact Online Bouw-id. - `contacts_get` - Haal één relatie op via het Exact Online Bouw-id. - `contacts_search` - Zoek relatie in de gekoppelde administratie. query zoekt in Name, EmailAddress, StreetName, City, ContactPersonName, DebtorNumber (elk woord moet voorkomen). Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op CreatedAt). - `contacts_update` [write] - Wijzig een bestaande relatie (vereist id). Alleen de meegegeven velden wijzigen; de rest wordt overgenomen uit de huidige relatie in Exact Online Bouw. ### Quotations (14) - `quotation_attachments_get` - Haal één offertebijlagen op via het Exact Online Bouw-id. - `quotation_attachments_search` - Zoek/lijst offertebijlagen in de gekoppelde administratie. Standaard gesorteerd op Id. Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op CreatedAt). - `quotation_confirmation_attachments_get` - Haal één offerte-bevestigingsbijlagen op via het Exact Online Bouw-id. - `quotation_confirmation_attachments_search` - Zoek/lijst offerte-bevestigingsbijlagen in de gekoppelde administratie. query zoekt in FileName (elk woord moet voorkomen). Standaard gesorteerd op Id. Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op CreatedAt). - `quotation_reminders_create` [write] - Maak een offerteherinnering aan (of werk er een bij met id). Verplicht: quotationId, remindAt en description. - `quotation_reminders_delete` [write] - Verwijder een offerte-herinnering. - `quotation_reminders_search` - Zoek offerte-herinneringen, optioneel per offerte. - `quotation_status_logs_get` - Haal één offerte-statuslogs op via het Exact Online Bouw-id. - `quotation_status_logs_search` - Zoek/lijst offerte-statuslogs in de gekoppelde administratie. Standaard gesorteerd op Id. Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op CreatedAt). - `quotations_add_line` [write] - Voeg een regel toe aan een bestaande offerte. Verplicht: id (offerte), description, quantity, unitPrice en vatTariffId (btw-tarief, opvragen met vat_tariffs_search). De regel komt in het hoofdstuk chapterName (bestaat het niet, dan wordt het aangemaakt); leeg = het eerste hoofdstuk. Het regelbedrag wordt berekend als quantity x unitPrice. - `quotations_create` [write] - Maak een offerte aan in Exact Online Bouw. Geef bij voorkeur het project mee (projectId of projectNumber): dan komen klant en standaardwaarden uit het project en is het onderwerp standaard de projectnaam. Zonder project is de klant verplicht (contactId/contactName) en subject. Medewerker, status (Concept), taal en lay-out hoeven niet: leeg = overgenomen van de recentste offerte in de administratie. quotationDate is standaard vandaag; quotationNumber leeg = Exact Online Bouw nummert zelf. Aanhef (salutationText) leeg = die van de recentste offerte, anders Geachte heer/mevrouw,. Voeg daarna regels toe met quotations_add_line. - `quotations_get` - Haal één offerte op via het Exact Online Bouw-id. - `quotations_search` - Zoek offerte in de gekoppelde administratie. query zoekt in QuotationNumber, Subject, ContactName, ProjectName, Reference (elk woord moet voorkomen). Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op QuotationDate). - `quotations_update` [write] - Wijzig een bestaande offerte (vereist id). Alleen de meegegeven velden wijzigen; hoofdstukken en regels blijven behouden. ### Invoices (11) - `invoice_attachments_get` - Haal één factuurbijlagen op via het Exact Online Bouw-id. - `invoice_attachments_search` - Zoek/lijst factuurbijlagen in de gekoppelde administratie. Standaard gesorteerd op Id. Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op CreatedAt). - `invoices_add_line` [write] - Voeg een regel toe aan een bestaande verkoopfactuur. Verplicht: id (factuur), description, quantity, unitPrice en vatTariffId (btw-tarief, opvragen met vat_tariffs_search; bij verlegging het verleggingstarief). Het regelbedrag wordt berekend als quantity x unitPrice. - `invoices_create` [write] - Maak een (concept)verkoopfactuur aan in Exact Online Bouw, inclusief minstens één regel (lines): Exact Online Bouw weigert een factuur zonder regels. Geef de klant (contactId of contactName) en/of het project (projectId of projectNumber); zonder klant wordt de klant van het project gebruikt. Factuurdatum standaard vandaag, vervaldatum standaard 14 dagen later. Btw-tarief per regel opvragen met vat_tariffs_search. Meer regels later toevoegen kan met invoices_add_line. De factuur wordt aangemaakt als CONCEPT zonder factuurnummer: laat invoiceNumber leeg en verzin nooit zelf een nummer. Voor een volledige factuur van een project: één regel met de aanneemsom (fixedPrice uit projects_search) en de projectomschrijving. Exact Online Bouw kent het nummer uit de eigen nummerreeks toe wanneer de gebruiker de factuur definitief maakt. - `invoices_delete` [write] - Verwijder een(e) factuur via het Exact Online Bouw-id. - `invoices_finalize` [write] - Maak een conceptfactuur DEFINITIEF in Exact Online Bouw (status Concept → Open). Exact Online Bouw kent dan het factuurnummer uit de eigen nummerreeks toe. Dit is niet terug te draaien: laat de gebruiker de factuur (bedragen, btw, omschrijving) eerst bevestigen en geef pas daarna confirm=true mee. Versturen naar de klant en boeken naar de boekhouding kunnen NIET via de API; dat doet de gebruiker daarna in Exact Online Bouw (de PDF is op te halen met invoices_get_pdf). - `invoices_get` - Haal één factuur op via het Exact Online Bouw-id. - `invoices_get_pdf` - Haal de factuur-PDF op (base64-gecodeerd) via het Exact Online Bouw-id. - `invoices_get_pdf_variant` - Haal een factuur-PDF-variant op (base64): collective, material, garbage of equipment. - `invoices_search` - Zoek factuur in de gekoppelde administratie. query zoekt in InvoiceNumber, Status, ContactName, ProjectName, DebtorNumber, ProjectApiId, ApiId (elk woord moet voorkomen). Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op Date). - `invoices_update` [write] - Wijzig een bestaande verkoopfactuur (vereist id). Alleen de meegegeven velden wijzigen; de regels blijven behouden. ### Purchasing (10) - `purchase_invoices_add_line` [write] - Voeg een regel toe aan een bestaande inkoopfactuur. Verplicht: id (inkoopfactuur), description, quantity, unitPrice en vatTariffId (btw-tarief, opvragen met vat_tariffs_search; bij verlegging het verleggingstarief). Het regelbedrag (subTotal) wordt berekend als quantity x unitPrice. - `purchase_invoices_create` [write] - Maak een inkoopfactuur aan in Exact Online Bouw. Verplicht: invoiceNumber (factuurnummer van de leverancier), leverancier (supplierId of supplierName) en date. Status = de beginstatus als hij leeg blijft (codes: reference_codes kind=purchase_invoice_status). Voeg daarna regels toe met purchase_invoices_add_line; het totaal volgt uit de regels. - `purchase_invoices_delete` [write] - Verwijder een(e) inkoopfactuur via het Exact Online Bouw-id. - `purchase_invoices_get` - Haal één inkoopfactuur op via het Exact Online Bouw-id. - `purchase_invoices_search` - Zoek inkoopfactuur in de gekoppelde administratie. query zoekt in InvoiceNumber, SupplierName, Status, ProjectName, OrderNumber, PaymentReference (elk woord moet voorkomen). Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op Date). - `purchase_invoices_set_status` [write] - Wijzig de status van een(e) inkoopfactuur. - `purchase_invoices_update` [write] - Wijzig een bestaande inkoopfactuur (vereist id). Alleen de meegegeven velden wijzigen; de regels blijven behouden. - `purchase_order_attachments` - Bijlagen van een inkoopcontract. - `purchase_order_called_receipts` - Afroep-ontvangsten van een inkoopcontract. - `purchase_order_log_entries` - Historie/logvermeldingen van een inkoopcontract. ### Contracts & subcontracting (25) - `contract_order_line_create` [write] - Voeg een contract-orderregel toe aan een project. Verplicht: projectId. - `contract_order_lines_list` - Lijst van contract-orderregels. - `purchase_order_contract_terms_create` [write] - Voeg een termijn toe aan een contract. Verplicht: contractId, contractType, number, description, amount en unitPrice. sortIndex is standaard 0 en subTotal standaard amount x unitPrice. - `purchase_order_contract_terms_delete` [write] - Verwijder een(e) inkoop-contracttermijn via het Exact Online Bouw-id. - `purchase_order_contract_terms_get` - Haal één inkoop-contracttermijnen op via het Exact Online Bouw-id. - `purchase_order_contract_terms_search` - Zoek/lijst inkoop-contracttermijnen in de gekoppelde administratie. Standaard gesorteerd op Id. Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op CreatedAt). - `purchase_order_contracts_create` [write] - Maak een inkooporder/-contract aan bij een leverancier voor een project, inclusief de inkoopregels. Verplicht: leverancier (supplierId of supplierName), project (projectId of projectNumber) en purchaseType (inkoopsoort, opvragen met reference_codes kind=purchase_order_cost_type). Geef de bestelde artikelen ALTIJD als lines (description, quantity, unit, unitPrice): die komen als inkoopregels in Exact Online Bouw - alleen in de omschrijving zetten levert een order zonder regels op. cost is standaard de som van de regels. Status, type en afleveradres krijgen een standaardwaarde (beginstatus, type 0, adres van het project). Versturen naar de leverancier kan niet via de API; dat doet de gebruiker in Exact Online Bouw. - `purchase_order_contracts_delete` [write] - Verwijder een(e) inkoopcontract via het Exact Online Bouw-id. - `purchase_order_contracts_get` - Haal één inkoopcontract op via het Exact Online Bouw-id. - `purchase_order_contracts_search` - Zoek inkoopcontract in de gekoppelde administratie. query zoekt in Number, Name, SupplierName (elk woord moet voorkomen). Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op CreatedAt). - `purchase_order_contracts_set_status` [write] - Wijzig de status van een(e) inkoopcontract. - `purchase_order_contracts_update` [write] - Wijzig een bestaand(e) inkoopcontract (vereist id). Stuur alleen de velden die wijzigen. - `subcontractor_attachments` - Bijlagen van een onderaannemerscontract. - `subcontractor_called_receipts` - Afroep-ontvangsten van een onderaannemerscontract. - `subcontractor_contract_terms_create` [write] - Voeg een termijn toe aan een contract. Verplicht: contractId, contractType, number, description, amount en unitPrice. sortIndex is standaard 0 en subTotal standaard amount x unitPrice. - `subcontractor_contract_terms_delete` [write] - Verwijder een(e) onderaannemer-contracttermijn via het Exact Online Bouw-id. - `subcontractor_contract_terms_get` - Haal één onderaannemer-contracttermijnen op via het Exact Online Bouw-id. - `subcontractor_contract_terms_search` - Zoek/lijst onderaannemer-contracttermijnen in de gekoppelde administratie. Standaard gesorteerd op Id. Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op CreatedAt). - `subcontractor_contracts_create` [write] - Maak een onderaannemerscontract aan. Verplicht: onderaannemer (subcontractorId of subcontractorName), project (projectId of projectNumber) en cost. Status en type krijgen een standaardwaarde (beginstatus, type 0). - `subcontractor_contracts_delete` [write] - Verwijder een(e) onderaannemerscontract via het Exact Online Bouw-id. - `subcontractor_contracts_get` - Haal één onderaannemerscontract op via het Exact Online Bouw-id. - `subcontractor_contracts_search` - Zoek onderaannemerscontract in de gekoppelde administratie. query zoekt in Number, Name, SubcontractorName (elk woord moet voorkomen). Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op CreatedAt). - `subcontractor_contracts_set_status` [write] - Wijzig de status van een(e) onderaannemerscontract. - `subcontractor_contracts_update` [write] - Wijzig een bestaand(e) onderaannemerscontract (vereist id). Stuur alleen de velden die wijzigen. - `subcontractor_log_entries` - Historie/logvermeldingen van een onderaannemerscontract. ### Hours & staff (31) - `contact_hour_logs_get` - Haal één uren (contact) op via het Exact Online Bouw-id. - `contact_hour_logs_search` - Zoek/lijst uren (contact) in de gekoppelde administratie. query zoekt in ContactName, ProjectName, TypeName, Comment (elk woord moet voorkomen). Standaard gesorteerd op LogDate DESC. Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op LogDate). Filter een relatie met contactId. Filter een periode met from/to en een project met projectId, in plaats van met offset door alle regels te bladeren. - `day_off_per_employee_create` [write] - Maak verlof aan voor één medewerker, of wijzig bestaand verlof (met id). Verplicht bij aanmaken: employeeId, startDate en endDate. Een bedrijfsbrede vrije dag gaat via days_off_create. - `day_off_per_employee_delete` [write] - Verwijder verlof van een medewerker. - `days_off_create` [write] - Maak een bedrijfsbrede vrije dag aan (bv. een feestdag of collectieve sluiting). Verlof van één medewerker gaat via day_off_per_employee_create. - `days_off_delete` [write] - Verwijder een(e) bedrijfsbrede vrije dag via het Exact Online Bouw-id. - `days_off_get` - Haal één bedrijfsbrede vrije dag op via het Exact Online Bouw-id. - `days_off_per_employee_list` - Lijst van verlof per medewerker. - `days_off_search` - Zoek bedrijfsbrede vrije dag in de gekoppelde administratie. query zoekt in Name (elk woord moet voorkomen). Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op StartDate). - `days_off_update` [write] - Wijzig een bestaand(e) bedrijfsbrede vrije dag (vereist id). Stuur alleen de velden die wijzigen. - `delivery_tickets_create` [write] - Maak een afleverbon (pakbon/werkbon van een leverancier) aan op een project. Verplicht: leverancier (contactId of contactName), project (projectId of projectNumber), ticketNumber, ticketDate en purchaseType (inkoopsoort, opvragen met reference_codes kind=delivery_ticket_purchase_type). processed staat standaard op false. - `delivery_tickets_delete` [write] - Verwijder een(e) afleverbon via het Exact Online Bouw-id. - `delivery_tickets_get` - Haal één afleverbon op via het Exact Online Bouw-id. - `delivery_tickets_search` - Zoek afleverbon in de gekoppelde administratie. query zoekt in Number, Description, SupplierName (elk woord moet voorkomen). Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op Date). - `delivery_tickets_update` [write] - Wijzig een bestaande afleverbon (vereist id). Alleen de meegegeven velden wijzigen. - `employee_hour_logs_get` - Haal één uren (medewerker) op via het Exact Online Bouw-id. - `employee_hour_logs_search` - Zoek/lijst uren (medewerker) in de gekoppelde administratie. query zoekt in EmployeeFirstName, EmployeeLastName, ProjectName, TypeName, Comment (elk woord moet voorkomen). Standaard gesorteerd op LogDate DESC. Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op LogDate). Filter een medewerker met employeeId. Filter een periode met from/to en een project met projectId, in plaats van met offset door alle regels te bladeren. - `hour_logs_create` [write] - Registreer uren op een project in Exact Online Bouw. Verplicht: logDate (of date), logHours (of hours), project (projectId of projectNumber) en uurtype (hourTypeId of hourTypeName; bestaande uurtypen: reference_hour_types). Geef employeeId (employees_search) voor de medewerker, of contactId voor uren van een externe relatie. - `hour_logs_get` - Haal één urenregistratie op via het Exact Online Bouw-id. - `hour_logs_search` - Zoek urenregistraties van medewerkers, nieuwste eerst. Filter een medewerker met employeeId (zie employees_search), een periode met from/to en een project met projectId of projectNumber, in plaats van met offset door alle regels te bladeren. query zoekt op medewerker-, project- en uurtypenaam en commentaar (elk woord moet voorkomen). query zoekt in Comment, ProjectName, EmployeeFirstName, EmployeeLastName, TypeName (elk woord moet voorkomen). Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op LogDate). - `hour_logs_update` [write] - Wijzig een bestaande urenregistratie (vereist id). Alleen de meegegeven velden wijzigen; de overige worden uit de gesynchroniseerde gegevens overgenomen. - `mileage_create` [write] - Maak een (wekelijkse) kilometerregistratie aan voor een voertuig. Verplicht: bestuurder (driverId, zie employees_search), mileage (kilometers, geheel getal) en licensePlate (leeg = het laatst gebruikte kenteken van de bestuurder). Geef weekStartDate (maandag van de week). Exact Online Bouw kent geen van/naar-adres of omschrijving per rit. - `mileage_delete` [write] - Verwijder een(e) kilometerregistratie via het Exact Online Bouw-id. - `mileage_get` - Haal één kilometerregistratie op via het Exact Online Bouw-id. - `mileage_search` - Zoek kilometerregistratie in de gekoppelde administratie. query zoekt in LicensePlate, DriverLastName (elk woord moet voorkomen). Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op WeekStartDate). - `mileage_update` [write] - Wijzig een bestaande kilometerregistratie (vereist id). Alleen de meegegeven velden wijzigen. - `property_assets_create` [write] - Maak een object/bedrijfsmiddel (PropertyAsset, bv. een woning of pand) aan. Verplicht: number, name en factuurontvanger (invoiceContactId of invoiceContactName). - `property_assets_delete` [write] - Verwijder een(e) bedrijfsmiddel via het Exact Online Bouw-id. - `property_assets_get` - Haal één bedrijfsmiddel op via het Exact Online Bouw-id. - `property_assets_search` - Zoek bedrijfsmiddel in de gekoppelde administratie. query zoekt in Name, Number, City (elk woord moet voorkomen). Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op CreatedAt). - `property_assets_update` [write] - Wijzig een bestaand object/bedrijfsmiddel (vereist id). Alleen de meegegeven velden wijzigen. ### Materials, equipment & waste (42) - `checkout_documents_list` - Lijst van uitcheckdocumenten (checkout-documents). - `equipment_bookings_get` - Haal één materieelboekingen op via het Exact Online Bouw-id. - `equipment_bookings_search` - Zoek/lijst materieelboekingen in de gekoppelde administratie. query zoekt in EquipmentName, EquipmentCode, ProjectName, BookedEmployeeNames, Comment (elk woord moet voorkomen). Standaard gesorteerd op Date DESC. Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op Date). - `equipment_create` [write] - Maak een nieuw(e) materieel aan in Exact Online Bouw. - `equipment_delete` [write] - Verwijder een(e) materieel via het Exact Online Bouw-id. - `equipment_get` - Haal één materieel op via het Exact Online Bouw-id. - `equipment_groups_create` [write] - Maak een nieuw(e) materieelgroep aan in Exact Online Bouw. - `equipment_groups_delete` [write] - Verwijder een(e) materieelgroep via het Exact Online Bouw-id. - `equipment_groups_get` - Haal één materieelgroepen op via het Exact Online Bouw-id. - `equipment_groups_search` - Zoek/lijst materieelgroepen in de gekoppelde administratie. Standaard gesorteerd op Id. Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op CreatedAt). - `equipment_per_unit_get` - Haal één materieel per eenheid op via het Exact Online Bouw-id. - `equipment_per_unit_search` - Zoek/lijst materieel per eenheid in de gekoppelde administratie. query zoekt in EquipmentName, EquipmentCode, UnitName (elk woord moet voorkomen). Standaard gesorteerd op Id. Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op CreatedAt). - `equipment_search` - Zoek/lijst materieel in de gekoppelde administratie. Standaard gesorteerd op Id. Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op CreatedAt). - `equipment_units_create` [write] - Maak een nieuw(e) materieeleenheid aan in Exact Online Bouw. - `equipment_units_delete` [write] - Verwijder een(e) materieeleenheid via het Exact Online Bouw-id. - `equipment_units_get` - Haal één materieeleenheden op via het Exact Online Bouw-id. - `equipment_units_search` - Zoek/lijst materieeleenheden in de gekoppelde administratie. Standaard gesorteerd op Id. Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op CreatedAt). - `material_bookings_get` - Haal één materiaalboekingen op via het Exact Online Bouw-id. - `material_bookings_search` - Zoek/lijst materiaalboekingen in de gekoppelde administratie. query zoekt in MaterialName, ProjectName, Comment (elk woord moet voorkomen). Standaard gesorteerd op Date DESC. Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op Date). - `material_per_unit_get` - Haal één materiaal per eenheid op via het Exact Online Bouw-id. - `material_per_unit_search` - Zoek/lijst materiaal per eenheid in de gekoppelde administratie. query zoekt in MaterialName, ArticleNumber, EanCode, SupplierName, MaterialGroupName (elk woord moet voorkomen). Standaard gesorteerd op Id. Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op CreatedAt). - `material_units_create` [write] - Maak een nieuw(e) materiaaleenheid aan in Exact Online Bouw. - `material_units_delete` [write] - Verwijder een(e) materiaaleenheid via het Exact Online Bouw-id. - `material_units_get` - Haal één materiaaleenheden op via het Exact Online Bouw-id. - `material_units_search` - Zoek/lijst materiaaleenheden in de gekoppelde administratie. Standaard gesorteerd op Id. Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op CreatedAt). - `materials_create` [write] - Maak een nieuw(e) materiaal aan in Exact Online Bouw. - `materials_delete` [write] - Verwijder een(e) materiaal via het Exact Online Bouw-id. - `materials_get` - Haal één materialen op via het Exact Online Bouw-id. - `materials_search` - Zoek/lijst materialen in de gekoppelde administratie. Standaard gesorteerd op Id. Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op CreatedAt). - `waste_bookings_get` - Haal één afvalboekingen op via het Exact Online Bouw-id. - `waste_bookings_search` - Zoek/lijst afvalboekingen in de gekoppelde administratie. query zoekt in GarbageName, ProjectName, Comment (elk woord moet voorkomen). Standaard gesorteerd op Date DESC. Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op Date). - `waste_create` [write] - Maak een nieuw(e) afval aan in Exact Online Bouw. - `waste_delete` [write] - Verwijder een(e) afval via het Exact Online Bouw-id. - `waste_get` - Haal één afval op via het Exact Online Bouw-id. - `waste_per_unit_delete` [write] - Verwijder een(e) afval-per-eenheid via het Exact Online Bouw-id. - `waste_per_unit_get` - Haal één afval per eenheid op via het Exact Online Bouw-id. - `waste_per_unit_search` - Zoek/lijst afval per eenheid in de gekoppelde administratie. query zoekt in GarbageName, ArticleNumber, UnitName (elk woord moet voorkomen). Standaard gesorteerd op Id. Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op CreatedAt). - `waste_search` - Zoek/lijst afval in de gekoppelde administratie. Standaard gesorteerd op Id. Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op CreatedAt). - `waste_units_create` [write] - Maak een nieuw(e) afvaleenheid aan in Exact Online Bouw. - `waste_units_delete` [write] - Verwijder een(e) afvaleenheid via het Exact Online Bouw-id. - `waste_units_get` - Haal één afvaleenheden op via het Exact Online Bouw-id. - `waste_units_search` - Zoek/lijst afvaleenheden in de gekoppelde administratie. Standaard gesorteerd op Id. Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op CreatedAt). ### Planning & calendar (7) - `apollo_query` - Voer een live Apollo-search uit met een AQL-expressie tegen een gekozen resource (projects, appointments, todos, contacts, employees, divisions, journal-reports, inspection-report, contact-files, plan-items). - `appointments_search` - Zoek afspraken/agenda-items (gesynchroniseerd uit Apollo). - `contact_files_search` - Zoek bestanden bij relaties (Apollo). - `inspection_reports_search` - Zoek inspectierapporten (Apollo). - `journal_reports_search` - Zoek dagrapporten/journaalrapporten (Apollo). - `planning_search` - Zoek planning/plan-items (gesynchroniseerd uit Apollo). - `todos_search` - Zoek taken/todos (gesynchroniseerd uit Apollo). ### Approvals (11) - `approval_template_criteria_create` [write] - Maak een goedkeuringscriterium aan. Verplicht: name, workflow (workflowId of workflowName) en type (criteriumtype uit approval-template/criteria-types; ontbreekt het, dan geeft de tool de geldige waarden terug). - `approval_template_criteria_delete` [write] - Verwijder een(e) goedkeuringscriterium via het Exact Online Bouw-id. - `approval_template_criteria_get` - Haal één goedkeuringscriteria op via het Exact Online Bouw-id. - `approval_template_criteria_search` - Zoek/lijst goedkeuringscriteria in de gekoppelde administratie. Standaard gesorteerd op Id. Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op CreatedAt). - `approval_template_workflows_create` [write] - Maak een goedkeuringsworkflow aan met maximaal vijf goedkeurders (approver1..5, in volgorde). Verplicht: name en isRestricted. Per goedkeurder een type (zie approval-template/workflow-types) en bij een vaste medewerker het medewerker-id. - `approval_template_workflows_delete` [write] - Verwijder een(e) goedkeuringsworkflow via het Exact Online Bouw-id. - `approval_template_workflows_get` - Haal één goedkeuringsworkflows op via het Exact Online Bouw-id. - `approval_template_workflows_search` - Zoek/lijst goedkeuringsworkflows in de gekoppelde administratie. Standaard gesorteerd op Id. Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op CreatedAt). - `approvals_list` - Toon de aan jou toegewezen openstaande goedkeuringen. - `approvals_vote_contract` [write] - Keur een contract goed of af. - `approvals_vote_purchase_invoice` [write] - Keur een inkoopfactuur goed of af. ### Reference data (17) - `basic_employees_get` - Haal één medewerkers (basis) op via het Exact Online Bouw-id. - `basic_employees_search` - Zoek/lijst medewerkers (basis) in de gekoppelde administratie. Standaard gesorteerd op Id. Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op CreatedAt). - `employees_search` - Zoek/​lijst medewerkers. Maximaal 200 per aanroep; gebruik offset om verder te bladeren. - `i18n_countries` - Ondersteunde landen. - `i18n_currencies` - Ondersteunde valuta's. - `i18n_locales` - Ondersteunde locales. - `i18n_timezones` - Ondersteunde tijdzones. - `reference_branches` - Lijst van vestigingen (branches). Maximaal 200 per aanroep; gebruik offset om verder te bladeren. - `reference_codes` - Haal de geldige codes (id + naam) op die Exact Online Bouw voor een schrijfactie verwacht, live uit de actieve administratie. Gebruik dit vóór een create-tool die om zo'n code vraagt. Soorten: purchase_order_status = statussen van inkooporders/-contracten (status bij purchase_order_contracts_create); purchase_order_cost_type = inkoopsoorten van inkooporders, bv. materiaal of materieel (purchaseType bij purchase_order_contracts_create); subcontractor_status = statussen van onderaannemerscontracten (status bij subcontractor_contracts_create); purchase_invoice_status = statussen van inkoopfacturen (status bij purchase_invoices_create); delivery_ticket_purchase_type = inkoopsoorten van afleverbonnen (purchaseType bij delivery_tickets_create); contact_type = relatietypen, bv. klant of leverancier (contactTypeId bij contacts_create); hour_type = uursoorten (hourTypeId bij hour_logs_create); approval_criteria_type = criteriumtypen voor goedkeuringen (type bij approval_template_criteria_create). - `reference_contact_types` - Lijst van contacttypen (klant/leverancier/etc.). Afgeleid uit de gesynchroniseerde Contact-records; Exact Online Bouw kent hiervoor geen aparte lijst. - `reference_cost_centers` - Lijst van kostenplaatsen. Maximaal 200 per aanroep; gebruik offset om verder te bladeren. - `reference_departments` - Lijst van afdelingen. Maximaal 200 per aanroep; gebruik offset om verder te bladeren. - `reference_hour_types` - Lijst van uurtypen. Afgeleid uit de gesynchroniseerde EmployeeHourLog-records; Exact Online Bouw kent hiervoor geen aparte lijst. - `reference_project_categories` - Lijst van projectcategorieën. Afgeleid uit de gesynchroniseerde Project-records; Exact Online Bouw kent hiervoor geen aparte lijst. - `reference_project_statuses` - Lijst van projectstatussen. Maximaal 200 per aanroep; gebruik offset om verder te bladeren. - `vat_tariffs_get` - Haal één btw-tarieven op via het Exact Online Bouw-id. - `vat_tariffs_search` - Zoek/lijst btw-tarieven in de gekoppelde administratie. query zoekt in Label, LegalText (elk woord moet voorkomen). Standaard gesorteerd op Id. Het resultaat bevat total (aantal treffers); order=newest geeft de nieuwste eerst (op CreatedAt). ### Organization & administrations (4) - `admin_current` - Toon de momenteel actieve administratie (division). - `admin_list` - Toon de beschikbare administraties (divisions) waartoe je toegang hebt. - `admin_switch` - Wissel naar een andere administratie (division) via het Exact Online Bouw-id. - `admin_verify_schema` - Diagnose: controleer of elke division-tabel correct naar de division-database routeert. Geeft de tabellen terug die ontbreken in de routing-config (zou leeg moeten zijn). ### Other (6) - `custom_attributes_create` [write] - Maak een custom attribuut (extra veld) aan, of wijzig er een door id mee te geven. Verplicht: name, fieldTypeId (veldtype) en ownerTypeId (bij project, relatie, medewerker, ...). - `custom_attributes_delete` [write] - Verwijder een custom attribuut. - `custom_attributes_list` - Lijst van custom attributen van de organisatie. - `hour_type_prices_create` [write] - Stel de kost- en/of verkoopprijs van een uurtype in. Verplicht: hourTypeId en minstens costPrice of sellingPrice. - `hour_type_prices_list` - Lijst van uurtype-prijzen. - `surcharge_percentages_get` - Toeslagpercentages van de organisatie.