GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - sshaplygin/docs-code: Official documents codes validation and generation in Go

BranchesTags
Open more actions menu

Latest commit

 

History

141 Commits
141 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
bik
bik
 
 
docs
docs
 
 
fts
fts
 
 
inn
inn
 
 
kpp
kpp
 
 
models
models
 
 
ogrn
ogrn
 
 
ogrnip
ogrnip
 
 
okato
okato
 
 
parser
parser
 
 
snils
snils
 
 
utils
utils
 
 
.gitignore
.gitignore
 
 
.golangci.yml
.golangci.yml
 
 
BENCHMARKS.md
BENCHMARKS.md
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
errors.go
errors.go
 
 
generate.go
generate.go
 
 
generate_test.go
generate_test.go
 
 
go.mod
go.mod
 
 
go.sum
go.sum
 
 
types.go
types.go
 
 
validate.go
validate.go
 
 
validate_test.go
validate_test.go
 
 

Repository files navigation

docs-code

GoDoc Go Coverage License Go Report Card

Go library for validation and generation of Russian official document codes.

Note: The API is not yet stable and may change in future versions.

Supported Document Codes

Code Description Validate Generate
BIK Bank Identification Code (БИК) + +
INN Taxpayer Identification Number (ИНН) + +
KPP Tax Registration Reason Code (КПП) + +
OGRN Primary State Registration Number (ОГРН) + +
OGRNIP Primary State Registration Number for IE (ОГРНИП) + +
SNILS Insurance Individual Account Number (СНИЛС) + +
OKATO Russian Classification of Administrative Territories +¹ -

¹ OKATO validation checks the format and level ranges only; existence lookup and generation are not implemented yet and return okato.ErrNotImplemented. OKATO is not part of the top-level Validate/Generate dispatch — use the okato package directly.

Requirements

  • Go 1.25+

Installation

go get github.com/sshaplygin/docs-code

Usage

Validate a document code

import (
	"log"

	docs_code "github.com/sshaplygin/docs-code"
)

isValid, err := docs_code.Validate(docs_code.INN, "526317984689")
if err != nil {
	log.Fatal(err)
}
if !isValid {
	log.Println("INN is invalid")
} else {
	log.Println("INN is valid")
}

Generate a document code

import (
	"fmt"
	"log"

	docs_code "github.com/sshaplygin/docs-code"
)

code, err := docs_code.Generate(docs_code.INN)
if err != nil {
	log.Fatal(err)
}
fmt.Println("Generated INN:", code)

Use a specific package directly

Each document type also exposes its own package with additional functions:

import "github.com/sshaplygin/docs-code/inn"

// Generate specific INN types
legalINN := inn.GenerateLegal()
physicalINN := inn.GeneratePhysical()

// Validate
ok, err := inn.Validate("526317984689")

Benchmarks

See BENCHMARKS.md for performance data.

Project Structure

docs-code/
├── bik/          # BIK validation and generation
├── inn/          # INN validation and generation
├── kpp/          # KPP validation and generation
├── ogrn/         # OGRN validation and generation
├── ogrnip/       # OGRNIP validation and generation
├── okato/        # OKATO (in progress)
├── snils/        # SNILS validation and generation
├── fts/          # Federal Tax Service data (regions, departments)
├── models/       # Shared error types
├── utils/        # Internal helpers
└── parser/       # Data parsers (BIK, OKATO, subjects)

References

  • INN (ИНН)
  • SNILS (СНИЛС)
  • OGRN (ОГРН)
  • OGRNIP (ОГРНИП)
  • BIK (БИК)
  • KPP (КПП)

License

MIT

About

Official documents codes validation and generation in Go

sshaplygin.github.io/docs-code/

Topics

bikbik-codesdocumentationgolanginninn-codeskppkpp-codesogrn-codesogrnipogrnip-codesorgnsnilssnils-codesvalidator

Resources

Readme
MIT license
Activity

Stars

7 stars

Watchers

1 watching

Forks

1 fork
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.