> ## Documentation Index
> Fetch the complete documentation index at: https://docs.centsless.org/llms.txt
> Use this file to discover all available pages before exploring further.

# FLSA-compliant tip processing and pooling

> Record cash and credit card tips, create and distribute tip pools, and validate state-specific tip credit compliance using the Centsless API.

Centsless processes tips with FLSA compliance built in — ceiling rounding always favors employees, so no tip amount is ever rounded down. Tip pools support equal, weighted, and hours-based distribution, and the wage theft detection endpoint surfaces patterns that may indicate unauthorized deductions or below-minimum-wage violations.

## Recording a cash tip

Use `POST /tip/cash` to record a cash tip against a completed transaction.

**Required fields:** `transaction_id`, `employee_id`, `employee_name`, `tip_amount` (in dollars).

```bash theme={null}
curl -X POST https://api.centsless.org/api/v1/tip/cash \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "transaction_id": "TXN-2026-04-14-A82C2EAA",
    "employee_id": "EMP-001",
    "employee_name": "Test Cashier",
    "tip_amount": 3.50
  }'
```

<Note>
  Cash tip rounding uses FLSA-compliant ceiling rounding — fractional cents always round up, never down, in favor of the employee.
</Note>

## Recording a credit card tip

Use `POST /tip/credit-card` with the same fields as a cash tip. The endpoint creates an audit trail for the credit card tip.

```bash theme={null}
curl -X POST https://api.centsless.org/api/v1/tip/credit-card \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "transaction_id": "TXN-2026-04-14-A82C2EAA",
    "employee_id": "EMP-001",
    "employee_name": "Test Cashier",
    "tip_amount": 3.50
  }'
```

## Creating and distributing a tip pool

Tip pools let you aggregate tips across multiple employees and distribute them using a defined method. The flow is two steps: create the pool, then distribute it.

**Step 1 — Create the pool** with `POST /tip/pool/create`:

**Required fields:** `pool_name`, `tip_ids` (array of tip IDs to include), `distribution_method` (`equal`, `weighted`, or `hours_based`), and `participants` (array of employee objects with `employeeId` and `employeeName`).

```bash theme={null}
curl -X POST https://api.centsless.org/api/v1/tip/pool/create \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "pool_name": "Sunday Lunch Pool",
    "tip_ids": ["TIP-001", "TIP-002", "TIP-003"],
    "distribution_method": "equal",
    "participants": [
      { "employeeId": "EMP-001", "employeeName": "Test Cashier" },
      { "employeeId": "EMP-002", "employeeName": "Jane Server" }
    ]
  }'
```

**Step 2 — Distribute the pool** with `POST /tip/pool/distribute`. Pass the `pool_id` returned from the create step:

```bash theme={null}
curl -X POST https://api.centsless.org/api/v1/tip/pool/distribute \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "pool_id": "POOL-001"
  }'
```

## Processing an employee payout

Use `POST /tip/payout` to process a tip payout to an employee.

**Required fields:** `employee_id`, `employee_name`, `payout_amount`, `payout_method` (`cash`, `check`, or `direct_deposit`).

```bash theme={null}
curl -X POST https://api.centsless.org/api/v1/tip/payout \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "employee_id": "EMP-001",
    "employee_name": "Test Cashier",
    "payout_amount": 47.50,
    "payout_method": "cash"
  }'
```

## Validating tip credit compliance

Use `POST /tip/validate-compliance` to check whether a merchant's tipping practices comply with state-specific tip credit regulations and FLSA requirements.

**Required fields:** `state`, `hourly_wage` (dollars), `average_tips_per_hour` (dollars).

```bash theme={null}
curl -X POST https://api.centsless.org/api/v1/tip/validate-compliance \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_API_KEY" \
  -d '{
    "state": "IN",
    "hourly_wage": 7.25,
    "average_tips_per_hour": 3.50
  }'
```

The response indicates whether the combination of hourly wage and tip income satisfies the applicable state and federal minimum wage requirements.

## Wage theft detection

Use `GET /analytics/tip-wage-theft` to analyze tip patterns across your merchants for potential wage theft indicators. The endpoint surfaces patterns including:

* **Tip skimming** — tips recorded but not disbursed to employees
* **Unauthorized deductions** — amounts withheld from tip totals without a valid reason
* **Below-minimum-wage violations** — hourly compensation falling below state or federal minimums after accounting for tips

```bash theme={null}
curl https://api.centsless.org/api/v1/analytics/tip-wage-theft \
  -H "x-api-key: YOUR_API_KEY"
```
