From 51f469f6135d07b1436a478a2d977ae9a25ab603 Mon Sep 17 00:00:00 2001 From: Sam Lown Date: Thu, 21 Sep 2023 15:30:53 +0000 Subject: [PATCH] Set default Regime Fiscale --- parties.go | 9 +++++++-- parties_test.go | 12 ++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/parties.go b/parties.go index 3ff1519..e504c37 100644 --- a/parties.go +++ b/parties.go @@ -75,13 +75,18 @@ func newCedentePrestatore(s *org.Party) *supplier { IdPaese: s.TaxID.Country.String(), IdCodice: s.TaxID.Code.String(), }, - Anagrafica: newAnagrafica(s), - RegimeFiscale: s.Ext[it.ExtKeySDIFiscalRegime].String(), + Anagrafica: newAnagrafica(s), }, IscrizioneREA: newIscrizioneREA(s), Contatti: newContatti(s), } + if v, ok := s.Ext[it.ExtKeySDIFiscalRegime]; ok { + ns.DatiAnagrafici.RegimeFiscale = v.String() + } else { + ns.DatiAnagrafici.RegimeFiscale = "RF01" + } + if len(s.Addresses) > 0 { ns.Sede = newAddress(s.Addresses[0]) } diff --git a/parties_test.go b/parties_test.go index 8711176..614d4ad 100644 --- a/parties_test.go +++ b/parties_test.go @@ -33,6 +33,18 @@ func TestPartiesSupplier(t *testing.T) { assert.Equal(t, "50000.00", s.IscrizioneREA.CapitaleSociale) assert.Equal(t, "LN", s.IscrizioneREA.StatoLiquidazione) }) + + t.Run("should set the supplier default regime fiscale", func(t *testing.T) { + env := test.LoadTestFile("invoice-simple.json") + inv := env.Extract().(*bill.Invoice) + inv.Supplier.Ext = nil + doc, err := test.ConvertFromGOBL(env) + require.NoError(t, err) + + s := doc.FatturaElettronicaHeader.CedentePrestatore + + assert.Equal(t, "RF01", s.DatiAnagrafici.RegimeFiscale) + }) } func TestPartiesCustomer(t *testing.T) {