• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

hyperscale-stack / businessid / 28647269934
100%
main: 94%

Build:
Build:
LAST BUILD BRANCH: feature/add-more-tests
DEFAULT BRANCH: main
Ran 03 Jul 2026 08:05AM UTC
Jobs 1
Files 20
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

03 Jul 2026 08:05AM UTC coverage: 88.93% (-11.1%) from 100.0%
28647269934

Pull #3

github

euskadi31
feat: EUID native validators for EU-27 + fill all remaining VAT gaps

Follow-up to #3 that closes every gap surfaced in that PR's report:

EUID meta-format made fully native:
* Drop WithSubValidator. EUID now embeds native format+checksum
  validators for the 27 EU national business registers (Firmenbuch,
  KBO, IČO, KVK, KRS, GEMI, CRO, RCSL, Handelsregister, SIREN, …).
  New file providers/euid/nationals.go carries the table and all 27
  functions. Delegation is native — `euid.New()` alone suffices.
* Escape hatch WithCountryValidator(cc, rv) covers non-EU codes and
  bespoke overrides.
* Registration charset accepts `+`.
* 57+ per-country test cases (format + checksum + unsupported).

VAT algorithms completed:
* LV: implement natural-person personal code (previously returned
  false for first digit ≤ 3).
* CZ: implement 9-digit special (prefix 6) and 10-digit rodné číslo
  (divisibility by 11 + date plausibility).
* NO: implement organization-number mod-11 checksum.
* IS: implement kennitala 10-digit mod-11 checksum (VSK 5/6 digits
  stay format-only).
* ES CIF: tighten to python-stdnum strict rules — digit-only for A/B/E/H
  and middle group, letter-only for P/Q/R/S/W.
* BG: 3 variants (BULSTAT 9d, EGN 10d, foreigner LNCh 10d) verified
  with vectors.
* IT: replace unreliable Ferrari vector with real 00159820174 CF.
* AT: add second verified vector ATU30525107.

Canonicalization / aliases:
* UK → GB alias (mirrors GR → EL).
* BE pre-2005 9-digit VAT auto-canonicalized to 10 digits.
* CY: reject prefix "12" (reserved for legacy TINs).

Housekeeping:
* Makefile fuzz target defaults to FUZZTIME=5m; new fuzz-quick target
  at 30s for local dev.
* README rewritten with the 30-code checksum matrix, native EUID
  register table, and aliases section.
* Économat des Armées documented: real SIREN 542085907 (from
  annuaire-entreprises.data.gouv.fr) passes standard Luhn — no
  dérogation needed.

Testing: 593 tests pass with -race; lint clean; fuzz (30s per ... (continued)
Pull Request #3: feat: strengthen EUID/VAT/SIREN/SIRET reliability

1103 of 1370 new or added lines in 10 files covered. (80.51%)

2145 of 2412 relevant lines covered (88.93%)

14.95 hits per line

Uncovered Changes

Lines Coverage ∆ File
116
71.0
providers/euid/nationals.go
115
78.9
providers/vat/checksums.go
15
91.67
-8.33% providers/euid/euid.go
10
89.36
-10.64% providers/siren/siren.go
7
94.93
providers/vat/countries.go
2
98.13
-1.87% providers/siret/siret.go
2
99.27
-0.73% providers/vat/vat.go
Jobs
ID Job ID Ran Files Coverage
1 28647269934.1 03 Jul 2026 08:05AM UTC 20
88.93
GitHub Action Run
Source Files on build 28647269934
  • Tree
  • List 20
  • Changed 6
  • Source Changed 0
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Pull Request #3
  • PR Base - main (#28557907829)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc