diff --git a/.claude/commands/syncro-emergency-billing.md b/.claude/commands/syncro-emergency-billing.md index 9284cf41..a289f169 100644 --- a/.claude/commands/syncro-emergency-billing.md +++ b/.claude/commands/syncro-emergency-billing.md @@ -70,34 +70,40 @@ Reference: Invoice 67594 (VWP, 2026-05-12), Ticket #32269. ### Scenario B — Non-Block / Direct Billing Customer -Use a **single emergency labor product** for the full hours worked: +Use a **single emergency labor product** for the full hours worked. All delivery channels use product 26184 — the rate varies by how work was delivered: -| Customer type | Product | Product ID | Rate | +| Delivery channel | Product | Product ID | Rate | |---|---|---|---| -| Business | Labor - Emergency or After Hours Business | 26184 | $262.50/hr | +| Remote | Labor - Emergency or After Hours Business | 26184 | $225.00/hr | +| In-Shop | Labor - Emergency or After Hours Business | 26184 | $225.00/hr | +| Onsite | Labor - Emergency or After Hours Business | 26184 | $262.50/hr | Residential rates are legacy — ACG no longer bills residential. Do not use product 42584. -**Example:** 4 hours of emergency business work, direct billing: -- Line 1: `Labor - Emergency or After Hours Business` (26184) — 4.0 hr +**IMPORTANT:** Product 26184's `price_retail` from the live API returns $262.50 (the onsite rate). For remote and in-shop work, you MUST explicitly pass `"price_retail": 225.00` — do NOT use the live-fetched rate blindly for those channels. -Reference: Ticket #32188 (VWP, direct billing, 2026-04-22). +**Example:** 4 hours of emergency in-shop work, direct billing: +- Line 1: `Labor - Emergency or After Hours Business` (26184) — 4.0 hr @ $225.00 + +Reference: Ticket #32188 (VWP, direct billing, 2026-04-22). Rates confirmed by Winter 2026-06-23. --- ## Standard Labor Products (Reference) -Emergency business rate is **$262.50/hr** (product 26184) — used for all emergency/afterhours business work regardless of remote vs onsite. Residential rates are legacy and not in use. +Emergency rates use product 26184 for all channels, but the `price_retail` differs by delivery method — do NOT blindly use the live API rate for remote/in-shop (the API returns the onsite default of $262.50). Residential rates are legacy and not in use. -**Always fetch `price_retail` from `GET /api/v1/products/{id}` before billing non-block customers. Never use a hardcoded rate.** +**For non-emergency work:** fetch `price_retail` from `GET /api/v1/products/{id}` before billing. For emergency work: use the rates below (confirmed by Winter 2026-06-23). -| Service type | Product | Product ID | Live Rate | Notes | +| Service type | Product | Product ID | Rate | Notes | |---|---|---|---|---| | Remote Business | Labor - Remote Business | 1190473 | $150.00/hr | Non-block cash billing | | Onsite Business | Labor - Onsite Business | 26118 | $175.00/hr | | | In-Shop Business | Labor - In Shop Business | 573881 | $150.00/hr | | | Block/Prepaid (any type) | Labor - Remote Business | 1190473 | $0.00 | Price = $0; draws from block in hours | -| Emergency/Afterhours Business | Labor - Emergency or After Hours Business | 26184 | $262.50/hr | All business emergency — remote and onsite | +| Emergency Remote | Labor - Emergency or After Hours Business | 26184 | **$225.00/hr** | Override price_retail — API default is wrong for this channel | +| Emergency In-Shop | Labor - Emergency or After Hours Business | 26184 | **$225.00/hr** | Override price_retail — API default is wrong for this channel | +| Emergency Onsite | Labor - Emergency or After Hours Business | 26184 | **$262.50/hr** | API default is correct for onsite | --- diff --git a/errorlog.md b/errorlog.md index 23216699..9bf8adde 100644 --- a/errorlog.md +++ b/errorlog.md @@ -17,6 +17,10 @@ Categories (the `[type]` tag): _(none)_ = skill/command execution failure · +2026-06-23 | GURU-BEAST-ROG | syncro-emergency-billing | [correction] used onsite emergency rate (62.50) instead of in-shop emergency rate (25.00); correct rates: in-shop=25.00/hr, onsite=62.50/hr + +2026-06-23 | GURU-BEAST-ROG | syncro/billing | Syncro API has no delete or update endpoint for line items — add_line_item is the only confirmed write method. Cannot correct a line item price via API; requires manual UI deletion. [ctx: ticket=32447 line_item_id=42988553] + 2026-06-23 | Howard-Home | unifi-wifi/pfsense-ssh | SSH connect/auth failed (rc=255) [ctx: host=192.168.0.1:22 slug=cascades-tucson act=run] 2026-06-23 | Howard-Home | bash/json-test-data | [friction] Git-Bash heredoc (even quoted <<'EOF') wrote C: as single backslash -> invalid JSON -> PS engine threw 'Unrecognized escape sequence' exit 3; fix: build JSON test files via PowerShell ConvertTo-Json, not bash heredocs [ctx: ref=feedback_tmp_path_windows]