gobl.builder
June 4, 2026 · View on GitHub
gobl.builder
GOBL Builder is an interactive, low code tool for building GOBL documents.
This repository contains GOBLBuilder, a Svelte
component used to render a self-contained UI with menu bar, toolbar, code editor
and bottom drawer for showing errors, warnings and more. The component is
packaged publically on NPM, to be imported and used from Svelte projects.
A standalone wrapper for GOBLBuilder is included in this repository in src
(not part of the packaged library). It's available at https://build.gobl.org.
Requirements
At the moment, the component library relies on Tailwind CSS for styling. This might change in the future.
Installation
GOBL Builder is released as @invopop/gobl-builder on NPM. To add it to your Svelte project:
npm add -D @invopop/gobl-builder
Assuming your project already is configured to use Tailwind CSS, configure its
template paths to include the component library and Flowbite (its dependency).
An example tailwind.config.cjs file:
/** @type {import('tailwindcss').Config} */
module.exports = {
content: [
'./src/**/*.{html,js,svelte,ts}',
'./node_modules/@invopop/gobl-builder/**/*.{html,js,svelte,ts}'
],
theme: {
extend: {}
},
plugins: []
}
Usage
Import and use the EnvelopeEditor Svelte component. For example, using
TypeScript:
<script lang="ts">
import { EnvelopeEditor } from '@invopop/gobl-builder'
</script>
<EnvelopeEditor data="" jsonSchemaURL="https://gobl.org/draft-0/bill/invoice" />
For further example usage, including directives for event handling, see src/routes/+page.svelte.
Development
Below sections cover development of the component library itself. See above sections for instructions on using GOBL Builder in your own project.
Installation
Clone this repository from GitHub, then run from within its directory:
npm install
For an optimal developer experience, use an IDE with plugin support for Svelte,
TypeScript, ESLint and Prettier. For VS Code, recommended plugins are included
in .vscode/extensions.json.
Run in watch mode
npm run dev
This script uses vite to run a development web server with
HMR. It
compiles TypeScript to JavaScript and serves the demo wrapper on
http://localhost:3000.
Build package
npm run build:package
This script uses svelte-package to build a component library, written to the
package directory (ref).
Build standalone demo
npm run build
This uses vite to build and write an optimized for production of the
standalone demo to the build directory.
Preview production build
npm run preview
This uses vite to serve a previously built build folder on
http://localhost:4173.
GOBL API
GOBL Builder uses the GOBL API for
validating, calculating, building, signing, and correcting GOBL documents, as
well as fetching JSON schemas. By default, requests are sent to the public
service at https://gobl.dev/v0.
When embedding the builder, the endpoint can be overridden with the
apiBaseUrl prop on both EnvelopeEditor and ObjectEditor, for example to
point at a same-origin path that proxies the GOBL API and adds authentication:
<EnvelopeEditor
data=""
jsonSchemaURL="https://gobl.org/draft-0/bill/invoice"
apiBaseUrl="/api/gobl"
/>
License
GOBL Builder is licensed under the Apache-2.0 License.
© 2026 Invopop, S.L.