Pro Doen — Documentatie · Gebruik AI-tools
Projectaanbod importeren met MCP
Met de projectaanbod-tools kan een AI een bestaand aanbod uit bijvoorbeeld een document of spreadsheet omzetten naar een conceptaanbod in Pro Doen. De import verstuurt niets naar de klant. Je controleert en bewerkt het resultaat eerst zelf.
Beschikbare tools
prodoen_company_projects_list
Zoekt binnen de projecten van het ingelogde bedrijf. De tool geeft onder andere projectId, projectnaam, klantnaam, plaats en een link terug. Dit is een losse zoektool; voor de import van referentieaanbiedingen hoeft de AI geen bestaand project te kiezen.
prodoen_company_project_offer_import
Maakt in één handeling aan:
- een gearchiveerd referentieproject met de naam
Example <korte titel>, of hergebruik van het bestaande project met precies die naam; - één nieuw conceptaanbod onder dat referentieproject;
- één of meer projecttaken onder het aanbod;
- nul of meer specificatieregels onder iedere taak;
- eerder geüploade afbeeldingen op de offerte of een taak.
Alle prijzen worden exclusief btw aangeleverd. Pro Doen berekent de taak- en aanbodtotalen. Als een ID, bedrag, eenheid of afbeelding ongeldig is, wordt de volledige import teruggedraaid. Er blijft dan geen half aanbod achter.
prodoen_company_project_offers_list
Geeft een compacte lijst van projectaanbiedingen terug met onder andere projectOfferId, projectnaam, archiefstatus, bedragen, aantallen taken en specificatieregels, vakgebieden, specialisaties en projectOfferHref.
Je kunt filteren met:
exampleProjectTitle— de korte titel zonder de prefixExample;projectId— het exacte project-ID;query— zoeken in aanbodtitel, omschrijving of projectnaam;limit— maximaal 1–100 resultaten (standaard 50).
MCP-calls
Projectaanbod importeren
Zoek vóór de import naar passende prijslijstregels:
{
"name": "prodoen_company_pricelist_items_list",
"arguments": {
"query": "sanitair"
}
}
Controleer een mogelijke match vervolgens met prodoen_company_pricelist_items_get. Gebruik het teruggegeven id als companyPriceItemId op een taak of specificatieregel.
Call:
{
"name": "prodoen_company_project_offer_import",
"arguments": {
"exampleProjectTitle": "Badkamers 2026",
"title": "Complete badkamerrenovatie",
"description": "Referentieaanbod voor een complete renovatie.",
"tasks": [
{
"title": "Bestaande badkamer verwijderen",
"trade": "DEMOLITION",
"tradeSpecialization": "SELECTIVE_DEMOLITION",
"items": [
{
"unitType": "h",
"unitDescription": "Sloopwerkzaamheden",
"unitCost": 65,
"unitQuantity": 8,
"vatPercentage": 21
}
]
},
{
"title": "Sanitair installeren",
"trade": "PLUMBING",
"tradeSpecialization": "BATHROOMS",
"companyPriceItemId": "price-item-id"
}
]
}
}
Bij companyPriceItemId gebruikt Pro Doen de eenheid, omschrijving, prijs, standaardhoeveelheid en btw uit de prijslijst. Zijn die waarden in het bronaanbod gelijk, laat ze dan weg. Wijkt bijvoorbeeld alleen de prijs af, stuur dan uitsluitend de overschrijving mee:
{
"companyPriceItemId": "price-item-id",
"unitCost": 1200
}
De expliciete unitCost van 1200 wordt dan gebruikt in plaats van de prijslijstprijs. De prijslijstregel zelf wordt niet aangepast.
Verkort resultaat:
{
"ok": true,
"projectId": "project-id",
"projectName": "Example Badkamers 2026",
"projectCreated": true,
"projectArchived": true,
"projectOfferId": "offer-id",
"taskCount": 2,
"itemCount": 1,
"draft": true,
"sent": false,
"projectOfferHref": "/klus/project-id?highlight-offer=offer-id"
}
Geïmporteerde projectaanbiedingen opvragen
Call:
{
"name": "prodoen_company_project_offers_list",
"arguments": {
"exampleProjectTitle": "Badkamers 2026",
"limit": 50
}
}
Verkort resultaat:
{
"count": 1,
"items": [
{
"projectOfferId": "offer-id",
"projectId": "project-id",
"projectName": "Example Badkamers 2026",
"projectArchived": true,
"title": "Complete badkamerrenovatie",
"taskCount": 2,
"itemCount": 1,
"trades": ["DEMOLITION", "PLUMBING"],
"tradeSpecializations": ["SELECTIVE_DEMOLITION", "BATHROOMS"],
"projectOfferHref": "/klus/project-id?highlight-offer=offer-id"
}
]
}
Aanbevolen werkwijze
- Laat de AI het bronaanbod uitlezen en eerst een overzicht van aanbod, taken, regels, aantallen, prijzen en btw tonen.
- Zoek met
prodoen_company_pricelist_items_listnaar passende prijslijstregels en controleer matches metprodoen_company_pricelist_items_get. - Neem een gevonden
companyPriceItemIdover. Laat dezelfde prijs weg; geefunitCostalleen mee wanneer de prijs uit het bronaanbod afwijkt. - Kies een korte, herkenbare
exampleProjectTitle, bijvoorbeeldBadkamers 2026. Pro Doen maakt of hergebruikt dan het gearchiveerde projectExample Badkamers 2026. - Geef iedere taak een geldig
trade(vakgebied) en een daarbij horendetradeSpecialization. Specificatieregels erven deze waarden van hun taak, tenzij beide waarden bewust worden overschreven. - Upload afbeeldingen met
prodoen_company_media_upload_prepareen bevestig ze metprodoen_company_media_upload_confirm. - Roep
prodoen_company_project_offer_importéén keer aan met de volledige structuur. - Controleer de import met
prodoen_company_project_offers_listen open daarna de teruggegevenprojectOfferHref.
Voorbeeldinstructie aan je AI-client:
Importeer dit aanbod als referentie in Pro Doen. Zoek eerst passende prijslijstregels op en controleer iedere match via het ID. Hergebruik een match met
companyPriceItemId; laat de prijs weg wanneer die gelijk is en geefunitCostalleen mee als de voorbeeldaanbieding een afwijkende prijs gebruikt. Gebruik een korte herkenbare titel voor het gearchiveerde Example-project. Toon mij eerst de herkende taken, specificatieregels, vakgebieden, specialisaties, aantallen, prijzen exclusief btw en btw-percentages. Upload daarna de bijbehorende afbeeldingen en maak na mijn akkoord het volledige conceptaanbod aan. Verstuur het aanbod niet.
Afbeeldingen
Een bevestigde upload kan tijdens één import aan het projectaanbod of aan precies één taak worden gekoppeld. Een afbeelding die al aan een project, taak of aanbod hangt wordt niet opnieuw gekoppeld. Zo kan een AI niet per ongeluk bestaande media verplaatsen.
Beveiliging
De tools gebruiken de ingelogde browsersessie. Het Example-project hoort bij hetzelfde bedrijf, staat altijd op archived: true en verschijnt daardoor niet op het dashboard. Prijslijstregels moeten bij hetzelfde bedrijf horen. Afbeeldingen moeten door de ingelogde gebruiker zijn geüpload en bevestigd. De import maakt uitsluitend een conceptaanbod aan; verzenden is geen onderdeel van deze tool.