Commit Graph

  • 959e323f3a Add 4 AI bookkeeping features spouliot 2026-05-10 19:22:49 -04:00
  • e2f9e9ae4f Button consistency sweep + mobile responsiveness patches spouliot 2026-05-10 19:04:10 -04:00
  • 328b195127 Design consistency audit fixes: alerts, cards, dark mode, utilities spouliot 2026-05-10 18:05:29 -04:00
  • f6d457fe0e Condense Operations sidebar: remove 5 items, tighten padding spouliot 2026-05-10 13:57:09 -04:00
  • c65445b94e Move Job Templates from sidebar nav to Jobs page header button spouliot 2026-05-10 13:49:10 -04:00
  • ccb094e57a Fix nav mode strip: underline-tab style + stable scrollbar gutter spouliot 2026-05-10 13:45:55 -04:00
  • 0204430fa5 Add Operations/Finance mode switcher to sidebar nav spouliot 2026-05-10 13:40:14 -04:00
  • 4fd9c52aaf Phase G: Add Budgeting and Year-End Close spouliot 2026-05-10 13:01:56 -04:00
  • fde24b09c9 Phase F: Add Invoice Write-Off, Fixed Assets, Period Locking, and 1099 Tracking spouliot 2026-05-10 12:19:32 -04:00
  • a255893ada Add Credit Memos standalone management module spouliot 2026-05-10 11:48:35 -04:00
  • d94612cc9c Fix 4 post-review issues found in accounting module audit spouliot 2026-05-10 11:32:44 -04:00
  • 14026818e2 Phase H: Add Cash Flow Statement (direct / cash-basis method) spouliot 2026-05-10 11:14:47 -04:00
  • 42eff3357e Phase G: Add Recurring Transactions (BackgroundService + CRUD UI) spouliot 2026-05-10 11:08:36 -04:00
  • d3a5d827f9 Phase F: Customer/Vendor Statements, Payment Terms Parser, Tax Rates spouliot 2026-05-10 10:55:22 -04:00
  • 1229081436 Phase E: Add Bank Reconciliation spouliot 2026-05-10 00:10:38 -04:00
  • cf9dcfb4c1 Phase D: Add Vendor Credits (AP cycle completion) spouliot 2026-05-10 00:03:14 -04:00
  • a33687f7bd Phase C: Add Manual Journal Entries (double-entry GL) spouliot 2026-05-09 23:56:03 -04:00
  • 0afb474c3e Add Phase B: Inventory COGS auto-posting to GL on JobUsage transactions spouliot 2026-05-09 23:39:23 -04:00
  • 7e1676cfd7 Add Phase A accounting features: AP Aging, Trial Balance, Cash vs Accrual spouliot 2026-05-09 23:34:54 -04:00
  • 379b0de885 Refactor: centralize accounting helpers, status constants, and query deduplication spouliot 2026-05-09 22:42:39 -04:00
  • edd7389d7d Refactor: extract shared helpers, fix field drift, add assembly services spouliot 2026-05-09 22:12:33 -04:00
  • 61866e1d1e Add carried-over jobs section to Daily Board and fix tip visibility spouliot 2026-05-09 15:34:39 -04:00
  • bc9de38da3 Fix Cash account subtype missing from debit-normal balance check spouliot 2026-05-08 23:13:24 -04:00
  • 2694863d07 Fix health check URL to use production custom domain spouliot 2026-05-08 23:08:30 -04:00
  • 8646fa83c8 Fix PowerShell syntax error in zip creation step spouliot 2026-05-08 22:56:12 -04:00
  • 796d084ea6 Fix zip entry paths to use forward slashes for Linux compatibility spouliot 2026-05-08 22:46:24 -04:00
  • 6d23c63912 Stop app before deploy to prevent rsync file lock failures spouliot 2026-05-08 22:11:04 -04:00
  • 3803d16731 Fix prod Jenkins pipeline: add tests, restart, and health check stage spouliot 2026-05-08 21:44:51 -04:00
  • 29fd7163dc Merge dev into master: billing email, SMS consent, incoming powder, invoice/job fixes spouliot 2026-05-08 21:13:54 -04:00
  • 9a52e7fae5 Ad-hoc quote email, accounting improvements, AI lookup fix, and misc service updates spouliot 2026-05-08 20:48:00 -04:00
  • 0d980e651a Add pricing breakdown and powder pre-fill to Job Details; surface voided invoice history spouliot 2026-05-08 20:47:44 -04:00
  • 3278152d83 Fix invoice re-creation after void; add payment terms selector and shop supplies line spouliot 2026-05-08 20:47:34 -04:00
  • fc35fd123c Add IsIncoming inventory flag and catalog-to-incoming powder flow in item wizard spouliot 2026-05-08 20:47:19 -04:00
  • f40d58ac2e Add TCPA-compliant SMS consent tracking for prospect quotes spouliot 2026-05-08 20:47:04 -04:00
  • fb979bc88d Add BillingEmail field for commercial customers; support comma-separated multi-email spouliot 2026-05-08 20:46:53 -04:00
  • 12f784f34c Add Unit Price column to quote PDF spouliot 2026-05-06 21:41:44 -04:00
  • 90f93b6e2f Fall back to ProspectEmail for CustomerEmail on prospect quotes spouliot 2026-05-06 21:31:12 -04:00
  • 135fd6f8d7 Clarify no-contact warning to say 'mobile number' not 'phone' spouliot 2026-05-06 21:06:24 -04:00
  • ff231d9dd2 Set quote status to Converted and show job number link on quote details spouliot 2026-05-06 20:47:45 -04:00
  • e3c76ce7ce Fix missing customer contact fields on QuoteDto mapping spouliot 2026-05-06 20:14:38 -04:00
  • 2cfe093780 Share Mark Complete modal as partial view; hide install button after PWA install spouliot 2026-05-06 19:55:37 -04:00
  • bbedaedeaa Redirect board COMPLETED drop to Details page for full completion flow spouliot 2026-05-06 17:54:13 -04:00
  • acbd9f60be Hide email controls when no email on file; show SMS hint for quote/job events spouliot 2026-05-06 17:32:08 -04:00
  • d3863c713b Add QuoteApprovedByCustomer notification type; fix wrong type logged on approval spouliot 2026-05-06 17:13:34 -04:00
  • 4085ff7c73 Advance quote to Sent status when approval link sent via SMS spouliot 2026-05-06 17:04:25 -04:00
  • 96ae3639ae Fix duplicate name on quote PDF for non-commercial customers spouliot 2026-05-06 17:01:37 -04:00
  • 8c30d5bf5a Restore IncludePrepCost pricing for catalog items with abnormal prep spouliot 2026-05-06 16:47:48 -04:00
  • 9292f3169c Fix catalog item pricing and rogue margin-points text spouliot 2026-05-06 16:43:42 -04:00
  • 810d5a5dc1 Update idempotent EF migration script for prod deploy spouliot 2026-05-06 16:23:22 -04:00
  • 8a09a91234 Merge dev into master spouliot 2026-05-06 16:20:49 -04:00
  • d8622b3187 Fix catalog item repricing on oven-only quote edits spouliot 2026-05-06 16:04:45 -04:00
  • 2d8827ad5c Fix 'Oven (1 batch × 0 min)' display when OvenCycleMinutes is null spouliot 2026-05-06 15:35:38 -04:00
  • 4d10175ce3 Add oven batch cost to AI Quick Quote (1 batch, DefaultOvenCycleMinutes or 50 min) spouliot 2026-05-06 15:20:10 -04:00
  • 9c4c20e8bd Fix false-positive 'source quote was modified' banner after job conversion spouliot 2026-05-06 14:46:39 -04:00
  • ecb285657a Fix sandblast-only toggle overflow and $0 AI quote pricing spouliot 2026-05-06 14:29:03 -04:00
  • 0054b7d108 Fix NullReferenceException on Quote Details when quote total is zero spouliot 2026-05-06 14:16:24 -04:00
  • 63a85b6ce9 Fix sandblast-only oven charge and wizard overflow; fix Jenkins test failures spouliot 2026-05-06 13:56:20 -04:00
  • 71caa93461 Fix unit test build failures after logo service and pricing changes spouliot 2026-05-06 13:38:18 -04:00
  • 2e73cfab54 Miscellaneous UI and pricing updates from prior sessions spouliot 2026-05-06 12:27:37 -04:00
  • 74414c6c71 Add AI overload retry with model fallback and consolidate wizard errors spouliot 2026-05-06 12:27:27 -04:00
  • a8fb56e8ec Fix company logo missing from PDFs and add AI photo save logging spouliot 2026-05-06 12:27:18 -04:00
  • ca4fb959aa Add Sales Tax Liability report with PDF and CSV export spouliot 2026-05-06 12:27:08 -04:00
  • 7e0699d5bd Add smart install prompt for supported browsers spouliot 2026-05-06 09:05:00 -04:00
  • f383339465 Store powder specific gravity and fix coverage math spouliot 2026-05-06 08:46:41 -04:00
  • 11a1b91be1 Add platform powder catalog management UI with full CRUD and AI lookup spouliot 2026-05-06 00:27:44 -04:00
  • b0d8d5c612 Merge dev: powder usage logging, time entry fix, Data Protection keys spouliot 2026-05-05 22:35:58 -04:00
  • 713efbc2b6 Store Data Protection keys in SQL Server (non-production) spouliot 2026-05-05 22:08:31 -04:00
  • c7a60a1fad Use Azure Blob Storage for Data Protection keys on non-local deployments spouliot 2026-05-05 21:54:37 -04:00
  • c45a6826bd Fix time entry 500 and inventory edit pencil visibility spouliot 2026-05-05 21:46:05 -04:00
  • 010d0437c2 Fix grace period tests: set StripeSubscriptionId on test companies spouliot 2026-05-05 21:27:38 -04:00
  • 20ae11be03 Commit remaining unstaged changes from this session spouliot 2026-05-05 21:20:30 -04:00
  • 4c070e7487 Fix SubscriptionServiceTests: add IPlatformSettingsService stub spouliot 2026-05-05 21:15:03 -04:00
  • 03d3f57f7b Fix time entry workers, powder usage logging, inventory edit, and mojibake spouliot 2026-05-05 21:05:37 -04:00
  • 7fe8bc81c6 Exclude trial companies from MRR/ARR and revenue trend spouliot 2026-05-05 09:10:59 -04:00
  • a689b1752d Fix service worker intercepting cross-origin image fetches, breaking CSP connect-src spouliot 2026-05-04 23:31:06 -04:00
  • 4b845d7a1a Restore linux-x64 RID for SqlClient; xcopy handles wwwroot separately spouliot 2026-05-04 23:07:47 -04:00
  • 56c8b71706 Use az webapp deploy --type zip --async for WEBSITE_RUN_FROM_PACKAGE=1 mode spouliot 2026-05-04 23:01:09 -04:00
  • 1e22acf1dc Fix missing wwwroot: remove linux-x64 RID, explicitly xcopy wwwroot after publish spouliot 2026-05-04 22:48:39 -04:00
  • 676f63e7dc Add wwwroot verification step after publish to diagnose missing static files spouliot 2026-05-04 22:43:12 -04:00
  • d75e5a02ed Switch to Kudu zip deploy (config-zip) to match manual deploy behavior spouliot 2026-05-04 22:34:07 -04:00
  • b92a9f78df Restore PATH, linux-x64 publish, and ZipFile deploy lost in merge conflict spouliot 2026-05-04 22:19:57 -04:00
  • 444748adb7 Merge branch 'dev' spouliot 2026-05-04 22:14:55 -04:00
  • 4c58d57928 Commit misc scripts, feature specs, SQL deploy scripts, and settings updates spouliot 2026-05-04 22:14:25 -04:00
  • ee3158b7d5 Hide Scan Label button on page load until coating category is selected spouliot 2026-05-04 22:13:19 -04:00
  • 87a235ed1d Use ZipFile.CreateFromDirectory for reliable subdirectory inclusion in zip spouliot 2026-05-04 22:08:32 -04:00
  • be5717ebe2 Remove linux-x64 from solution build; let publish handle RID build spouliot 2026-05-04 21:56:41 -04:00
  • 1392ddccda Target linux-x64 on build and publish for Azure Linux App Service spouliot 2026-05-04 21:54:25 -04:00
  • 06c914e65c Add Azure CLI wbin to PATH for Jenkins agent spouliot 2026-05-04 21:40:23 -04:00
  • 92570bb1f6 Rewrite Jenkinsfile for Windows appdev agent (bat, az CLI, EF direct update) spouliot 2026-05-04 21:29:18 -04:00
  • e447cdc803 Rewrite Jenkinsfile for Windows appdev agent (bat, az CLI, EF direct update) spouliot 2026-05-04 21:29:18 -04:00
  • 2885bc1228 Update help docs and AI knowledge base for new features spouliot 2026-05-04 09:35:31 -04:00
  • aa0efe7c6f Add PWA install banner to dashboard spouliot 2026-05-04 09:29:21 -04:00
  • 7a5fef4741 Fix pwa-icon-192 to use new orange cloud logo spouliot 2026-05-04 09:11:04 -04:00
  • 1088af7697 Fix iOS PWA icon: add apple-touch-icon with white background spouliot 2026-05-04 09:06:52 -04:00
  • 50b1794799 Add PWA manifest, fix AI multi-coat pricing, and improve catalog lookup spouliot 2026-05-04 08:58:10 -04:00
  • e9e37b0bf7 Merge dev: inventory label scanner improvements and AI lookup parity spouliot 2026-05-03 20:30:44 -04:00
  • 7de65910e3 Extract shared catalog enrichment into EnrichFromCatalogAsync helper spouliot 2026-05-03 20:27:28 -04:00
  • 145da7b5c4 Apply TDS cure fallback and SDS/TDS URL filling to AI Lookup button spouliot 2026-05-03 20:19:43 -04:00
  • 4182286a31 Fall back to TDS sheet for cure specs when main lookup returns none spouliot 2026-05-03 20:14:12 -04:00
  • 5e3b0b9ddf Inline add-stock prompt when label scan finds existing inventory item spouliot 2026-05-03 19:59:43 -04:00