The rutax
package provides functionality for validating and parsing Russian Tax Identification Numbers (INN - Идентификационный Номер Налогоплательщика, TIN - Tax Identification Number).
- Parsing and validation of TaxID for individuals and legal entities
- Checksum verification according to the official algorithm
go get github.com/zaffka/rutax@latest
Main package function:
- Verifies string format compliance with INN requirements
- Validates checksums at key positions in the parsed string
- Returns a structure with INN data
The returned ID
structure contains:
Num
- validated INN(TIN) numberIsLegal
- flag indicating whether it belongs to a legal entity
Example:
package main
import (
"fmt"
"github.com/zaffka/rutax"
)
func main() {
// Parsing TaxID
id, err := rutax.ParseID("7710140679")
if err != nil {
fmt.Println("Error:", err)
return
}
fmt.Printf("INN: %s, Legal entity: %v\n", id.Num, id.IsLegal)
}
The package returns the following error types:
ErrIDIncorrect
- INN format error (length, numeric characters)ErrChecksumFailed
- checksum validation error
MIT