Files
claudetools/clients/cascades-tucson/session-logs/2026-06-05-howard-cascades-entra-ticket-billing.md
Howard Enos a6c56079a6 sync: auto-sync from HOWARD-HOME at 2026-06-05 21:51:31
Author: Howard Enos
Machine: HOWARD-HOME
Timestamp: 2026-06-05 21:51:31
2026-06-05 21:51:41 -07:00

5.2 KiB

Cascades of Tucson — Session Log 2026-06-05 — Entra Ticket Billing Reconciliation

User

  • User: Howard Enos (howard)
  • Machine: Howard-Home
  • Role: tech

Session Summary

Recovered and completed the billing on Syncro ticket #32303 ("Domain setup-entra sync", Cascades of Tucson, internal id 110680053) after a prior session crashed mid-task while "updating notes and billing." Reconstructed state from the 2026-06-05 Cascades session log and a live read of the ticket rather than assuming what had completed.

Diagnosis from the live ticket: the internal work-summary note (comment 417580711, hidden, posted 6/5 18:24) had landed before the crash, but no labor line item or invoice existed for the 6/4-6/5 caregiver/Entra work. The ticket bills incrementally (each work session = line item -> prepay-drawdown invoice -> "Invoice Emailed"); line items and invoices stopped at 5/29 (last invoice #67677). The six existing line items all dated 5/20-5/29, confirming the 6/4-6/5 work was unbilled. No half-written line item existed, so there was nothing to clean up.

Per Howard's direction: left the existing private note untouched, posted the full 6/4-6/5 work summary as a customer-visible (do-not-email) resolution note so the ticket/invoice shows what was done, then billed 7.0 hours onsite. Cascades is prepaid; the labor drew down the block 15.75 -> 8.75 hrs, producing a $0.00 invoice (#67782). Marked the ticket Invoiced and posted the #bot-alerts notification.

Key Decisions

  • Read the live ticket before billing instead of trusting the session log alone — confirmed the note was posted, the last invoice was 5/29, and all existing line items predated the 6/4-6/5 work, so a single new onsite line was correct with no risk of double-billing.
  • Did not toggle the existing internal note to public. The Syncro API has no documented endpoint to change an existing comment's visibility; probing for one is forbidden by the skill (prior duplicate-comment incidents). Instead posted the work summary as a new customer-visible resolution note. Howard then directed: leave the private note alone, attach the summary to the billing.
  • Resolution note set customer-visible + do-not-email (back-billed work) — matches the prior Resolution-comment pattern on this ticket and avoids a surprise customer email.
  • Single 7.0h onsite line (product 26118 @ $175), per Howard, rather than splitting the remote/onsite mix of the actual work.
  • Namespaced the session log (-howard-cascades-entra-ticket-billing) because the day's main Cascades caregiver log (2026-06-05-session.md) already exists.

Problems Encountered

  • Could not flip the existing internal note to public via API — no comment-visibility update endpoint exists in Syncro's documented surface. Resolved by posting a new customer-visible copy of the summary as the billing resolution note (existing private note left as-is per Howard).

Configuration Changes

  • clients/cascades-tucson/session-logs/2026-06-05-howard-cascades-entra-ticket-billing.md — created (this log).
  • No repo code/config changes. All changes were Syncro records (below).

Credentials & Secrets

None discovered or created. Syncro per-user API key for Howard (user_id 1750) read from the baked-in skill key map; vault backup at msp-tools/syncro-howard.sops.yaml.

Infrastructure & Servers

  • Syncro PSA API base: https://computerguru.syncromsp.com/api/v1 (query-param auth)
  • Cascades of Tucson customer id: 20149445 (prepaid)
  • Discord #bot-alerts via .claude/scripts/post-bot-alert.sh

Commands & Outputs

  • GET /tickets/110680053 — status Resolved; 6 line items dated 5/20-5/29; note 417580711 present (internal).
  • GET /customers/20149445 — prepay_hours 15.75 (before), 8.75 (after).
  • POST /tickets/110680053/comment — resolution note id 417582473 (hidden:false, do_not_email:true; do_not_email echoes null — known Syncro quirk), body 3122 chars.
  • POST /tickets/110680053/add_line_item — line id 42750851, product 26118 "Labor - Onsite Business", qty 7.0, price_retail 175.0, taxable false, user_id 1750.
  • POST /invoices {ticket_id, customer_id} — invoice id 1650592886, number 67782, total 0.0.
  • PUT /tickets/110680053 {status:"Invoiced"} — status Invoiced.
  • post-bot-alert.sh — posted (message_id 1512639173541105784).

Pending / Incomplete Tasks

  • Billing on #32303 for 6/4-6/5 is complete. No further billing action.
  • Field follow-ups (tracked in the main 2026-06-05 Cascades log, not billing): reboot NURSESTATION to verify lock@3min / 90s warning / sign-out@15min / never-sleep; Howard to lower ALIS app timeout 20->15; Monday cutover of real caregiver/medtech users one at a time; Microsoft case for tenant-wide INTUNE_A PendingInput.

Reference Information

  • Ticket: #32303 / internal 110680053 — https://computerguru.syncromsp.com/tickets/110680053
  • Resolution note (this session): comment 417582473 (customer-visible)
  • Existing internal work-summary note: comment 417580711 (hidden, untouched)
  • Line item: 42750851 (7.0h onsite @ $175)
  • Invoice: #67782 / id 1650592886 ($0.00, prepaid)
  • Prepay block: 15.75 -> 8.75 hrs
  • Prior ticket invoices: #67633, 67642, 67645, 67647, 67664, 67677 (through 5/29)