# Sales return allowance calculator

- Human page: https://happytails.ai/en/business-tools/sales-return-allowance-calculator/
- Markdown: https://happytails.ai/en/business-tools/sales-return-allowance-calculator.md
- Structured JSON: https://happytails.ai/agents/en/business-tools/sales-return-allowance-calculator/index.json
- Visibility: public

## Tool capabilities

| Property | Value |
| --- | --- |
| Tool ID | `sales-return-allowance-calculator` |
| Category | business-tools |
| Implementation | Registered implementation. Registration alone is not a production-quality guarantee. |
| Browser execution | Use the visible action or interactive controls. |
| Browser processing | Browser; see tool notes for network behavior. |
| HTTP API | Not callable through HTTP. |
| Browser-agent interface | run_current_tool |

### Implementation notes

For each return rate, the refund you expect to pay is held back from gross sales, and the goods you expect back are taken out of cost of sales less your recovery costs. Amounts are rounded to the currency decimal places. This is arithmetic, not accounting or tax advice. Processing stays on your device.

### Inputs and settings

No free-text input is required. Use the file inputs and/or settings below.

| Setting | Meaning | Control type | Default | Constraints |
| --- | --- | --- | --- | --- |
| `grossSales` | Gross sales for the period | text | "250000.00" |  |
| `costOfSales` | Cost of the goods sold | text | "140000.00" |  |
| `returnRates` | Return rates to test (%) | text | "4; 8; 12; 20" |  |
| `restockingFee` | Restocking fee you keep on returns (%) | text | "0" |  |
| `recoveryLoss` | Recovery cost and value lost on returned goods (% of their cost) | text | "15" |  |
| `currency` | Currency code | text | "USD" |  |
| `precision` | Currency decimal places | select | "2" | Allowed: 0, 1, 2, 3, 4, 5, 6 |
| `rounding` | Rounding | select | "half-up" | Allowed: half-up, half-even, half-down, down, up, floor, ceiling |

### Browser-agent workflow

1. Open the human page in a browser that supports WebMCP.
2. Discover the interface exposed by that page; use its actual schema.
3. Select files on the page first when the tool requires files.
4. Call `run_current_tool` with valid input and settings.
5. Inspect the returned result or error and the displayed output. Retrieve files from the displayed download links.

Calls do not automatically copy or download results. Browser permissions still apply. Interface availability alone is not proof of successful execution.

### Planning specification

Gross sales from 0.01 and cost of sales from 0, both up to 1,000,000,000,000, with no more decimal places than the currency uses. Up to 10 return rates from 0 to 100 percent, and restocking fee and recovery loss from 0 to 100 percent, all with two decimal places. Calculated on your device. Download a JSON report and CSV files.

This describes intended requirements. Use the implementation notes, interface schema and observed output to determine current support.

### Complete machine-readable capability record

