-
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