sync: auto-sync from GURU-BEAST-ROG at 2026-05-27 16:11:22
Author: Mike Swanson Machine: GURU-BEAST-ROG Timestamp: 2026-05-27 16:11:22
This commit is contained in:
@@ -119,14 +119,16 @@ Content-Type: application/json
|
||||
"name": "Labor - Remote Business",
|
||||
"description": "Work performed description",
|
||||
"quantity": 2.0,
|
||||
"price": 0.0,
|
||||
"price_retail": 0.0,
|
||||
"taxable": false
|
||||
}
|
||||
```
|
||||
|
||||
- `price`: use `0.0` for block customers; for non-block, fetch live rate first: `GET /api/v1/products/{product_id}` → `.product.price_retail`
|
||||
- `price_retail`: **CRITICAL — use `price_retail`, NOT `price`.** Using `price` silently discards the value and bills $0.00 even though the API returns HTTP 200. Confirmed broken 2026-05-27 (ticket #32335).
|
||||
- Block customers: `"price_retail": 0.0`
|
||||
- Non-block customers: fetch live rate first (`GET /api/v1/products/{product_id}` → `.product.price_retail`), then pass that value
|
||||
- `taxable`: always `false` for labor (Arizona labor is never taxable)
|
||||
- Success response: HTTP 200 with the new line item's `id`
|
||||
- Success response: HTTP 200 with the new line item's `id` — verify `price_retail` in the response matches what you sent
|
||||
|
||||
**Pre-billing check** — before adding line items, verify the ticket has no existing labor to avoid duplicates:
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user