WinkelFactuur

Free EU VAT, IBAN and bol.com commission tools for marketplace sellers

Should I use this

Quality & Safety

A
Description quality
93%
Schema completeness
100%
Naming quality
93%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~701Tokens (tool definitions)
~1.6 KBTypical response size
Moderate attention impact (0.55% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "tools": {
      "url": "https://api.winkelfactuur.nl/mcp"
    }
  }
}

Remote endpoints

https://api.winkelfactuur.nl/mcpstreamable-http

What it can do

Tool inventory

Tools (3)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢calculate_vat(amount, customer_country, seller_country, customer_vat_number, is_business, ...)

Calculate EU VAT (Dutch: BTW) for a cross-border or domestic sale, using the destination-country principle that applies to e-commerce. Handles the cases sellers get wrong: OSS distance selling to another EU country, B2B reverse charge when the buyer has a VIES-valid VAT number, and zero-rated exports outside the EU. Rates are the statutory ones for the destination country, including reduced rates when a category is given.

Input Schema

{
  "type": "object",
  "properties": {
    "amount": {
      "description": "Net amount (excluding VAT) in euros.",
      "type": "number"
    },
    "customer_country": {
      "description": "Two-letter country code the goods are shipped to, e.g. NL, DE, FR. This is what determines the rate.",
      "type": "string"
    },
    "seller_country": {
      "description": "Two-letter country code the seller is established in. Defaults to NL.",
      "type": "string"
    },
    "customer_vat_number": {
      "description": "Buyer VAT number. Required for B2B reverse charge; it is checked against VIES, so an invented number will not zero the VAT.",
      "type": "string"
    },
    "is_business": {
      "description": "True when the buyer is a business (B2B). Reverse charge also needs a valid VAT number.",
      "type": "boolean"
    },
    "category": {
      "description": "Optional product category, used to find a reduced rate (books, food, medicine and similar).",
      "type": "string"
    }
  },
  "required": [
    "amount",
    "customer_country"
  ]
}
🟢validate_iban(iban)

Validate an IBAN (bank account number) and report whether its check digits and country-specific length are correct. Catches transposed or missing digits before a payment or an invoice goes out with the wrong account number. This checks the number's structure, not whether the account exists or who owns it.

Input Schema

{
  "type": "object",
  "properties": {
    "iban": {
      "description": "The IBAN to check. Spaces, dots and dashes are ignored, so it can be pasted as printed.",
      "type": "string"
    }
  },
  "required": [
    "iban"
  ]
}
🟢bol_commission(category, price, subcategory, fulfilment_type)

Work out what bol.com keeps from a sale: the commission percentage for the product category, any fixed fee, and what the seller is left with. Category names are the Dutch ones bol.com uses ("Elektronica", "Boeken", "Speelgoed"). If the category is unknown or missing, the tool returns the list of categories it knows, so call it again with one of those.

Input Schema

{
  "type": "object",
  "properties": {
    "category": {
      "description": "bol.com main category, in Dutch. For example: Elektronica, Boeken, Speelgoed, Wonen & Koken.",
      "type": "string"
    },
    "price": {
      "description": "Selling price in euros, including VAT, as shown to the buyer.",
      "type": "number"
    },
    "subcategory": {
      "description": "Subcategory when the main one splits by rate, e.g. Telefoons or Televisies under Elektronica.",
      "type": "string"
    },
    "fulfilment_type": {
      "description": "lvb for Logistiek via bol, fbr when the seller ships. Leave out if it does not matter.",
      "enum": [
        "lvb",
        "fbr",
        "all"
      ],
      "type": "string"
    }
  },
  "required": [
    "category",
    "price"
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded3 tools
verifiedversion not recorded3 tools