What is go-siat?
go-siat provides a clean, type-safe API for interacting with Bolivia’s SIAT tax system. The SDK abstracts the complexity of SOAP communications and provides an intuitive builder pattern for constructing requests.Key Features
Code Management
Request CUIS and CUFD codes (individual and bulk)Validate NIT numbersTest communication and retrieve revoked certificates
Catalog Synchronization
Synchronize activities, parametric data, products and servicesSync document sector information
Point of Sale Operations
Register and close points of saleManage significant eventsQuery existing points of sale
Purchase & Sales
Receive invoices (signed XML, compressed and encoded)Cancel invoicesGenerate CUF and digital XML signatures
Architecture
The SDK is organized into four main service modules:- Codigos - Code management (CUIS, CUFD, NIT validation)
- Sincronizacion - Catalog synchronization
- Operaciones - Point of sale operations
- CompraVenta - Invoice sending and cancellation
All requests use the builder pattern to ensure type safety and provide a clear, fluent API.
Design Philosophy
Type-Safe Builders
go-siat uses opaque interfaces and builder patterns to ensure you can’t accidentally construct invalid requests:Service-Based Organization
All SIAT operations are organized into logical service groups accessible through a single entry point:Environment Support
go-siat supports both testing and production environments:- Testing:
https://pilotosiatservicios.impuestos.gob.bo/v2 - Production: Configure with your production SIAT URL
Requirements
- Go 1.26+
- Valid SIAT API credentials (Token)
- For invoice signing: Digital certificate and private key
Next Steps
Installation
Install go-siat in your project
Quickstart
Make your first SIAT API call