```json
{
  "id": "sales-return-allowance-calculator",
  "category": "business-tools",
  "built": true,
  "requirements": "Gross sales from 0.01 and cost of sales from 0, both up to 1,000,000,000,000, with no more decimal places than the currency uses. Up to 10 return rates from 0 to 100 percent, and restocking fee and recovery loss from 0 to 100 percent, all with two decimal places. Calculated on your device. Download a JSON report and CSV files.",
  "implementation": {
    "fields": [
      {
        "key": "grossSales",
        "label": "Gross sales for the period",
        "value": "250000.00",
        "help": "Invoiced sales before returns, without sales tax or VAT.",
        "type": "text",
        "inputMode": "decimal",
        "maxLength": 32
      },
      {
        "key": "costOfSales",
        "label": "Cost of the goods sold",
        "value": "140000.00",
        "help": "What the goods in those sales cost you.",
        "type": "text",
        "inputMode": "decimal",
        "maxLength": 32
      },
      {
        "key": "returnRates",
        "label": "Return rates to test (%)",
        "value": "4; 8; 12; 20",
        "help": "Share of sales value you expect back. Separate values with semicolons or spaces.",
        "type": "text",
        "maxLength": 600
      },
      {
        "key": "restockingFee",
        "label": "Restocking fee you keep on returns (%)",
        "value": "0",
        "type": "text",
        "inputMode": "decimal",
        "maxLength": 32
      },
      {
        "key": "recoveryLoss",
        "label": "Recovery cost and value lost on returned goods (% of their cost)",
        "value": "15",
        "help": "Return shipping, inspection, repackaging and any goods you cannot resell at full value.",
        "type": "text",
        "inputMode": "decimal",
        "maxLength": 32
      },
      {
        "key": "currency",
        "label": "Currency code",
        "value": "USD",
        "type": "text",
        "maxLength": 3,
        "autoCapitalize": "characters"
      },
      {
        "key": "precision",
        "label": "Currency decimal places",
        "value": "2",
        "type": "select",
        "values": [
          "0",
          "1",
          "2",
          "3",
          "4",
          "5",
          "6"
        ]
      },
      {
        "key": "rounding",
        "label": "Rounding",
        "value": "half-up",
        "type": "select",
        "values": [
          "half-up",
          "half-even",
          "half-down",
          "down",
          "up",
          "floor",
          "ceiling"
        ],
        "labels": {
          "half-up": "Half up (ties away from zero)",
          "half-even": "Half even (ties to even)",
          "half-down": "Half down (ties toward zero)",
          "down": "Toward zero (truncate)",
          "up": "Away from zero",
          "floor": "Toward negative infinity",
          "ceiling": "Toward positive infinity"
        }
      }
    ],
    "registrationFamily": "commerce-margins",
    "presentation": "metrics",
    "note": "For each return rate, the refund you expect to pay is held back from gross sales, and the goods you expect back are taken out of cost of sales less your recovery costs. Amounts are rounded to the currency decimal places. This is arithmetic, not accounting or tax advice. Processing stays on your device.",
    "input": false,
    "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"
  }
}
```

## Page guide

Forecast net sales and gross profit for several expected return rates. See the refund liability, the value of goods you expect back and the return rate that would wipe out gross profit.

How can we improve this tool?

Report a problem or share an idea.

Please leave out private information. Your message and the tool name go to our team via PostHog.

### How to use Sales return allowance calculator

1. Enter gross sales for the period and the cost of the goods in those sales.
2. List the return rates you want to test.
3. Enter any restocking fee you keep and your recovery cost and loss in value on returned goods.
4. Calculate, compare the scenarios, then download the report.

## Useful next steps

- [Margin](https://happytails.ai/en/calculators/margin/) ([Markdown](https://happytails.ai/en/calculators/margin.md))

- [Inventory turnover calculator](https://happytails.ai/en/business-tools/inventory-turnover-calculator/) ([Markdown](https://happytails.ai/en/business-tools/inventory-turnover-calculator.md))

- [Break even](https://happytails.ai/en/calculators/break-even/) ([Markdown](https://happytails.ai/en/calculators/break-even.md))

## Refund liability and net sales

When customers can return goods, IFRS 15 Revenue from Contracts with Customers (IASB, May 2014), paragraph B21, recognises revenue only for the consideration you expect to keep, plus a refund liability for what you expect to refund. Here the refund liability is gross sales times the return rate times one minus any restocking fee you keep, and net sales are gross sales minus that liability. At 8% of 250,000.00, the liability is 20,000.00 and net sales are 230,000.00.

### Goods you expect back

Paragraph B25 measures the asset for goods you expect to recover at their former carrying amount less the expected costs to recover them, including any loss in their value. The calculator takes cost of sales times the return rate times one minus your recovery cost and loss percentage, and removes that from cost of sales. At 8% with a 15% recovery loss, 140,000.00 of cost gives a return asset of 9,520.00 and a gross profit of 99,520.00.

### Break-even return rate and limits

The break-even return rate is the rate at which gross profit falls to zero: gross profit before returns divided by the net sales lost per unit of return rate less the cost recovered, 110,000 divided by 131,000 in the example, or 83.97%. Return rates come from your own history or forecast. This is an arithmetic model for planning, not accounting, audit or tax advice, and it does not handle exchanges, partial refunds or returns that fall in a later period.
