This website requires JavaScript.
85cdecddea
fix(fusion_clock): keep inline nav bars instead of a shared template
gsinghpal
2026-05-30 21:56:54 -04:00
2aaa1a57e7
feat(fusion_clock): schedule-driven attendance automation
gsinghpal
2026-05-30 21:54:05 -04:00
b5d5a9acba
fix(fusion_clock): build paystub from payslip.line_ids, not fusion_payroll fields
gsinghpal
2026-05-30 21:49:53 -04:00
0d94af6532
fix(fusion_clock): render payslip PDF via report.id, not report_name
gsinghpal
2026-05-30 21:45:05 -04:00
95abd2e337
style(fusion_clock): payslip list/detail, 4-item nav, and sign-out styles
gsinghpal
2026-05-30 21:38:22 -04:00
b1db851e29
feat(fusion_clock): add Payslips tab to employee nav + Sign Out in clock header
gsinghpal
2026-05-30 21:37:17 -04:00
f18c59fe89
feat(fusion_clock): payslip list + inline paystub templates and shared employee navbar
gsinghpal
2026-05-30 21:35:55 -04:00
2fb774e4fa
feat(fusion_clock): portal routes for employee payslips (list / inline paystub / pdf)
gsinghpal
2026-05-30 21:34:53 -04:00
60c25f8241
feat(fusion_plating_portal): hide customer sidebar from internal staff + redirect them to the clock portal
gsinghpal
2026-05-30 21:33:12 -04:00
47a6523e24
docs(employee-portal): implementation plan (5 build tasks + entech smoke)
gsinghpal
2026-05-30 21:30:21 -04:00
4a9f31cef5
docs(employee-portal): design spec for staff Clock + Payslips portal
gsinghpal
2026-05-30 21:22:27 -04:00
dd908c3861
docs(fusion_clock): design spec — schedule-driven attendance automation
gsinghpal
2026-05-30 21:17:56 -04:00
5c1f60b3b8
changes
gsinghpal
2026-05-30 20:59:59 -04:00
55da42e91f
fix(fusion_clock): hide the Odoo backend escape hatch on the NFC kiosk
gsinghpal
2026-05-30 20:35:50 -04:00
ab3e6fa1e2
feat(fusion_clock): auto-wipe clock-in/out photos after a retention window
gsinghpal
2026-05-30 20:19:22 -04:00
e2f7fa6d19
feat(fusion_clock): show NFC clock-in/out photos on the attendance form
gsinghpal
2026-05-30 20:06:39 -04:00
2c8ad83d43
fix(fusion_clock): NFC clock-out shows gross worked time, not net-of-penalty
gsinghpal
2026-05-30 18:59:10 -04:00
3fd074ff6d
fix(fusion_clock): kiosk photo now shows on clock + profile (right image fields)
gsinghpal
2026-05-30 18:29:46 -04:00
e26a7cd9e8
feat(fusion_clock): NFC photo capture — 10s auto-capture, vertical oval, cache-busted avatar
gsinghpal
2026-05-30 18:14:19 -04:00
09cea73e50
fix(fusion_clock): SCSS compile error — replace CSS min() with width+max-width
gsinghpal
2026-05-30 17:48:29 -04:00
3235d4ceca
fix(fusion_clock): un-squeeze the NFC kiosk Manager PIN pad on tablets
gsinghpal
2026-05-30 17:43:54 -04:00
5a488ae86e
feat(fusion_clock): always-available kiosk photo action + compact manager PIN pad
gsinghpal
2026-05-30 17:38:34 -04:00
55898dd1d4
feat(fusion_clock): NFC kiosk — enrollment, manager page, sounds, lock, profile photos
gsinghpal
2026-05-30 17:21:33 -04:00
2a16f80d8d
feat(fusion_clock): kiosk app + Kiosk Operator role, full-screen PWA, app-integrated permissions
gsinghpal
2026-05-30 14:48:29 -04:00
cecc699a70
fix(plating): trim default SO order-line columns to the plating set
gsinghpal
2026-05-30 00:42:20 -04:00
4949856336
fix(plating): drop Specification + Delivery Date from customer reports
gsinghpal
2026-05-30 00:19:40 -04:00
9826e03b4e
fix(plating): show additional charge under subtotal on SO + invoice PDFs
gsinghpal
2026-05-30 00:04:33 -04:00
69aa6b050b
style(plating): subtle plum accents + gradients on the express order form
gsinghpal
2026-05-29 23:12:46 -04:00
5675784916
fix(plating): stop charge/tax pickers collapsing in order summary
gsinghpal
2026-05-29 23:01:14 -04:00
0d4a871d0c
style(plating): add vertical column divider to order summary table
gsinghpal
2026-05-29 22:54:52 -04:00
aac95ee16b
style(plating): express order summary as a bordered table
gsinghpal
2026-05-29 22:49:11 -04:00
028814b292
fix(plating): order-level Lot Order toggle replaces per-line lot checkbox
gsinghpal
2026-05-29 22:44:07 -04:00
2bd0672b52
fix(configurator): lot pricing robust in totals + SO-create (not reliant on onchange)
gsinghpal
2026-05-29 21:48:43 -04:00
dc1dacddc2
feat(configurator): express summary — charge type + tax type + lot column
gsinghpal
2026-05-29 21:42:42 -04:00
6dde3ec2b1
feat(configurator): SO-create applies one tax to all lines + typed charge line
gsinghpal
2026-05-29 21:40:52 -04:00
a2ac804238
feat(configurator): per-line lot pricing (derive unit price, keep qty)
gsinghpal
2026-05-29 21:38:49 -04:00
f8929eb686
feat(configurator): totals = one tax on (subtotal + charge)
gsinghpal
2026-05-29 21:37:00 -04:00
a07a5f931a
feat(configurator): wizard charge_type_id + charge_amount + order-level tax_id
gsinghpal
2026-05-29 21:34:47 -04:00
c6022c70f9
feat(configurator): fp.additional.charge.type model + config menu + seed
gsinghpal
2026-05-29 21:32:49 -04:00
7efaadc1c1
docs(plating): implementation plan for charge type + order-level tax + lot pricing
gsinghpal
2026-05-29 21:25:25 -04:00
21300db8e8
docs(plating): spec — configurable charge type + order-level tax + lot pricing
gsinghpal
2026-05-29 21:17:55 -04:00
1e9ffccd6b
feat(invoicing): managers (+QM+Owner) can create customer invoices
gsinghpal
2026-05-29 20:33:40 -04:00
b2186ab032
feat(configurator): Description History list on the part Descriptions tab
gsinghpal
2026-05-29 19:57:57 -04:00
855b160752
feat(configurator): auto-load latest part description version on order entry
gsinghpal
2026-05-29 19:57:16 -04:00
da7ec59474
feat(configurator): save a part description version on SO confirm
gsinghpal
2026-05-29 19:56:01 -04:00
2ed3dcee58
feat(configurator): per-part description version model + part load/save helpers
gsinghpal
2026-05-29 19:55:14 -04:00
9b18f77e06
docs(plating): implementation plan for per-part description history
gsinghpal
2026-05-29 19:51:10 -04:00
1ae83e187e
docs(plating): spec — per-part description history (auto-version on order entry)
gsinghpal
2026-05-29 19:38:20 -04:00
1b0657bd76
fix(configurator): drop the first-time-part "no saved specification" popup
gsinghpal
2026-05-29 12:11:34 -04:00
f75e082e67
feat(shopfloor): tablet Shipping panel on the Job Workspace
gsinghpal
2026-05-29 09:19:51 -04:00
f1273798cd
feat(shopfloor): tablet shipping endpoints + /load shipping payload
gsinghpal
2026-05-29 09:16:36 -04:00
bb814a46ff
feat(jobs): order-level ship-readiness helpers
gsinghpal
2026-05-29 09:14:36 -04:00
be7256ce4c
feat(logistics): technicians can create/edit delivery, POD, chain-of-custody
gsinghpal
2026-05-29 09:13:11 -04:00
d37f10f1c3
feat(receiving): technicians can count+close receivings from the tablet
gsinghpal
2026-05-29 09:11:39 -04:00
b98ee8a6fb
docs(plating): implementation plan for technician receiving + shipping tablet
gsinghpal
2026-05-29 00:50:23 -04:00
df0de97a68
docs(plating): spec — technician receiving + shipping from the workstation tablet
gsinghpal
2026-05-29 00:35:40 -04:00
49a0a953e5
fix(plating): single bilingual CoC — remove the separate French print action
gsinghpal
2026-05-28 23:33:00 -04:00
64eb34cdff
fix(plating): CoC signer follows Settings "Certificate Owner" (no stale freeze)
gsinghpal
2026-05-28 23:20:38 -04:00
cd0c08f348
fix(plating): parse Fischerscope .doc/.docx/RTF dropped on the cert form
gsinghpal
2026-05-28 23:01:02 -04:00
6a5364e053
fix(plating): compact CoC first column + 3-line part data
gsinghpal
2026-05-28 22:28:04 -04:00
ec78fc148d
feat(plating): fully bilingual CoC — all labels EN/FR
gsinghpal
2026-05-28 22:11:40 -04:00
9d9be17542
feat(plating): bilingual EN/FR column titles on the CoC
gsinghpal
2026-05-28 21:54:45 -04:00
1d1bbfe612
fix(plating): border the CoC signature/statement table
gsinghpal
2026-05-28 21:37:28 -04:00
b1257b6983
fix(plating): remove border around CoC certification statement
gsinghpal
2026-05-28 21:32:53 -04:00
687decca28
fix(plating): clean up CoC layout — drop empty logo column + separating lines
gsinghpal
2026-05-28 21:25:32 -04:00
307afbf3c0
feat(plating): CoC spec-optional + SO-style header + thickness for any cert
gsinghpal
2026-05-28 21:17:09 -04:00
fecd2415f6
changes
gsinghpal
2026-05-27 19:23:17 -04:00
e36318f7a5
feat(billing): Stripe/Lago-verified go-forward sync + activate daily cron
gsinghpal
2026-05-27 18:37:36 -04:00
feddca19d6
docs(billing): record verified backfill (Stripe+Lago) + go-forward verification caveat
gsinghpal
2026-05-27 17:57:27 -04:00
95378ff1da
fix(billing): skip zero-amount invoices (no lines) — drop empty move, don't post nothing
gsinghpal
2026-05-27 17:33:36 -04:00
c8529b8a99
feat(billing): post + reconcile only PAID invoices, keeping original dates
gsinghpal
2026-05-27 17:29:41 -04:00
7a66d7849d
fix(billing): name ledger partners by company, not the NexaCloud user's full_name
gsinghpal
2026-05-27 17:24:48 -04:00
9ad09c32b0
fix(billing): robust shadow prune (charges before products + archive fallback)
gsinghpal
2026-05-27 17:02:43 -04:00
6b63df8c3d
fix(billing): ledger live-run fixes — UUID cast, UTF-8, reconciling line
gsinghpal
2026-05-27 16:57:00 -04:00
72d3130c88
feat(billing): NexaCloud invoice ledger — ingest invoices to account.move
gsinghpal
2026-05-27 16:50:31 -04:00
f6518b4d7e
docs(billing): TDD plan for NexaCloud invoice ledger (ingest -> account.move, posted+reconciled+HST)
gsinghpal
2026-05-27 16:44:21 -04:00
bf6ee2bb2c
docs(billing): design spec — NexaCloud invoice ledger (Odoo as accounting SoR)
gsinghpal
2026-05-27 16:33:46 -04:00
077f898283
chnages
gsinghpal
2026-05-27 16:12:22 -04:00
779539d1b5
docs(billing): dual-run stand-up results — shadow import done, reconciliation 2 match / 7 delta (stopped before flip)
gsinghpal
2026-05-27 15:57:54 -04:00
34a65f9c4a
fix(fusion_helpdesk_central): chatter notice no longer collapsed; adds summary
gsinghpal
2026-05-27 15:36:46 -04:00
97cce8c755
docs(billing): record NexaCloud surgical deploy (inert; .env + Cursor WIP preserved)
gsinghpal
2026-05-27 15:32:15 -04:00
fe98fadf61
fix(fusion_helpdesk_central): engagement now posts public chatter for employee
gsinghpal
2026-05-27 15:31:58 -04:00
32c7026558
feat(fusion_helpdesk_central): owner email shows 3 sections — Request / Reply / Summary
gsinghpal
2026-05-27 15:26:26 -04:00
76866a7c76
fix(fusion_helpdesk_central): wizard dialog closed on Generate Summary click
gsinghpal
2026-05-27 15:12:33 -04:00
f19ca02e05
docs(billing): record odoo-nexa deploy (installed, inert); NexaCloud deploy blocked on Cursor WIP
gsinghpal
2026-05-27 15:12:16 -04:00
1f5eaf0386
docs(billing): handoff update — sub-project #2 complete (2a/2d shipped, 2b/2c code-complete)
gsinghpal
2026-05-27 14:52:28 -04:00
a82f09ea50
fix(billing): reconciliation review fixes — per-subscription key, IDOR guard
gsinghpal
2026-05-27 14:51:43 -04:00
a5144a925c
feat(billing): /usage resolves subscription by source app id (enables 2b)
gsinghpal
2026-05-27 14:37:30 -04:00
2bdf4ef6a0
feat(billing): 2d dual-run reconciliation (Odoo-computed vs NexaCloud-actual)
gsinghpal
2026-05-27 14:34:23 -04:00
3ba9f2821e
docs(billing): spec + TDD plan for 2d NexaCloud dual-run reconciliation
gsinghpal
2026-05-27 14:31:26 -04:00
0104e87750
fix(fusion_helpdesk_central): Generate Summary crashed wizard with self-id collision
gsinghpal
2026-05-27 14:30:53 -04:00
1f818096db
fix(fusion_helpdesk_central): findings + summary actually span full width
gsinghpal
2026-05-27 14:17:23 -04:00
bb873e8a7a
feat(billing): importer Test Connection guard + operator runbook
gsinghpal
2026-05-27 14:16:32 -04:00
d4ef4d55e0
fix(fusion_repairs): wrap Wysiwyg content with markup() so HTML renders, not escapes
gsinghpal
2026-05-27 13:55:20 -04:00
fc8963da99
fix(fusion_helpdesk_central): findings + summary textareas span full width
gsinghpal
2026-05-27 13:53:38 -04:00
c520803c84
feat(fusion_helpdesk_central): findings-first wizard, explicit Generate button
gsinghpal
2026-05-27 13:49:02 -04:00
7349f3180d
docs(billing): note flip-day usage-API subscription-id mapping for 2b
gsinghpal
2026-05-27 13:45:23 -04:00
2414b6328e
fix(fusion_repairs): designer setup() scope - onMounted/onWillUnmount were stranded outside, broke entire backend bundle
gsinghpal
2026-05-27 13:44:58 -04:00
5605012245
fix(billing): importer review fixes — surface failures, validate, dedupe
gsinghpal
2026-05-27 13:44:51 -04:00
52849777dd
feat(fusion_helpdesk_central): expose OpenAI key + cron settings in UI
gsinghpal
2026-05-27 13:36:44 -04:00