GOBL includes of a set of tools designed to help you build and understand all the different types of business document, alongside helping to convert into and from other formats.

Core

The main libraries and tools for GOBL processing:

  • GOBL - the main repository, written in Go, that defines all the structures, databases, validation rules, and algorithms which are used to build complete business documents.
  • GOBL CLI - command line interface, streaming server, and WASM binary, that leverage the Go validation and calculation methods to complete GOBL envelopes and payloads.
  • GOBL Generator - is used to convert the GOBL JSON Schema into documentation and libraries for other programming languages.

Build

Aside from the main GOBL repository which can be used directly inside your Go projects, the following tools are designed to help construct GOBL files:

  • GOBL Builder source - learn and discover how to build GOBL documents from the comfort of your web browser. The editor leverages the GOBL CLI WASM binary so you can run validation and calculation processes directly.
  • GOBL for Ruby - Easily build or read GOBL documents in Ruby.

We’d love for GOBL to be available in more languages. If you’d like to contribute, checkout the GOBL Generate mentioned above and open a discussion!

Convert

Each conversion tool can be used as either a Go library or via a CLI interface:

If you have an idea for a new conversion tool, open a discussion to let us know.

Extras

Not strictly part of GOBL, but are key components currently maintained by the same team:

  • Go jsonschema - the library we use to convert the Go structs into JSON Schema.
  • Go validation - makes it easy to define validation rules.
  • Go yaml - converts YAML documents into JSON so that the json Go tags can be used universally.