Replies: 1 comment 2 replies
-
So, having thought about this one for a while, and after the recent changes proposed in #101, I'm starting to reach the conclusion that perhaps GOBL should avoid using I also have the impression that we should try as hard as possible to avoid using local codes in GOBL unless there is absolutely no alternative, in meta or otherwise. They're hard to use and could potentially provide conflicting meaning if for example we define a regular invoice but use the Italian invoice type code I do also feel that we shouldn't "overload" important fields like Let's double down on Italian case specifically for I think for most of the cases we can leverage the "schemes" to support advanced combinations, for example:
The trend here is to add the complexity to the Schemes. An invoice can contain multiple schemes, so this is okay. Another example is the "ModalitaPagamento". This is harder to put into a scheme as they're very closely related to payments. For these I'd suggest adding a new
What do you think? |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Italy is a great example of a tax regime that demands painfully specific classifications of data related to electronic invoicing, such as document type, "nature" of the invoice, payment method, tax scheme, and more (see the end of this document). Each category comes with a set of permitted alphanumeric codes, and they are validated when the invoice is submitted to the authorities. There are a total of 112 valid codes across 6 different categories.
Not of all of those fields are mandatory, but some are:
TipoDocumento
,RegimeFiscale
(not to be confused with GOBL's use ofRegime
), andModalitaPagamento
. Some optional fields, such asNatura
, contain definitions of commonly used schemes like reverse charge. In order to build a valid Italian invoice, we'd have to include these codes and categories somewhere and validate them.One idea suggested in a discussion with @samlown was to make use of the
Meta
field in an invoice to contain Italy-specific codes like:Another option was to extend existing GOBL constructs like
(fun detail: "splaphoning" is not a word, but it does appear in the official documentation)
This seems like a test of GOBL's flexibility. We could move specific validations to the providers (this case gobl.fatturapa), but my understanding is that we don't want well-formatted GOBL documents to be considered invalid at the provider level.
Any ideas?
Beta Was this translation helpful? Give feedback.
All reactions