Skip to content

Phase 2.3: Customer-quality rules (E006, E008) - #10

Merged
withrvr merged 2 commits into
claude/erp-collection-reporting-workflow-iycqtofrom
phase/02-03-customer-rules
Aug 31, 2026
Merged

withrvr merged 2 commits into
claude/erp-collection-reporting-workflow-iycqtofrom
phase/02-03-customer-rules

Conversation

@withrvr

@withrvr withrvr commented Aug 31, 2026

Copy link
Copy Markdown
Owner

Phase 2 (feature 3 of 6): Customer-quality rules

What this adds

E006 (invalid GSTIN format, regex-verified against all 25 customers in
dataset A) and E008 (missing GSTIN) — the two rules with zero
calculation-layer interaction, kept as separate codes since "missing" and
"malformed" call for different remediation.

Assessment requirement served

The workbook's "invalid/missing GSTINs" exception category.

Docs updated

  • README.md
  • ARCHITECTURE.md
  • API.md
  • RULES.md — 7 of 14 entries now written
  • DEVELOPMENT.md
  • CHANGELOG.md

Verification

cd backend && uv run pytest app/collections/tests -v
# 68 passed

Known gaps carried to next phase

  • 7 rules remain: payment-quality (PR4), cross-reference (PR5), then
    coverage + reconciliation tests (PR6).

Generated by Claude Code

claude added 2 commits August 31, 2026 11:37
Format-only check against the standard 15-character GSTIN pattern, no
checksum validation -- a deliberate, documented limitation. Fires on
C023 ('INVALIDGSTIN') in dataset A. Doesn't feed outstanding/overdue
math, so nothing downstream is excluded; flags master-data quality
only.

Refs: docs/RULES.md
Same master-data-quality rationale as E006, kept as a separate code
because "missing" and "malformed" call for different remediation.
Fires on C025 in dataset A.

Refs: docs/RULES.md
@withrvr
withrvr merged commit 2164a4c into claude/erp-collection-reporting-workflow-iycqto Aug 31, 2026
4 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants