Customers often swap firstname/lastname in GoMag forms, causing duplicate
partner creation in Oracle. Fix with two layers:
- Python: sort PF name words alphabetically before Oracle lookup
- PL/SQL: add Step 2b permutation search (2-3 word names, PF only)
- Normalize name order to lastname+firstname across all Python files
- Add diagnostic SQL for finding existing reversed-name duplicates
- Add Oracle integration test for reverse-name matching
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Prevent partner duplicates via ANAF CUI verification and dual PL/SQL
search. Fix address matching with street-level comparison and diacritics
normalization. Show partner/address comparison in order detail modal.
- New anaf_service.py: batch ANAF API client with chunking, retry, cache
- PL/SQL: dual CUI search (bare/RO+bare/RO space+bare), 3-tier address
search (street+city+id_loc → city+id_loc → create), strip_diacritics
at storage for addresses and partner names
- SQLite: anaf_cache table, 12 new order columns for partner/address data
- import_service: cod_fiscal_override param, return partner/address from Oracle
- sync_service: ANAF batch integration, denomination mismatch detection,
cache pre-population trigger
- Router: enriched order_detail with partner_info + addresses JSON
- UI: collapsible Detalii Partener + Adrese Comparativ sections in modal,
auto-expand on mismatch, ANAF badges, mobile address cards
- Dashboard: address quality attention indicator
- New scan_duplicate_partners.py script for one-time duplicate audit
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- Delete README-ORACLE-MODES.md (references Docker infra that doesn't exist)
- Delete .claude/HANDOFF.md (completed CI/CD session handoff, no longer needed)
- Fix api/README.md: correct run command to ./start.sh, update test commands
to use ./test.sh instead of deleted test_app_basic.py/test_integration.py
- Fix scripts/HANDOFF_MAPPING.md: mark deleted scripts as removed
- Remove dead README-ORACLE-MODES.md link from README doc table
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
4 decimal places in STOC.PRET caused FACT-008 errors during invoicing
because pack_facturare.descarca_gestiune does exact price matching.
Also add pack_facturare flow analysis documentation.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Script syncs articles from VENDING (prod) to MARIUSM_AUTO (dev)
via SSH. Supports dry-run, --apply, and --yes modes.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Prevents untracked file conflicts on git pull on Windows server.
Scripts are development/analysis tools, not part of the deployed app.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Documents what was tried, what worked (order-invoice matching),
what failed (line item matching by price), and proposed strategy
for next session (subset → confirm → generalize).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Analysis scripts to match GoMag orders with Oracle invoices by
date/client/total, then compare line items by price to discover
SKU → id_articol mappings. Generates SQL for nom_articole codmat
updates and CSV for ARTICOLE_TERTI repackaging/set mappings.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>