{
  "title": "Cash conversion cycle calculator",
  "human_url": "https://happytails.ai/en/business-tools/cash-conversion-cycle-calculator/",
  "agent_url": "https://happytails.ai/agents/en/business-tools/cash-conversion-cycle-calculator/",
  "language": "en",
  "markdown_url": "https://happytails.ai/en/business-tools/cash-conversion-cycle-calculator.md",
  "content": "Cash conversion cycle calculator\nConnect inventory, collection and payable days to calculate your cash conversion cycle.\nHow can we improve this tool?\nReport a problem or share an idea.\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\nHow to use Cash conversion cycle calculator\nChoose Single scenario for guided fields, or Multiple records (JSON) for advanced inputs.\nChoose the currency label and decimal places.\nReview the report and download complete JSON or CSV.\nUseful next steps\nAccounts receivable turnover calculator\nInventory turnover calculator\nWorking capital calculator\nEnter values directly\nChoose Single scenario to enter values in the fields. Choose Multiple records (JSON) to paste an advanced asset or record list. Guided numeric fields accept local decimal digits and separators without grouping; advanced JSON keeps strict ASCII syntax.\nUse the right inputs\nProvide a JSON array with start, end, netCreditSales, cogs, creditPurchases, openingReceivables, closingReceivables, openingInventory, closingInventory, openingPayables and closingPayables. The cycle is inventory days plus collection days minus payable days. Payable days use credit purchases, not cost of goods sold. Negative cycles remain negative. All balances and flows must describe the same period and currency.\nKeep the full record\nUse JSON up to 1000000 characters, 50000 values and 64 nesting levels. Period, invoice and production lists allow up to 2000 records; annual schedules allow 1 to 1000 years. Amounts use plain ASCII decimals up to 1000000000000 and zero to six selected decimal places. Quoted decimal strings preserve exact input. JSON and CSV preserve the full report and source, with exports bounded to 40 million characters and 500000 CSV records. Analysis runs locally with a 10-second timeout. No data is uploaded. Preview tables show the first 200 rows; copy returns the summary. Reports preserve machine keys, source JSON and original content. CSV uses RFC 6901 JSON Pointer field paths and protects spreadsheet formula prefixes; import identifier columns as text.",
  "content_format": "text/plain",
  "visibility": "public",
  "links": [
    {
      "name": "Accounts receivable turnover calculator",
      "url": "https://happytails.ai/en/business-tools/accounts-receivable-turnover-calculator/"
    },
    {
      "name": "Inventory turnover calculator",
      "url": "https://happytails.ai/en/business-tools/inventory-turnover-calculator/"
    },
    {
      "name": "Working capital calculator",
      "url": "https://happytails.ai/en/business-tools/working-capital-calculator/"
    }
  ],
  "tool": {
    "id": "cash-conversion-cycle-calculator",
    "category": "business-tools",
    "built": true,
    "requirements": "Choose Single scenario to enter values in the fields. Choose Multiple records (JSON) to paste an advanced asset or record list. Guided numeric fields accept local decimal digits and separators without grouping; advanced JSON keeps strict ASCII syntax. Provide a JSON array with start, end, netCreditSales, cogs, creditPurchases, openingReceivables, closingReceivables, openingInventory, closingInventory, openingPayables and closingPayables. The cycle is inventory days plus collection days minus payable days. Payable days use credit purchases, not cost of goods sold. Negative cycles remain negative. All balances and flows must describe the same period and currency. Use JSON up to 1000000 characters, 50000 values and 64 nesting levels. Period, invoice and production lists allow up to 2000 records; annual schedules allow 1 to 1000 years. Amounts use plain ASCII decimals up to 1000000000000 and zero to six selected decimal places. Quoted decimal strings preserve exact input. JSON and CSV preserve the full report and source, with exports bounded to 40 million characters and 500000 CSV records. Analysis runs locally with a 10-second timeout. No data is uploaded. Preview tables show the first 200 rows; copy returns the summary.",
    "implementation": {
      "fields": [
        {
          "key": "entryMode",
          "label": "Input method",
          "value": "single",
          "type": "select",
          "values": [
            "single",
            "bulk"
          ],
          "labels": {
            "single": "Single scenario",
            "bulk": "Multiple records (JSON)"
          }
        },
        {
          "key": "start",
          "label": "Period start",
          "value": "2025-01-01",
          "type": "date",
          "maxLength": 120,
          "showWhen": {
            "entryMode": [
              "single"
            ]
          }
        },
        {
          "key": "end",
          "label": "Period end",
          "value": "2025-04-10",
          "type": "date",
          "maxLength": 120,
          "showWhen": {
            "entryMode": [
              "single"
            ]
          }
        },
        {
          "key": "label",
          "label": "Label",
          "value": "",
          "type": "text",
          "maxLength": 120,
          "showWhen": {
            "entryMode": [
              "single"
            ]
          }
        },
        {
          "key": "netCreditSales",
          "label": "Net credit sales",
          "value": "1000.00",
          "type": "text",
          "maxLength": 24,
          "inputMode": "decimal",
          "showWhen": {
            "entryMode": [
              "single"
            ]
          }
        },
        {
          "key": "cogs",
          "label": "Cost of goods sold",
          "value": "1000.00",
          "type": "text",
          "maxLength": 24,
          "inputMode": "decimal",
          "showWhen": {
            "entryMode": [
              "single"
            ]
          }
        },
        {
          "key": "creditPurchases",
          "label": "Credit purchases",
          "value": "500.00",
          "type": "text",
          "maxLength": 24,
          "inputMode": "decimal",
          "showWhen": {
            "entryMode": [
              "single"
            ]
          }
        },
        {
          "key": "openingReceivables",
          "label": "Opening receivables",
          "value": "100.00",
          "type": "text",
          "maxLength": 24,
          "inputMode": "decimal",
          "showWhen": {
            "entryMode": [
              "single"
            ]
          }
        },
        {
          "key": "closingReceivables",
          "label": "Closing receivables",
          "value": "100.00",
          "type": "text",
          "maxLength": 24,
          "inputMode": "decimal",
          "showWhen": {
            "entryMode": [
              "single"
            ]
          }
        },
        {
          "key": "openingInventory",
          "label": "Opening inventory",
          "value": "100.00",
          "type": "text",
          "maxLength": 24,
          "inputMode": "decimal",
          "showWhen": {
            "entryMode": [
              "single"
            ]
          }
        },
        {
          "key": "closingInventory",
          "label": "Closing inventory",
          "value": "100.00",
          "type": "text",
          "maxLength": 24,
          "inputMode": "decimal",
          "showWhen": {
            "entryMode": [
              "single"
            ]
          }
        },
        {
          "key": "openingPayables",
          "label": "Opening payables",
          "value": "200.00",
          "type": "text",
          "maxLength": 24,
          "inputMode": "decimal",
          "showWhen": {
            "entryMode": [
              "single"
            ]
          }
        },
        {
          "key": "closingPayables",
          "label": "Closing payables",
          "value": "200.00",
          "type": "text",
          "maxLength": 24,
          "inputMode": "decimal",
          "showWhen": {
            "entryMode": [
              "single"
            ]
          }
        },
        {
          "key": "bulkJSON",
          "label": "Bulk JSON",
          "value": "[\n  {\n    \"start\": \"2025-01-01\",\n    \"end\": \"2025-04-10\",\n    \"label\": \"\",\n    \"netCreditSales\": \"1000.00\",\n    \"cogs\": \"1000.00\",\n    \"creditPurchases\": \"500.00\",\n    \"openingReceivables\": \"100.00\",\n    \"closingReceivables\": \"100.00\",\n    \"openingInventory\": \"100.00\",\n    \"closingInventory\": \"100.00\",\n    \"openingPayables\": \"200.00\",\n    \"closingPayables\": \"200.00\"\n  }\n]",
          "type": "textarea",
          "maxLength": 1000000,
          "showWhen": {
            "entryMode": [
              "bulk"
            ]
          }
        },
        {
          "key": "precision",
          "label": "Decimal places",
          "value": "2",
          "type": "select",
          "values": [
            "0",
            "1",
            "2",
            "3",
            "4",
            "5",
            "6"
          ]
        },
        {
          "key": "currency",
          "label": "Currency label",
          "value": "USD",
          "type": "text",
          "maxLength": 3
        }
      ],
      "input": false,
      "presentation": "metrics",
      "inputMaxLength": 1000000,
      "inputErrorCode": "FINANCE_SCHEDULES_INPUT",
      "note": "Choose Single scenario to enter values in the fields. Choose Multiple records (JSON) to paste an advanced asset or record list. Guided numeric fields accept local decimal digits and separators without grouping; advanced JSON keeps strict ASCII syntax. Provide a JSON array with start, end, netCreditSales, cogs, creditPurchases, openingReceivables, closingReceivables, openingInventory, closingInventory, openingPayables and closingPayables. The cycle is inventory days plus collection days minus payable days. Payable days use credit purchases, not cost of goods sold. Negative cycles remain negative. All balances and flows must describe the same period and currency. Use JSON up to 1000000 characters, 50000 values and 64 nesting levels. Period, invoice and production lists allow up to 2000 records; annual schedules allow 1 to 1000 years. Amounts use plain ASCII decimals up to 1000000000000 and zero to six selected decimal places. Quoted decimal strings preserve exact input. JSON and CSV preserve the full report and source, with exports bounded to 40 million characters and 500000 CSV records. Analysis runs locally with a 10-second timeout. No data is uploaded. Preview tables show the first 200 rows; copy returns the summary.",
      "experience": {
        "automatic": false,
        "single": false,
        "inputMaxLength": 1000000,
        "inputMode": "text",
        "label": "Your text",
        "placeholder": "Type or paste your input…",
        "help": "Up to 1,000,000 characters. Review the settings before running.",
        "action": null
      },
      "mode": "explicit",
      "interactive": false
    },
    "execution": "Browser interface",
    "api": null,
    "browser_agent": {
      "supported": true,
      "name": "run_current_tool",
      "discovery": "WebMCP on the human page in a supporting browser",
      "verification": "See audit/API-AUDIT.md; availability is not verification"
    }
  },
  "markdown": "# Cash conversion cycle calculator\n\n- Human page: https://happytails.ai/en/business-tools/cash-conversion-cycle-calculator/\n- Markdown: https://happytails.ai/en/business-tools/cash-conversion-cycle-calculator.md\n- Structured JSON: https://happytails.ai/agents/en/business-tools/cash-conversion-cycle-calculator/index.json\n- Visibility: public\n\n## Tool capabilities\n\n| Property | Value |\n| --- | --- |\n| Tool ID | `cash-conversion-cycle-calculator` |\n| Category | business-tools |\n| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |\n| Browser execution | Use the visible action or interactive controls. |\n| Browser processing | Browser; see tool notes for network behavior. |\n| HTTP API | Not callable through HTTP. |\n| Browser-agent interface | run_current_tool |\n\n### Implementation notes\n\nChoose Single scenario to enter values in the fields. Choose Multiple records (JSON) to paste an advanced asset or record list. Guided numeric fields accept local decimal digits and separators without grouping; advanced JSON keeps strict ASCII syntax. Provide a JSON array with start, end, netCreditSales, cogs, creditPurchases, openingReceivables, closingReceivables, openingInventory, closingInventory, openingPayables and closingPayables. The cycle is inventory days plus collection days minus payable days. Payable days use credit purchases, not cost of goods sold. Negative cycles remain negative. All balances and flows must describe the same period and currency. Use JSON up to 1000000 characters, 50000 values and 64 nesting levels. Period, invoice and production lists allow up to 2000 records; annual schedules allow 1 to 1000 years. Amounts use plain ASCII decimals up to 1000000000000 and zero to six selected decimal places. Quoted decimal strings preserve exact input. JSON and CSV preserve the full report and source, with exports bounded to 40 million characters and 500000 CSV records. Analysis runs locally with a 10-second timeout. No data is uploaded. Preview tables show the first 200 rows; copy returns the summary.\n\n### Inputs and settings\n\nNo free-text input is required. Use the file inputs and/or settings below.\n\n| Setting | Meaning | Control type | Default | Constraints |\n| --- | --- | --- | --- | --- |\n| `entryMode` | Input method | select | \"single\" | Allowed: single, bulk |\n| `start` | Period start | date | \"2025-01-01\" |  |\n| `end` | Period end | date | \"2025-04-10\" |  |\n| `label` | Label | text | \"\" |  |\n| `netCreditSales` | Net credit sales | text | \"1000.00\" |  |\n| `cogs` | Cost of goods sold | text | \"1000.00\" |  |\n| `creditPurchases` | Credit purchases | text | \"500.00\" |  |\n| `openingReceivables` | Opening receivables | text | \"100.00\" |  |\n| `closingReceivables` | Closing receivables | text | \"100.00\" |  |\n| `openingInventory` | Opening inventory | text | \"100.00\" |  |\n| `closingInventory` | Closing inventory | text | \"100.00\" |  |\n| `openingPayables` | Opening payables | text | \"200.00\" |  |\n| `closingPayables` | Closing payables | text | \"200.00\" |  |\n| `bulkJSON` | Bulk JSON | textarea | \"[\\n  {\\n    \\\"start\\\": \\\"2025-01-01\\\",\\n    \\\"end\\\": \\\"2025-04-10\\\",\\n    \\\"label\\\": \\\"\\\",\\n    \\\"netCreditSales\\\": \\\"1000.00\\\",\\n    \\\"cogs\\\": \\\"1000.00\\\",\\n    \\\"creditPurchases\\\": \\\"500.00\\\",\\n    \\\"openingReceivables\\\": \\\"100.00\\\",\\n    \\\"closingReceivables\\\": \\\"100.00\\\",\\n    \\\"openingInventory\\\": \\\"100.00\\\",\\n    \\\"closingInventory\\\": \\\"100.00\\\",\\n    \\\"openingPayables\\\": \\\"200.00\\\",\\n    \\\"closingPayables\\\": \\\"200.00\\\"\\n  }\\n]\" |  |\n| `precision` | Decimal places | select | \"2\" | Allowed: 0, 1, 2, 3, 4, 5, 6 |\n| `currency` | Currency label | text | \"USD\" |  |\n\n### Browser-agent workflow\n\n1. Open the human page in a browser that supports WebMCP.\n2. Discover the interface exposed by that page; use its actual schema.\n3. Select files on the page first when the tool requires files.\n4. Call `run_current_tool` with valid input and settings.\n5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.\n\nCalls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.\n\n### Planning specification\n\nChoose Single scenario to enter values in the fields. Choose Multiple records (JSON) to paste an advanced asset or record list. Guided numeric fields accept local decimal digits and separators without grouping; advanced JSON keeps strict ASCII syntax. Provide a JSON array with start, end, netCreditSales, cogs, creditPurchases, openingReceivables, closingReceivables, openingInventory, closingInventory, openingPayables and closingPayables. The cycle is inventory days plus collection days minus payable days. Payable days use credit purchases, not cost of goods sold. Negative cycles remain negative. All balances and flows must describe the same period and currency. Use JSON up to 1000000 characters, 50000 values and 64 nesting levels. Period, invoice and production lists allow up to 2000 records; annual schedules allow 1 to 1000 years. Amounts use plain ASCII decimals up to 1000000000000 and zero to six selected decimal places. Quoted decimal strings preserve exact input. JSON and CSV preserve the full report and source, with exports bounded to 40 million characters and 500000 CSV records. Analysis runs locally with a 10-second timeout. No data is uploaded. Preview tables show the first 200 rows; copy returns the summary.\n\nThis describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.\n\n### Complete machine-readable capability record\n\n```json\n{\n  \"id\": \"cash-conversion-cycle-calculator\",\n  \"category\": \"business-tools\",\n  \"built\": true,\n  \"requirements\": \"Choose Single scenario to enter values in the fields. Choose Multiple records (JSON) to paste an advanced asset or record list. Guided numeric fields accept local decimal digits and separators without grouping; advanced JSON keeps strict ASCII syntax. Provide a JSON array with start, end, netCreditSales, cogs, creditPurchases, openingReceivables, closingReceivables, openingInventory, closingInventory, openingPayables and closingPayables. The cycle is inventory days plus collection days minus payable days. Payable days use credit purchases, not cost of goods sold. Negative cycles remain negative. All balances and flows must describe the same period and currency. Use JSON up to 1000000 characters, 50000 values and 64 nesting levels. Period, invoice and production lists allow up to 2000 records; annual schedules allow 1 to 1000 years. Amounts use plain ASCII decimals up to 1000000000000 and zero to six selected decimal places. Quoted decimal strings preserve exact input. JSON and CSV preserve the full report and source, with exports bounded to 40 million characters and 500000 CSV records. Analysis runs locally with a 10-second timeout. No data is uploaded. Preview tables show the first 200 rows; copy returns the summary.\",\n  \"implementation\": {\n    \"fields\": [\n      {\n        \"key\": \"entryMode\",\n        \"label\": \"Input method\",\n        \"value\": \"single\",\n        \"type\": \"select\",\n        \"values\": [\n          \"single\",\n          \"bulk\"\n        ],\n        \"labels\": {\n          \"single\": \"Single scenario\",\n          \"bulk\": \"Multiple records (JSON)\"\n        }\n      },\n      {\n        \"key\": \"start\",\n        \"label\": \"Period start\",\n        \"value\": \"2025-01-01\",\n        \"type\": \"date\",\n        \"maxLength\": 120,\n        \"showWhen\": {\n          \"entryMode\": [\n            \"single\"\n          ]\n        }\n      },\n      {\n        \"key\": \"end\",\n        \"label\": \"Period end\",\n        \"value\": \"2025-04-10\",\n        \"type\": \"date\",\n        \"maxLength\": 120,\n        \"showWhen\": {\n          \"entryMode\": [\n            \"single\"\n          ]\n        }\n      },\n      {\n        \"key\": \"label\",\n        \"label\": \"Label\",\n        \"value\": \"\",\n        \"type\": \"text\",\n        \"maxLength\": 120,\n        \"showWhen\": {\n          \"entryMode\": [\n            \"single\"\n          ]\n        }\n      },\n      {\n        \"key\": \"netCreditSales\",\n        \"label\": \"Net credit sales\",\n        \"value\": \"1000.00\",\n        \"type\": \"text\",\n        \"maxLength\": 24,\n        \"inputMode\": \"decimal\",\n        \"showWhen\": {\n          \"entryMode\": [\n            \"single\"\n          ]\n        }\n      },\n      {\n        \"key\": \"cogs\",\n        \"label\": \"Cost of goods sold\",\n        \"value\": \"1000.00\",\n        \"type\": \"text\",\n        \"maxLength\": 24,\n        \"inputMode\": \"decimal\",\n        \"showWhen\": {\n          \"entryMode\": [\n            \"single\"\n          ]\n        }\n      },\n      {\n        \"key\": \"creditPurchases\",\n        \"label\": \"Credit purchases\",\n        \"value\": \"500.00\",\n        \"type\": \"text\",\n        \"maxLength\": 24,\n        \"inputMode\": \"decimal\",\n        \"showWhen\": {\n          \"entryMode\": [\n            \"single\"\n          ]\n        }\n      },\n      {\n        \"key\": \"openingReceivables\",\n        \"label\": \"Opening receivables\",\n        \"value\": \"100.00\",\n        \"type\": \"text\",\n        \"maxLength\": 24,\n        \"inputMode\": \"decimal\",\n        \"showWhen\": {\n          \"entryMode\": [\n            \"single\"\n          ]\n        }\n      },\n      {\n        \"key\": \"closingReceivables\",\n        \"label\": \"Closing receivables\",\n        \"value\": \"100.00\",\n        \"type\": \"text\",\n        \"maxLength\": 24,\n        \"inputMode\": \"decimal\",\n        \"showWhen\": {\n          \"entryMode\": [\n            \"single\"\n          ]\n        }\n      },\n      {\n        \"key\": \"openingInventory\",\n        \"label\": \"Opening inventory\",\n        \"value\": \"100.00\",\n        \"type\": \"text\",\n        \"maxLength\": 24,\n        \"inputMode\": \"decimal\",\n        \"showWhen\": {\n          \"entryMode\": [\n            \"single\"\n          ]\n        }\n      },\n      {\n        \"key\": \"closingInventory\",\n        \"label\": \"Closing inventory\",\n        \"value\": \"100.00\",\n        \"type\": \"text\",\n        \"maxLength\": 24,\n        \"inputMode\": \"decimal\",\n        \"showWhen\": {\n          \"entryMode\": [\n            \"single\"\n          ]\n        }\n      },\n      {\n        \"key\": \"openingPayables\",\n        \"label\": \"Opening payables\",\n        \"value\": \"200.00\",\n        \"type\": \"text\",\n        \"maxLength\": 24,\n        \"inputMode\": \"decimal\",\n        \"showWhen\": {\n          \"entryMode\": [\n            \"single\"\n          ]\n        }\n      },\n      {\n        \"key\": \"closingPayables\",\n        \"label\": \"Closing payables\",\n        \"value\": \"200.00\",\n        \"type\": \"text\",\n        \"maxLength\": 24,\n        \"inputMode\": \"decimal\",\n        \"showWhen\": {\n          \"entryMode\": [\n            \"single\"\n          ]\n        }\n      },\n      {\n        \"key\": \"bulkJSON\",\n        \"label\": \"Bulk JSON\",\n        \"value\": \"[\\n  {\\n    \\\"start\\\": \\\"2025-01-01\\\",\\n    \\\"end\\\": \\\"2025-04-10\\\",\\n    \\\"label\\\": \\\"\\\",\\n    \\\"netCreditSales\\\": \\\"1000.00\\\",\\n    \\\"cogs\\\": \\\"1000.00\\\",\\n    \\\"creditPurchases\\\": \\\"500.00\\\",\\n    \\\"openingReceivables\\\": \\\"100.00\\\",\\n    \\\"closingReceivables\\\": \\\"100.00\\\",\\n    \\\"openingInventory\\\": \\\"100.00\\\",\\n    \\\"closingInventory\\\": \\\"100.00\\\",\\n    \\\"openingPayables\\\": \\\"200.00\\\",\\n    \\\"closingPayables\\\": \\\"200.00\\\"\\n  }\\n]\",\n        \"type\": \"textarea\",\n        \"maxLength\": 1000000,\n        \"showWhen\": {\n          \"entryMode\": [\n            \"bulk\"\n          ]\n        }\n      },\n      {\n        \"key\": \"precision\",\n        \"label\": \"Decimal places\",\n        \"value\": \"2\",\n        \"type\": \"select\",\n        \"values\": [\n          \"0\",\n          \"1\",\n          \"2\",\n          \"3\",\n          \"4\",\n          \"5\",\n          \"6\"\n        ]\n      },\n      {\n        \"key\": \"currency\",\n        \"label\": \"Currency label\",\n        \"value\": \"USD\",\n        \"type\": \"text\",\n        \"maxLength\": 3\n      }\n    ],\n    \"input\": false,\n    \"presentation\": \"metrics\",\n    \"inputMaxLength\": 1000000,\n    \"inputErrorCode\": \"FINANCE_SCHEDULES_INPUT\",\n    \"note\": \"Choose Single scenario to enter values in the fields. Choose Multiple records (JSON) to paste an advanced asset or record list. Guided numeric fields accept local decimal digits and separators without grouping; advanced JSON keeps strict ASCII syntax. Provide a JSON array with start, end, netCreditSales, cogs, creditPurchases, openingReceivables, closingReceivables, openingInventory, closingInventory, openingPayables and closingPayables. The cycle is inventory days plus collection days minus payable days. Payable days use credit purchases, not cost of goods sold. Negative cycles remain negative. All balances and flows must describe the same period and currency. Use JSON up to 1000000 characters, 50000 values and 64 nesting levels. Period, invoice and production lists allow up to 2000 records; annual schedules allow 1 to 1000 years. Amounts use plain ASCII decimals up to 1000000000000 and zero to six selected decimal places. Quoted decimal strings preserve exact input. JSON and CSV preserve the full report and source, with exports bounded to 40 million characters and 500000 CSV records. Analysis runs locally with a 10-second timeout. No data is uploaded. Preview tables show the first 200 rows; copy returns the summary.\",\n    \"experience\": {\n      \"automatic\": false,\n      \"single\": false,\n      \"inputMaxLength\": 1000000,\n      \"inputMode\": \"text\",\n      \"label\": \"Your text\",\n      \"placeholder\": \"Type or paste your input…\",\n      \"help\": \"Up to 1,000,000 characters. Review the settings before running.\",\n      \"action\": null\n    },\n    \"mode\": \"explicit\",\n    \"interactive\": false\n  },\n  \"execution\": \"Browser interface\",\n  \"api\": null,\n  \"browser_agent\": {\n    \"supported\": true,\n    \"name\": \"run_current_tool\",\n    \"discovery\": \"WebMCP on the human page in a supporting browser\",\n    \"verification\": \"See audit/API-AUDIT.md; availability is not verification\"\n  }\n}\n```\n\n## Page guide\n\nConnect inventory, collection and payable days to calculate your cash conversion cycle.\n\nHow can we improve this tool?\n\nReport a problem or share an idea.\n\nPlease leave out private information. Your message and the tool name go to our team via PostHog.\n\n### How to use Cash conversion cycle calculator\n\n1. Choose Single scenario for guided fields, or Multiple records (JSON) for advanced inputs.\n2. Choose the currency label and decimal places.\n3. Review the report and download complete JSON or CSV.\n\n## Useful next steps\n\n- [Accounts receivable turnover calculator](https://happytails.ai/en/business-tools/accounts-receivable-turnover-calculator/) ([Markdown](https://happytails.ai/en/business-tools/accounts-receivable-turnover-calculator.md))\n\n- [Inventory turnover calculator](https://happytails.ai/en/business-tools/inventory-turnover-calculator/) ([Markdown](https://happytails.ai/en/business-tools/inventory-turnover-calculator.md))\n\n- [Working capital calculator](https://happytails.ai/en/business-tools/working-capital-calculator/) ([Markdown](https://happytails.ai/en/business-tools/working-capital-calculator.md))\n\n## Enter values directly\n\nChoose Single scenario to enter values in the fields. Choose Multiple records (JSON) to paste an advanced asset or record list. Guided numeric fields accept local decimal digits and separators without grouping; advanced JSON keeps strict ASCII syntax.\n\n### Use the right inputs\n\nProvide a JSON array with start, end, netCreditSales, cogs, creditPurchases, openingReceivables, closingReceivables, openingInventory, closingInventory, openingPayables and closingPayables. The cycle is inventory days plus collection days minus payable days. Payable days use credit purchases, not cost of goods sold. Negative cycles remain negative. All balances and flows must describe the same period and currency.\n\n### Keep the full record\n\nUse JSON up to 1000000 characters, 50000 values and 64 nesting levels. Period, invoice and production lists allow up to 2000 records; annual schedules allow 1 to 1000 years. Amounts use plain ASCII decimals up to 1000000000000 and zero to six selected decimal places. Quoted decimal strings preserve exact input. JSON and CSV preserve the full report and source, with exports bounded to 40 million characters and 500000 CSV records. Analysis runs locally with a 10-second timeout. No data is uploaded. Preview tables show the first 200 rows; copy returns the summary. Reports preserve machine keys, source JSON and original content. CSV uses RFC 6901 JSON Pointer field paths and protects spreadsheet formula prefixes; import identifier columns as text.\n"
}