diff --git a/README.md b/README.md index fa94eb2..30538d6 100644 --- a/README.md +++ b/README.md @@ -178,7 +178,7 @@ addons: | [gobl.cii](https://github.com/invopop/gobl.cii) | `cii+en16931-v2017`, `cii+peppol+bis-v3` | | [gobl.de.xinvoice](https://github.com/invopop/gobl.de.xinvoice) | `ubl+de-xrechnung-v3`, `cii+de-xrechnung-v3`, `cii+de-zugferd-v2` (`+basic`, `+extended`) | | [gobl.es.facturae](https://github.com/invopop/gobl.es.facturae) | `es-facturae-v3` | -| [gobl.fr.ctc](https://github.com/invopop/gobl.fr.ctc) | `ubl+fr-ctc-cius-v1`, `ubl+fr-ctc-extended-v1`, `cii+fr-ctc-cius-v1`, `cii+fr-ctc-extended-v1`, `cii+fr-ctc-facturx-v1`, `cii+fr-facturx-v1` (`+basic`, `+extended`), `cii+fr-choruspro-v1`, `cdar+fr-ctc-cdv-v1` (`+ppf`) | +| [gobl.fr.ctc](https://github.com/invopop/gobl.fr.ctc) | `ubl+fr-ctc-cius-v1`, `ubl+fr-ctc-extended-v1`, `cii+fr-ctc-cius-v1`, `cii+fr-ctc-extended-v1`, `cii+fr-ctc-facturx-cius-v1`, `cii+fr-ctc-facturx-extended-v1`, `cii+fr-choruspro-v1`, `cdar+fr-ctc-cdv-v1` (`+ppf`) | | [gobl.sa.zatca](https://github.com/invopop/gobl.sa.zatca) | `ubl+sa-zatca-v1` | Format keys follow GOBL's naming rules (`[+...]`). Each diff --git a/editor/examples/fr-facturx.json b/editor/examples/fr-facturx.json deleted file mode 100644 index 475941e..0000000 --- a/editor/examples/fr-facturx.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "$schema": "https://gobl.org/draft-0/bill/invoice", - "$addons": ["fr-facturx-v1"], - "series": "SAMPLE", - "code": "001", - "currency": "EUR", - "issue_date": "2026-01-15", - "supplier": { - "name": "Provide One SAS", - "tax_id": { "country": "FR", "code": "44732829320" }, - "addresses": [{ "street": "1 Rue de Rivoli", "locality": "Paris", "code": "75001", "country": "FR" }] - }, - "customer": { - "name": "Sample Consumer SARL", - "addresses": [{ "street": "10 Place Bellecour", "locality": "Lyon", "code": "69002", "country": "FR" }] - }, - "lines": [ - { - "quantity": "10", - "item": { "name": "Prestations de développement", "price": "100.00" }, - "taxes": [{ "cat": "VAT", "rate": "general" }] - } - ], - "payment": { - "terms": { "due_dates": [{ "date": "2026-02-15", "percent": "100%" }] } - } -} diff --git a/editor/examples_test.go b/editor/examples_test.go index aaf89c6..36c4eab 100644 --- a/editor/examples_test.go +++ b/editor/examples_test.go @@ -69,7 +69,7 @@ func TestExamplesCoverFormats(t *testing.T) { func TestExampleFormatPreference(t *testing.T) { preferred := map[string]string{ "de-xrechnung": "cii+de-xrechnung-v3", - "fr-facturx": "cii+fr-facturx-v1", + "fr-ctc": "cii+fr-ctc-cius-v1", "sa-zatca": "ubl+sa-zatca-v1", "de-en16931": "cii+en16931-v2017", } @@ -102,7 +102,7 @@ func TestExampleSamples(t *testing.T) { samples := map[string]string{ "de-zugferd": "cii+de-zugferd-v2+basic", "es-facturae": "es-facturae-v3", - "fr-facturx": "cii+fr-facturx-v1+basic", + "fr-ctc": "cii+fr-ctc-cius-v1", "sa-zatca": "ubl+sa-zatca-v1", } for _, ex := range examples() { diff --git a/editor/formats_test.go b/editor/formats_test.go index c6f4dde..002b84a 100644 --- a/editor/formats_test.go +++ b/editor/formats_test.go @@ -13,7 +13,7 @@ func TestFormatLabels(t *testing.T) { assert.Equal(t, "UBL EN 16931:2017", labels["ubl+en16931-v2017"]) assert.Equal(t, "CII XRechnung 3", labels["cii+de-xrechnung-v3"]) assert.NotContains(t, labels, "ubl", "import-only formats are not offered") - assert.Equal(t, "CII Factur-X EN 16931 (export only)", labels["cii+fr-facturx-v1"]) + assert.Equal(t, "CII France CTC Factur-X CIUS (export only)", labels["cii+fr-ctc-facturx-cius-v1"]) } func TestAcceptedFormats(t *testing.T) { diff --git a/go.mod b/go.mod index 0c27adb..1c7297e 100644 --- a/go.mod +++ b/go.mod @@ -10,20 +10,20 @@ require ( github.com/invopop/gobl.ar.arca v0.0.3 github.com/invopop/gobl.br.nfe v0.0.4 github.com/invopop/gobl.br.nfse v0.0.2 - github.com/invopop/gobl.cii v0.75.0 + github.com/invopop/gobl.cii v0.79.0 github.com/invopop/gobl.co.dian v0.0.3 github.com/invopop/gobl.de.xinvoice v0.0.9 github.com/invopop/gobl.dk.oioubl v0.0.9 github.com/invopop/gobl.es.facturae v0.29.0 github.com/invopop/gobl.es.verifactu v0.41.0 github.com/invopop/gobl.fi.finvoice v0.0.6 - github.com/invopop/gobl.fr.ctc v0.0.12 + github.com/invopop/gobl.fr.ctc v0.0.16 github.com/invopop/gobl.it.sdi v0.86.0 github.com/invopop/gobl.mx.cfdi v0.68.0 github.com/invopop/gobl.pl.ksef v0.47.0 github.com/invopop/gobl.pt.saft v0.0.9 github.com/invopop/gobl.sa.zatca v0.0.6 - github.com/invopop/gobl.ubl v0.93.0 + github.com/invopop/gobl.ubl v0.97.0 github.com/invopop/icons v0.14.0 github.com/invopop/popui.go v0.30.0 github.com/invopop/yaml v0.3.1 @@ -51,7 +51,7 @@ require ( github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/invopop/jsonschema v0.14.0 // indirect github.com/invopop/validation v0.8.0 // indirect - github.com/invopop/xmlctx v0.13.0 // indirect + github.com/invopop/xmlctx v0.14.0 // indirect github.com/invopop/xmldsig v0.14.0 // indirect github.com/jonboulle/clockwork v0.5.0 // indirect github.com/labstack/echo/v4 v4.15.3 // indirect diff --git a/go.sum b/go.sum index 258b497..63958dd 100644 --- a/go.sum +++ b/go.sum @@ -43,8 +43,8 @@ github.com/invopop/gobl.br.nfe v0.0.4 h1:/RWQEwP8pHej+8u6u/BNeLKjYZ4NyZJRjWGF2cP github.com/invopop/gobl.br.nfe v0.0.4/go.mod h1:qXzt4bz9S4+nJRbREb9QEAoO1W9r3Sjy6R207W7IuhY= github.com/invopop/gobl.br.nfse v0.0.2 h1:lhHnDBxs8sYBjWQ+nZ8q5/+6OUwRGPedgjJuxHDQdmI= github.com/invopop/gobl.br.nfse v0.0.2/go.mod h1:rgq6Kw/yaRexA7yf9+sbAI4Ugj+DrlIKsWLxv8K2lAI= -github.com/invopop/gobl.cii v0.75.0 h1:sV2Vnus0RBXr6s4eFIAuje9JXj2RbUQ05QWbwfrf/SU= -github.com/invopop/gobl.cii v0.75.0/go.mod h1:V9rp7WVREOHESleTO825BuslioeIzbEzZCN0GXicLsQ= +github.com/invopop/gobl.cii v0.79.0 h1:oqCNoRdWGliQKIfmEfNkNCHS0ea+Nd1hEQbadIgzCMc= +github.com/invopop/gobl.cii v0.79.0/go.mod h1:rHxBoTy6+MwSfu0B9It2RjstSXAfrm7sTeLuGZ5E78Q= github.com/invopop/gobl.co.dian v0.0.3 h1:UlMEKZSaL7m/mzRCg9gE4bnMP7HdqKoVtB0TzqCaHZI= github.com/invopop/gobl.co.dian v0.0.3/go.mod h1:i/bdrT1SnB7KPpJmPLUL0kqcn7OOZibEHIG1uNPXndc= github.com/invopop/gobl.de.xinvoice v0.0.9 h1:gQjFRSLbRPMW+YBVloRVHtLbtBc2e5lHuHNfBQSSUKE= @@ -57,8 +57,8 @@ github.com/invopop/gobl.es.verifactu v0.41.0 h1:5WoicDVYNptzxrsHPnzbBw2xr+goizmk github.com/invopop/gobl.es.verifactu v0.41.0/go.mod h1:OaCSBKaTpyGGpTtojBc0YrMJqii3LpdQdJta3qsm5s4= github.com/invopop/gobl.fi.finvoice v0.0.6 h1:+H45L88fzfqFUX4pHFgcwHFbIVsIaTDrtmS/Ci+kczw= github.com/invopop/gobl.fi.finvoice v0.0.6/go.mod h1:zqLWHPlMDy/aDKslgmL4yq47RX55w54x7DS7VdZxaQM= -github.com/invopop/gobl.fr.ctc v0.0.12 h1:t/K1eRZG29QTCkJwn+F+WDtsdzEJAWmj8ntn03TkRjA= -github.com/invopop/gobl.fr.ctc v0.0.12/go.mod h1:VdtNrocQ1BgpnpSf3GIj3okDx6RX/KXekZ+NWGmYOF0= +github.com/invopop/gobl.fr.ctc v0.0.16 h1:WBehpB8e3UuY71PwRo9sVXW9oKTYVsaZD2DGFGLwKlw= +github.com/invopop/gobl.fr.ctc v0.0.16/go.mod h1:x6TpDV40efDUoIBEMQzICNFIqJlDZAt2kXz6rzztCrc= github.com/invopop/gobl.it.sdi v0.86.0 h1:AggnJhz+YrD2OCcr3sODMB6mKKlUjt3O0sH8QNY3Md4= github.com/invopop/gobl.it.sdi v0.86.0/go.mod h1:+SfnlFTPjKSZZBrKEzVlrFePukufGV2AMSA5RFoWGEw= github.com/invopop/gobl.mx.cfdi v0.68.0 h1:pRfKanQ7OAcRKIb/QnHTOtvXnFelSGjfP/DoUJ9Dl+s= @@ -69,8 +69,8 @@ github.com/invopop/gobl.pt.saft v0.0.9 h1:muphsEldIN4Fp5U3Vx1wPger6bKkeR+mKHcGye github.com/invopop/gobl.pt.saft v0.0.9/go.mod h1:1fXYKp8e0OH+HqAIeuNylfSaLVTyN2EOnDuzxeyQK40= github.com/invopop/gobl.sa.zatca v0.0.6 h1:Me+scq66q8BJsySyTeqsNRVFp0cBWRLwVt3tliiUqbg= github.com/invopop/gobl.sa.zatca v0.0.6/go.mod h1:O3awa6nyf8L4GwAbVhNOiThSw2nsklugsPOHhr6Y0xY= -github.com/invopop/gobl.ubl v0.93.0 h1:WDHTmmvGD2rVsziCinAVk/jgMQ78OmCnfPNX05mavns= -github.com/invopop/gobl.ubl v0.93.0/go.mod h1:LYnmg9fH0W8fZXK6LqzYQt3pzQYZonm2gkn4Slt1mtY= +github.com/invopop/gobl.ubl v0.97.0 h1:WnOMnoMsOtQ2qGfI9jGtfKU8zU3zi7ckIMb3W7Qm+6A= +github.com/invopop/gobl.ubl v0.97.0/go.mod h1:KxduqtkvGgxXyoaMAvZ97YIQUsTj//x2i4u38o8FYfE= github.com/invopop/icons v0.14.0 h1:Bk0hF+EI/x3XwWX1IqMeFDMdu766zY3zFBqTkImCdhU= github.com/invopop/icons v0.14.0/go.mod h1:rXrrY2Rz7Z7KINyQIPMaauqXTZNhVMDI2MYIiux436Y= github.com/invopop/jsonschema v0.14.0 h1:MHQqLhvpNUZfw+hM3AZDYK7jxO8FZoQeQM77g8iyZjg= @@ -81,8 +81,8 @@ github.com/invopop/popui.go v0.30.0 h1:Yx91iSDm7HW2xvGUQCdrRm+HmK1RuA7jxn26+EDbC github.com/invopop/popui.go v0.30.0/go.mod h1:2YoksZOz2hkSuSF+F2FUJVlnviPlAwmvu/UpD2hJww8= github.com/invopop/validation v0.8.0 h1:e5hXHGnONHImgJdonIpNbctg1hlWy1ncaHoVIQ0JWuw= github.com/invopop/validation v0.8.0/go.mod h1:nLLeXYPGwUNfdCdJo7/q3yaHO62LSx/3ri7JvgKR9vg= -github.com/invopop/xmlctx v0.13.0 h1:ZNRMC0O/A5h8InoLVSA7tIjjrhJn/NDBYfByBUpSb+g= -github.com/invopop/xmlctx v0.13.0/go.mod h1:xZ3Bdf0jq2GcjN6QNroUa+l37kyXDXmDEEKiBj9NAl0= +github.com/invopop/xmlctx v0.14.0 h1:s2nfna7gylrBfS93iYqCF0d/imwTIsivtxwwvdLEWGE= +github.com/invopop/xmlctx v0.14.0/go.mod h1:xZ3Bdf0jq2GcjN6QNroUa+l37kyXDXmDEEKiBj9NAl0= github.com/invopop/xmldsig v0.14.0 h1:ROwf32DZtX2EekrrOSjLLiY0s2kPEcqHZculITlZfAw= github.com/invopop/xmldsig v0.14.0/go.mod h1:oWDotOqdKbbwmfA1B057TVsNZW/V1XgoXsRgrW5by18= github.com/invopop/yaml v0.3.1 h1:f0+ZpmhfBSS4MhG+4HYseMdJhoeeopbSKbq5Rpeelso=