## Store Profiles System
- Add ProfileRegistry for CUI-based profile lookup
- Add BaseStoreProfile with generic extraction patterns
- Implement hot-reload via POST /api/data-entry/ocr/profiles/reload
## 12 Store Profiles
- LIDL: Multi-rate TVA (A, B, C, D codes)
- OMV, SOCAR: B2B with client CUI, YYYY.MM.DD dates
- BRICK, DEDEMAN: Standard TVA, e-factura support
- KINETERRA, BEST PRINT: Non-VAT payers (returns [])
- STEPOUT MARKET: TVA 5% (books/reduced rate)
- UNLIMITED KEYS: NUMERAR payment detection
- GAMA INK, ELECTROBERING, PICTUS VELUM: Standard TVA
## Flexible TVA Patterns
- All patterns use (\d{1,2})% to accept any rate
- Supports historical (19%, 9%, 5%) and current (21%, 11%)
## Payment Methods Fix
- Fixed base.py to support multiple payments of same type
- Changed deduplication from method-only to (method, amount) tuple
- Returns separate entries for split payments
## Tools
- Add generate_store_profile.py for automatic profile generation
- Analyzes PDFs via OCR API and detects patterns
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
56 lines
1.4 KiB
Markdown
56 lines
1.4 KiB
Markdown
# Claude Learn: Deployment
|
|
|
|
**Domain**: deployment
|
|
**Last updated**: 2026-01-06
|
|
**Sessions recorded**: 1
|
|
|
|
Knowledge about IIS, Docker, deployment scripts, and infrastructure.
|
|
|
|
---
|
|
|
|
## Patterns
|
|
|
|
### IIS URL Rewrite Rules for SPA with Multiple API Backends
|
|
**Discovered**: 2025-12-22 (feature: unified-app)
|
|
**Description**: Configure IIS web.config to proxy different API paths to different backend ports while serving SPA for all other routes. Enables single IIS site to route to multiple microservices.
|
|
|
|
**Example** (`public/web.config:5-28`):
|
|
```xml
|
|
<rewrite>
|
|
<rules>
|
|
<rule name="Proxy Reports API" stopProcessing="true">
|
|
<match url="^api/reports/(.*)" />
|
|
<action type="Rewrite" url="http://localhost:8001/api/{R:1}" />
|
|
</rule>
|
|
<rule name="Proxy Data Entry API" stopProcessing="true">
|
|
<match url="^api/data-entry/(.*)" />
|
|
<action type="Rewrite" url="http://localhost:8003/api/{R:1}" />
|
|
</rule>
|
|
<rule name="SPA Fallback" stopProcessing="true">
|
|
<match url=".*" />
|
|
<conditions logicalGrouping="MatchAll">
|
|
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
|
|
</conditions>
|
|
<action type="Rewrite" url="/index.html" />
|
|
</rule>
|
|
</rules>
|
|
</rewrite>
|
|
```
|
|
|
|
**Tags**: iis, deployment, spa, microservices, proxy
|
|
|
|
---
|
|
|
|
## Gotchas
|
|
|
|
_(None recorded yet)_
|
|
|
|
---
|
|
|
|
## Statistics
|
|
|
|
- **Total Patterns**: 1
|
|
- **Total Gotchas**: 0
|
|
- **Last Session**: 2026-01-06
|
|
- **Sessions Recorded**: 1
|