saft

package
v0.0.0-...-1edfdaa Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 14, 2025 License: MPL-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Code generated by https://github.com/gocomply/xsd2go; Models for urn:OECD:StandardAuditFile-Tax:PT_1.04_01

Index

Constants

View Source
const (
	TaxTypeIVA string = "IVA"
	TaxTypeIS  string = "IS"
	TaxTypeNS  string = "NS"
)
View Source
const (
	CashVatschemeIndicatorYes uint = 1
	CashVatschemeIndicatorNo  uint = 0
)
View Source
const (
	SaftAccounting            = "C"
	SaftInvoicingThirdParties = "E"
	SaftInvoicing             = "F"
	SaftIntegrated            = "I"
	SaftInvoicingParcial      = "P"
	SaftPayments              = "R"
	SaftSelfBilling           = "S"
	SaftTransportDocuments    = "T"
)

Saft types

View Source
const (
	PaymentStatusNormal    = "N"
	PaymentStatusCancelled = "A"
)
View Source
const (
	// Credit Card
	PaymentMechanismCC = "CC"
	// Debit Card
	PaymentMechanismCD = "CD"
	// Bank check
	PaymentMechanismCH = "CH"
	// Documentary Credit (Letter of Credit)
	PaymentMechanismCI = "CI"
	// Check or Gift Card
	PaymentMechanismCO = "CO"
	// Compensation of current account balances;
	PaymentMechanismCS = "CS"
	// Electronic Money, like fidelity card, points, etc...
	PaymentMechanismDE = "DE"
	// Comercial Letter
	PaymentMechanismLC = "LC"
	// Multibanco Reference
	PaymentMechanismMB = "MB"
	// Physical cash
	PaymentMechanismNU = "NU"
	// Other
	PaymentMechanismOU = "OU"
	// Exchange of goods
	PaymentMechanismPR = "PR"
	// Bank Transfer or Direct Debit
	PaymentMechanismTB = "TB"
	// Salary extracompensation, like meal tickets
	PaymentMechanismTR = "TR"
)
View Source
const (
	// Reduced
	TaxCodeRed string = "RED"
	// Intermediate
	TaxCodeInt string = "INT"
	// Normal
	TaxCodeNor string = "NOR"
	// Exempt
	TaxCodeIse string = "ISE"
	// Others
	TaxCodeOut string = "OUT"
	// Not Applicable
	TaxCodeNa string = "NA"
)
View Source
const SelfBillingIndicatorNo = 0
View Source
const SelfBillingIndicatorYes = 1

Variables

This section is empty.

Functions

This section is empty.

Types

type AccountDescription

type AccountDescription struct {
	XMLName xml.Name `xml:"AccountDescription"`

	Text string `xml:",chardata"`
}

Element

type AccountId

type AccountId struct {
	XMLName xml.Name `xml:"AccountID"`

	Text string `xml:",chardata"`
}

Element

type Address

type Address struct {
	XMLName xml.Name `xml:"Address"`

	BuildingNumber *SafpttextTypeMandatoryMax10Car `xml:"BuildingNumber"`

	StreetName *SafpttextTypeMandatoryMax200Car `xml:"StreetName"`

	AddressDetail SafpttextTypeMandatoryMax210Car `xml:"AddressDetail"`

	City SafpttextTypeMandatoryMax50Car `xml:"City"`

	PostalCode SafpttextTypeMandatoryMax20Car `xml:"PostalCode"`

	Region *SafpttextTypeMandatoryMax50Car `xml:"Region"`

	Country CustomerCountry `xml:"Country"`
}

Element

type AddressDetail

type AddressDetail struct {
	XMLName xml.Name `xml:"AddressDetail"`

	Text string `xml:",chardata"`
}

Element

type AddressStructure

type AddressStructure struct {
	BuildingNumber *SafpttextTypeMandatoryMax10Car `xml:"BuildingNumber"`

	StreetName *SafpttextTypeMandatoryMax200Car `xml:"StreetName"`

	AddressDetail SafpttextTypeMandatoryMax210Car `xml:"AddressDetail"`

	City SafpttextTypeMandatoryMax50Car `xml:"City"`

	PostalCode SafpttextTypeMandatoryMax20Car `xml:"PostalCode"`

	Region *SafpttextTypeMandatoryMax50Car `xml:"Region"`

	Country string `xml:"Country"`
}

type Arcno

type Arcno struct {
	XMLName xml.Name `xml:"ARCNo"`

	Text string `xml:",chardata"`
}

Element

type Atcud

type Atcud struct {
	XMLName xml.Name `xml:"ATCUD"`

	Text string `xml:",chardata"`
}

Element

type AtdocCodeId

type AtdocCodeId struct {
	XMLName xml.Name `xml:"ATDocCodeID"`

	Text string `xml:",chardata"`
}

Element

type AuditFile

type AuditFile struct {
	XMLName           xml.Name `xml:"urn:OECD:StandardAuditFile-Tax:PT_1.04_01 AuditFile"`
	XmlnsXsi          string   `xml:"xmlns:xsi,attr"`
	XmlnsXsd          string   `xml:"xmlns:xsd,attr"`
	XsiSchemaLocation string   `xml:"xsi:schemaLocation,attr"`

	Header Header `xml:"Header"`

	MasterFiles AuditFileMasterFiles `xml:"MasterFiles"`

	GeneralLedgerEntries *GeneralLedgerEntries `xml:"GeneralLedgerEntries"`

	SourceDocuments *SourceDocuments `xml:"SourceDocuments"`
}

Element

func FromXML

func FromXML(xmlFile string) (*AuditFile, error)

func (*AuditFile) ExportInvoicing

func (a *AuditFile) ExportInvoicing() (string, error)

func (*AuditFile) ToXML

func (a *AuditFile) ToXML() (string, error)

func (*AuditFile) Validate

func (a *AuditFile) Validate() error

type AuditFileMasterFiles

type AuditFileMasterFiles struct {
	XMLName xml.Name `xml:"MasterFiles"`

	GeneralLedgerAccounts *GeneralLedgerAccounts `xml:"GeneralLedgerAccounts"`

	Customer []Customer `xml:"Customer"`

	Supplier []Supplier `xml:"Supplier"`

	Product []Product `xml:"Product"`

	TaxTable *TaxTable `xml:"TaxTable"`
}

Element

type AuditFileVersion

type AuditFileVersion struct {
	XMLName xml.Name `xml:"AuditFileVersion"`

	Text string `xml:",chardata"`
}

Element

type BillingAddress

type BillingAddress struct {
	XMLName xml.Name `xml:"BillingAddress"`

	BuildingNumber *SafpttextTypeMandatoryMax10Car `xml:"BuildingNumber"`

	StreetName *SafpttextTypeMandatoryMax200Car `xml:"StreetName"`

	AddressDetail SafpttextTypeMandatoryMax210Car `xml:"AddressDetail"`

	City SafpttextTypeMandatoryMax50Car `xml:"City"`

	PostalCode SafpttextTypeMandatoryMax20Car `xml:"PostalCode"`

	Region *SafpttextTypeMandatoryMax50Car `xml:"Region"`

	Country string `xml:"Country"`
}

Element

type BuildingNumber

type BuildingNumber struct {
	XMLName xml.Name `xml:"BuildingNumber"`

	Text string `xml:",chardata"`
}

Element

type BusinessName

type BusinessName struct {
	XMLName xml.Name `xml:"BusinessName"`

	Text string `xml:",chardata"`
}

Element

type CashVatschemeIndicator

type CashVatschemeIndicator struct {
	XMLName xml.Name `xml:"CashVATSchemeIndicator"`

	Text string `xml:",chardata"`
}

Element

type City

type City struct {
	XMLName xml.Name `xml:"City"`

	Text string `xml:",chardata"`
}

Element

type ClosingCreditBalance

type ClosingCreditBalance struct {
	XMLName xml.Name `xml:"ClosingCreditBalance"`

	Text string `xml:",chardata"`
}

Element

type ClosingDebitBalance

type ClosingDebitBalance struct {
	XMLName xml.Name `xml:"ClosingDebitBalance"`

	Text string `xml:",chardata"`
}

Element

type Cncode

type Cncode struct {
	XMLName xml.Name `xml:"CNCode"`

	Text string `xml:",chardata"`
}

Element

type CompanyAddress

type CompanyAddress struct {
	XMLName xml.Name `xml:"CompanyAddress"`

	BuildingNumber *SafpttextTypeMandatoryMax10Car `xml:"BuildingNumber"`

	StreetName *SafpttextTypeMandatoryMax200Car `xml:"StreetName"`

	AddressDetail SafpttextTypeMandatoryMax210Car `xml:"AddressDetail"`

	City SafpttextTypeMandatoryMax50Car `xml:"City"`

	PostalCode SafpttextTypeMandatoryMax20Car `xml:"PostalCode"`

	Region *SafpttextTypeMandatoryMax50Car `xml:"Region"`

	Country string `xml:"Country"`
}

Element

type CompanyId

type CompanyId struct {
	XMLName xml.Name `xml:"CompanyID"`

	Text string `xml:",chardata"`
}

Element

type CompanyName

type CompanyName struct {
	XMLName xml.Name `xml:"CompanyName"`

	Text string `xml:",chardata"`
}

Element

type Contact

type Contact struct {
	XMLName xml.Name `xml:"Contact"`

	Text string `xml:",chardata"`
}

Element

type Country

type Country struct {
	XMLName xml.Name `xml:"Country"`

	Text string `xml:",chardata"`
}

Element

type CreditAmount

type CreditAmount struct {
	XMLName xml.Name `xml:"CreditAmount"`

	Text string `xml:",chardata"`
}

Element

type Currency

type Currency struct {
	CurrencyCode string `xml:"CurrencyCode"`

	CurrencyAmount SafmonetaryType `xml:"CurrencyAmount"`

	ExchangeRate SafdecimalType `xml:"ExchangeRate"`
}

type CurrencyAmount

type CurrencyAmount struct {
	XMLName xml.Name `xml:"CurrencyAmount"`

	Text string `xml:",chardata"`
}

Element

type CurrencyCode

type CurrencyCode struct {
	XMLName xml.Name `xml:"CurrencyCode"`

	Text string `xml:",chardata"`
}

Element

type CurrencyPt

type CurrencyPt string
const CurrencyPtEur CurrencyPt = "EUR"

type Customer

type Customer struct {
	XMLName xml.Name `xml:"Customer"`

	CustomerId SafpttextTypeMandatoryMax30Car `xml:"CustomerID"`

	AccountId string `xml:"AccountID"`

	CustomerTaxId SafpttextTypeMandatoryMax30Car `xml:"CustomerTaxID"`

	CompanyName SafpttextTypeMandatoryMax100Car `xml:"CompanyName"`

	Contact *SafpttextTypeMandatoryMax50Car `xml:"Contact"`

	BillingAddress CustomerAddressStructure `xml:"BillingAddress"`

	ShipToAddress []CustomerAddressStructure `xml:"ShipToAddress"`

	Telephone *SafpttextTypeMandatoryMax20Car `xml:"Telephone"`

	Fax *SafpttextTypeMandatoryMax20Car `xml:"Fax"`

	Email *SafpttextTypeMandatoryMax254Car `xml:"Email"`

	Website *SafpttextTypeMandatoryMax60Car `xml:"Website"`

	SelfBillingIndicator uint64 `xml:"SelfBillingIndicator"`
}

Element

type CustomerAddressStructure

type CustomerAddressStructure struct {
	BuildingNumber *SafpttextTypeMandatoryMax10Car `xml:"BuildingNumber"`

	StreetName *SafpttextTypeMandatoryMax200Car `xml:"StreetName"`

	AddressDetail SafpttextTypeMandatoryMax210Car `xml:"AddressDetail"`

	City SafpttextTypeMandatoryMax50Car `xml:"City"`

	PostalCode SafpttextTypeMandatoryMax20Car `xml:"PostalCode"`

	Region *SafpttextTypeMandatoryMax50Car `xml:"Region"`

	Country CustomerCountry `xml:"Country"`
}

type CustomerCountry

type CustomerCountry string

type CustomerId

type CustomerId struct {
	XMLName xml.Name `xml:"CustomerID"`

	Text string `xml:",chardata"`
}

Element

type CustomerTaxId

type CustomerTaxId struct {
	XMLName xml.Name `xml:"CustomerTaxID"`

	Text string `xml:",chardata"`
}

Element

type CustomsDetails

type CustomsDetails struct {
	Cncode []Safptcncode `xml:"CNCode"`

	Unnumber []Safptunnumber `xml:"UNNumber"`
}

type CustomsInformation

type CustomsInformation struct {
	Arcno []SafpttextTypeMandatoryMax21Car `xml:"ARCNo"`

	Iecamount *SafmonetaryType `xml:"IECAmount"`
}

type DateCreated

type DateCreated struct {
	XMLName xml.Name `xml:"DateCreated"`

	Text string `xml:",chardata"`
}

Element

type DebitAmount

type DebitAmount struct {
	XMLName xml.Name `xml:"DebitAmount"`

	Text string `xml:",chardata"`
}

Element

type DeliveryDate

type DeliveryDate struct {
	XMLName xml.Name `xml:"DeliveryDate"`

	Text string `xml:",chardata"`
}

Element

type DeliveryId

type DeliveryId struct {
	XMLName xml.Name `xml:"DeliveryID"`

	Text string `xml:",chardata"`
}

Element

type Description

type Description struct {
	XMLName xml.Name `xml:"Description"`

	Text string `xml:",chardata"`
}

Element

type DocArchivalNumber

type DocArchivalNumber struct {
	XMLName xml.Name `xml:"DocArchivalNumber"`

	Text string `xml:",chardata"`
}

Element

type DocumentNumber

type DocumentNumber struct {
	XMLName xml.Name `xml:"DocumentNumber"`

	Text string `xml:",chardata"`
}

Element

type DocumentTotalsSettlement

type DocumentTotalsSettlement struct {
	XMLName xml.Name `xml:"Settlement"`

	SettlementAmount SafmonetaryType `xml:",any"`
}

Element

type Eaccode

type Eaccode struct {
	XMLName xml.Name `xml:"EACCode"`

	Text string `xml:",chardata"`
}

Element

type Email

type Email struct {
	XMLName xml.Name `xml:"Email"`

	Text string `xml:",chardata"`
}

Element

type EndDate

type EndDate struct {
	XMLName xml.Name `xml:"EndDate"`

	Text string `xml:",chardata"`
}

Element

type ExchangeRate

type ExchangeRate struct {
	XMLName xml.Name `xml:"ExchangeRate"`

	Text string `xml:",chardata"`
}

Element

type Fax

type Fax struct {
	XMLName xml.Name `xml:"Fax"`

	Text string `xml:",chardata"`
}

Element

type FiscalYear

type FiscalYear struct {
	XMLName xml.Name `xml:"FiscalYear"`

	Text string `xml:",chardata"`
}

Element

type GeneralLedgerAccounts

type GeneralLedgerAccounts struct {
	XMLName xml.Name `xml:"GeneralLedgerAccounts"`

	TaxonomyReference string `xml:"TaxonomyReference"`

	Account []GeneralLedgerAccountsAccount `xml:"Account"`
}

Element

type GeneralLedgerAccountsAccount

type GeneralLedgerAccountsAccount struct {
	XMLName xml.Name `xml:"Account"`

	AccountId SafptglaccountId `xml:"AccountID"`

	AccountDescription SafpttextTypeMandatoryMax100Car `xml:"AccountDescription"`

	OpeningDebitBalance SafmonetaryType `xml:"OpeningDebitBalance"`

	OpeningCreditBalance SafmonetaryType `xml:"OpeningCreditBalance"`

	ClosingDebitBalance SafmonetaryType `xml:"ClosingDebitBalance"`

	ClosingCreditBalance SafmonetaryType `xml:"ClosingCreditBalance"`

	GroupingCategory string `xml:"GroupingCategory"`

	GroupingCode *SafptglaccountId `xml:"GroupingCode"`

	TaxonomyCode *SafpttaxonomyCode `xml:"TaxonomyCode"`
}

Element

type GeneralLedgerEntries

type GeneralLedgerEntries struct {
	XMLName xml.Name `xml:"GeneralLedgerEntries"`

	NumberOfEntries uint64 `xml:"NumberOfEntries"`

	TotalDebit SafmonetaryType `xml:"TotalDebit"`

	TotalCredit SafmonetaryType `xml:"TotalCredit"`

	Journal []GeneralLedgerEntriesJournal `xml:"Journal"`
}

Element

type GeneralLedgerEntriesJournal

type GeneralLedgerEntriesJournal struct {
	XMLName xml.Name `xml:"Journal"`

	JournalId SafptjournalId `xml:"JournalID"`

	Description SafpttextTypeMandatoryMax200Car `xml:"Description"`

	Transaction []JournalTransaction `xml:"Transaction"`
}

Element

type GlpostingDate

type GlpostingDate struct {
	XMLName xml.Name `xml:"GLPostingDate"`

	Text string `xml:",chardata"`
}

Element

type GrossTotal

type GrossTotal struct {
	XMLName xml.Name `xml:"GrossTotal"`

	Text string `xml:",chardata"`
}

Element

type GroupingCategory

type GroupingCategory struct {
	XMLName xml.Name `xml:"GroupingCategory"`

	Text string `xml:",chardata"`
}

Element

type Hash

type Hash struct {
	XMLName xml.Name `xml:"Hash"`

	Text string `xml:",chardata"`
}

Element

type HashControl

type HashControl struct {
	XMLName xml.Name `xml:"HashControl"`

	Text string `xml:",chardata"`
}

Element

type Header struct {
	XMLName xml.Name `xml:"Header"`

	AuditFileVersion string `xml:"AuditFileVersion"`

	CompanyId string `xml:"CompanyID"`

	TaxRegistrationNumber SafptportugueseVatNumber `xml:"TaxRegistrationNumber"`

	TaxAccountingBasis string `xml:"TaxAccountingBasis"`

	CompanyName SafpttextTypeMandatoryMax100Car `xml:"CompanyName"`

	BusinessName *SafpttextTypeMandatoryMax60Car `xml:"BusinessName"`

	CompanyAddress AddressStructure `xml:"CompanyAddress"`

	FiscalYear string `xml:"FiscalYear"`

	StartDate SafptdateSpan `xml:"StartDate"`

	EndDate SafptdateSpan `xml:"EndDate"`

	CurrencyCode CurrencyPt `xml:"CurrencyCode"`

	DateCreated SafptdateSpan `xml:"DateCreated"`

	TaxEntity SafpttextTypeMandatoryMax20Car `xml:"TaxEntity"`

	ProductCompanyTaxId SafpttextTypeMandatoryMax30Car `xml:"ProductCompanyTaxID"`

	SoftwareCertificateNumber uint64 `xml:"SoftwareCertificateNumber"`

	ProductId SafptproductId `xml:"ProductID"`

	ProductVersion SafpttextTypeMandatoryMax30Car `xml:"ProductVersion"`

	HeaderComment *SafpttextTypeMandatoryMax255Car `xml:"HeaderComment"`

	Telephone *SafpttextTypeMandatoryMax20Car `xml:"Telephone"`

	Fax *SafpttextTypeMandatoryMax20Car `xml:"Fax"`

	Email *SafpttextTypeMandatoryMax254Car `xml:"Email"`

	Website *SafpttextTypeMandatoryMax60Car `xml:"Website"`
}

Element

type HeaderComment

type HeaderComment struct {
	XMLName xml.Name `xml:"HeaderComment"`

	Text string `xml:",chardata"`
}

Element

type Iecamount

type Iecamount struct {
	XMLName xml.Name `xml:"IECAmount"`

	Text string `xml:",chardata"`
}

Element

type InvoiceDate

type InvoiceDate struct {
	XMLName xml.Name `xml:"InvoiceDate"`

	Text string `xml:",chardata"`
}

Element

type InvoiceDocumentStatus

type InvoiceDocumentStatus struct {
	XMLName xml.Name `xml:"DocumentStatus"`

	InvoiceStatus string `xml:"InvoiceStatus"`

	InvoiceStatusDate SafdateTimeType `xml:"InvoiceStatusDate"`

	Reason *SafpttextTypeMandatoryMax50Car `xml:"Reason"`

	SourceId SafpttextTypeMandatoryMax30Car `xml:"SourceID"`

	SourceBilling SaftptsourceBilling `xml:"SourceBilling"`
}

Element

type InvoiceDocumentTotals

type InvoiceDocumentTotals struct {
	XMLName xml.Name `xml:"DocumentTotals"`

	TaxPayable SafmonetaryType `xml:"TaxPayable"`

	NetTotal SafmonetaryType `xml:"NetTotal"`

	GrossTotal SafmonetaryType `xml:"GrossTotal"`

	Currency *Currency `xml:"Currency"`

	Settlement []Settlement `xml:"Settlement"`

	Payment []PaymentMethod `xml:"Payment"`
}

Element

type InvoiceLine

type InvoiceLine struct {
	XMLName xml.Name `xml:"Line"`

	LineNumber uint64 `xml:"LineNumber"`

	OrderReferences []OrderReferences `xml:"OrderReferences"`

	ProductCode SafpttextTypeMandatoryMax60Car `xml:"ProductCode"`

	ProductDescription SafptproductDescription `xml:"ProductDescription"`

	Quantity SafdecimalType `xml:"Quantity"`

	UnitOfMeasure SafpttextTypeMandatoryMax20Car `xml:"UnitOfMeasure"`

	UnitPrice SafmonetaryType `xml:"UnitPrice"`

	TaxBase *SafmonetaryType `xml:"TaxBase"`

	TaxPointDate SafdateType `xml:"TaxPointDate"`

	References []References `xml:"References"`

	Description SafpttextTypeMandatoryMax200Car `xml:"Description"`

	ProductSerialNumber *ProductSerialNumber `xml:"ProductSerialNumber"`

	DebitAmount *SafmonetaryType `xml:"DebitAmount"`

	CreditAmount *SafmonetaryType `xml:"CreditAmount"`

	Tax Tax `xml:"Tax"`

	TaxExemptionReason *SafptportugueseTaxExemptionReason `xml:"TaxExemptionReason"`

	TaxExemptionCode *SafptportugueseTaxExemptionCode `xml:"TaxExemptionCode"`

	SettlementAmount *SafmonetaryType `xml:"SettlementAmount"`

	CustomsInformation *CustomsInformation `xml:"CustomsInformation"`
}

Element

type InvoiceNo

type InvoiceNo struct {
	XMLName xml.Name `xml:"InvoiceNo"`

	Text string `xml:",chardata"`
}

Element

type InvoiceStatus

type InvoiceStatus struct {
	XMLName xml.Name `xml:"InvoiceStatus"`

	Text string `xml:",chardata"`
}

Element

type InvoiceStatusDate

type InvoiceStatusDate struct {
	XMLName xml.Name `xml:"InvoiceStatusDate"`

	Text string `xml:",chardata"`
}

Element

type InvoiceType

type InvoiceType struct {
	XMLName xml.Name `xml:"InvoiceType"`

	Text string `xml:",chardata"`
}

Element

type JournalId

type JournalId struct {
	XMLName xml.Name `xml:"JournalID"`

	Text string `xml:",chardata"`
}

Element

type JournalTransaction

type JournalTransaction struct {
	XMLName xml.Name `xml:"Transaction"`

	TransactionId SafpttransactionId `xml:"TransactionID"`

	Period SafptaccountingPeriod `xml:"Period"`

	TransactionDate SafdateType `xml:"TransactionDate"`

	SourceId SafpttextTypeMandatoryMax30Car `xml:"SourceID"`

	Description SafpttextTypeMandatoryMax200Car `xml:"Description"`

	DocArchivalNumber SaftptdocArchivalNumber `xml:"DocArchivalNumber"`

	TransactionType string `xml:"TransactionType"`

	GlpostingDate SafdateType `xml:"GLPostingDate"`

	Lines TransactionLines `xml:"Lines"`

	// Either CustomerId or SupplierId must be present
	CustomerId *SafpttextTypeMandatoryMax30Car `xml:"CustomerID"`
	// Either CustomerId or SupplierId must be present
	SupplierId *SafpttextTypeMandatoryMax30Car `xml:"SupplierID"`
}

Element

type LineNumber

type LineNumber struct {
	XMLName xml.Name `xml:"LineNumber"`

	Text string `xml:",chardata"`
}

Element

type LineSourceDocumentId

type LineSourceDocumentId struct {
	XMLName xml.Name `xml:"SourceDocumentID"`

	OriginatingOn SafpttextTypeMandatoryMax60Car `xml:"OriginatingON"`

	InvoiceDate SafdateType `xml:"InvoiceDate"`

	Description *SafpttextTypeMandatoryMax200Car `xml:"Description"`
}

Element

type LinesCreditLine

type LinesCreditLine struct {
	XMLName xml.Name `xml:"CreditLine"`

	RecordId SafpttextTypeMandatoryMax30Car `xml:"RecordID"`

	AccountId SafptglaccountId `xml:"AccountID"`

	SourceDocumentId *SafpttextTypeMandatoryMax60Car `xml:"SourceDocumentID"`

	SystemEntryDate SafdateTimeType `xml:"SystemEntryDate"`

	Description SafpttextTypeMandatoryMax200Car `xml:"Description"`

	CreditAmount SafmonetaryType `xml:"CreditAmount"`
}

Element

type LinesDebitLine

type LinesDebitLine struct {
	XMLName xml.Name `xml:"DebitLine"`

	RecordId SafpttextTypeMandatoryMax30Car `xml:"RecordID"`

	AccountId SafptglaccountId `xml:"AccountID"`

	SourceDocumentId *SafpttextTypeMandatoryMax60Car `xml:"SourceDocumentID"`

	SystemEntryDate SafdateTimeType `xml:"SystemEntryDate"`

	Description SafpttextTypeMandatoryMax200Car `xml:"Description"`

	DebitAmount SafmonetaryType `xml:"DebitAmount"`
}

Element

type LocationId

type LocationId struct {
	XMLName xml.Name `xml:"LocationID"`

	Text string `xml:",chardata"`
}

Element

type MovementComments

type MovementComments struct {
	XMLName xml.Name `xml:"MovementComments"`

	Text string `xml:",chardata"`
}

Element

type MovementDate

type MovementDate struct {
	XMLName xml.Name `xml:"MovementDate"`

	Text string `xml:",chardata"`
}

Element

type MovementEndTime

type MovementEndTime struct {
	XMLName xml.Name `xml:"MovementEndTime"`

	Text string `xml:",chardata"`
}

Element

type MovementOfGoodsStockMovement

type MovementOfGoodsStockMovement struct {
	XMLName xml.Name `xml:"StockMovement"`

	DocumentNumber string `xml:"DocumentNumber"`

	Atcud SafpttextTypeMandatoryMax100Car `xml:"ATCUD"`

	DocumentStatus StockMovementDocumentStatus `xml:"DocumentStatus"`

	Hash SafpttextTypeMandatoryMax172Car `xml:"Hash"`

	HashControl SafpthashControl `xml:"HashControl"`

	Period string `xml:"Period"`

	MovementDate SafdateType `xml:"MovementDate"`

	MovementType string `xml:"MovementType"`

	SystemEntryDate SafdateTimeType `xml:"SystemEntryDate"`

	TransactionId *SafpttransactionId `xml:"TransactionID"`

	SourceId SafpttextTypeMandatoryMax30Car `xml:"SourceID"`

	Eaccode string `xml:"EACCode"`

	MovementComments *SafpttextTypeMandatoryMax60Car `xml:"MovementComments"`

	ShipTo *ShippingPointStructure `xml:"ShipTo"`

	ShipFrom *ShippingPointStructure `xml:"ShipFrom"`

	MovementEndTime *SafdateTimeType `xml:"MovementEndTime"`

	MovementStartTime SafdateTimeType `xml:"MovementStartTime"`

	AtdocCodeId *SafpttextTypeMandatoryMax200Car `xml:"ATDocCodeID"`

	Line []StockMovementLine `xml:"Line"`

	DocumentTotals StockMovementDocumentTotals `xml:"DocumentTotals"`

	CustomerId *SafpttextTypeMandatoryMax30Car `xml:"CustomerID"`

	SupplierId *SafpttextTypeMandatoryMax30Car `xml:"SupplierID"`
}

Element

type MovementStartTime

type MovementStartTime struct {
	XMLName xml.Name `xml:"MovementStartTime"`

	Text string `xml:",chardata"`
}

Element

type MovementStatus

type MovementStatus struct {
	XMLName xml.Name `xml:"MovementStatus"`

	Text string `xml:",chardata"`
}

Element

type MovementStatusDate

type MovementStatusDate struct {
	XMLName xml.Name `xml:"MovementStatusDate"`

	Text string `xml:",chardata"`
}

Element

type MovementTax

type MovementTax struct {
	TaxType SaftptmovementTaxType `xml:"TaxType"`

	TaxCountryRegion string `xml:"TaxCountryRegion"`

	TaxCode SaftptmovementTaxCode `xml:"TaxCode"`

	TaxPercentage SafdecimalType `xml:"TaxPercentage"`
}

type MovementType

type MovementType struct {
	XMLName xml.Name `xml:"MovementType"`

	Text string `xml:",chardata"`
}

Element

type NetTotal

type NetTotal struct {
	XMLName xml.Name `xml:"NetTotal"`

	Text string `xml:",chardata"`
}

Element

type NumberOfEntries

type NumberOfEntries struct {
	XMLName xml.Name `xml:"NumberOfEntries"`

	Text string `xml:",chardata"`
}

Element

type NumberOfMovementLines

type NumberOfMovementLines struct {
	XMLName xml.Name `xml:"NumberOfMovementLines"`

	Text string `xml:",chardata"`
}

Element

type OpeningCreditBalance

type OpeningCreditBalance struct {
	XMLName xml.Name `xml:"OpeningCreditBalance"`

	Text string `xml:",chardata"`
}

Element

type OpeningDebitBalance

type OpeningDebitBalance struct {
	XMLName xml.Name `xml:"OpeningDebitBalance"`

	Text string `xml:",chardata"`
}

Element

type OrderDate

type OrderDate struct {
	XMLName xml.Name `xml:"OrderDate"`

	Text string `xml:",chardata"`
}

Element

type OrderReferences

type OrderReferences struct {
	OriginatingOn *SafpttextTypeMandatoryMax60Car `xml:"OriginatingON"`

	OrderDate *SafdateType `xml:"OrderDate"`
}

type OriginatingOn

type OriginatingOn struct {
	XMLName xml.Name `xml:"OriginatingON"`

	Text string `xml:",chardata"`
}

Element

type PaymentDocumentStatus

type PaymentDocumentStatus struct {
	XMLName xml.Name `xml:"DocumentStatus"`

	PaymentStatus string `xml:"PaymentStatus"`

	PaymentStatusDate SafdateTimeType `xml:"PaymentStatusDate"`

	Reason *SafpttextTypeMandatoryMax50Car `xml:"Reason"`

	SourceId SafpttextTypeMandatoryMax30Car `xml:"SourceID"`

	SourcePayment SaftptsourcePayment `xml:"SourcePayment"`
}

Element

type PaymentDocumentTotals

type PaymentDocumentTotals struct {
	XMLName xml.Name `xml:"DocumentTotals"`

	TaxPayable SafmonetaryType `xml:"TaxPayable"`

	NetTotal SafmonetaryType `xml:"NetTotal"`

	GrossTotal SafmonetaryType `xml:"GrossTotal"`

	Settlement *DocumentTotalsSettlement `xml:"Settlement"`

	Currency *Currency `xml:"Currency"`
}

Element

type PaymentLine

type PaymentLine struct {
	XMLName xml.Name `xml:"Line"`

	LineNumber uint64 `xml:"LineNumber"`

	SourceDocumentId []LineSourceDocumentId `xml:"SourceDocumentID"`

	SettlementAmount *SafmonetaryType `xml:"SettlementAmount"`

	DebitAmount *SafmonetaryType `xml:"DebitAmount"`

	CreditAmount *SafmonetaryType `xml:"CreditAmount"`

	Tax *PaymentTax `xml:"Tax"`

	TaxExemptionReason *SafptportugueseTaxExemptionReason `xml:"TaxExemptionReason"`

	TaxExemptionCode *SafptportugueseTaxExemptionCode `xml:"TaxExemptionCode"`
}

Element

type PaymentMechanism

type PaymentMechanism struct {
	XMLName xml.Name `xml:"PaymentMechanism"`

	Text string `xml:",chardata"`
}

Element

type PaymentMethod

type PaymentMethod struct {
	PaymentMechanism *string `xml:"PaymentMechanism"`

	PaymentAmount SafmonetaryType `xml:"PaymentAmount"`

	PaymentDate SafdateType `xml:"PaymentDate"`
}

type PaymentRefNo

type PaymentRefNo struct {
	XMLName xml.Name `xml:"PaymentRefNo"`

	Text string `xml:",chardata"`
}

Element

type PaymentStatus

type PaymentStatus struct {
	XMLName xml.Name `xml:"PaymentStatus"`

	Text string `xml:",chardata"`
}

Element

type PaymentStatusDate

type PaymentStatusDate struct {
	XMLName xml.Name `xml:"PaymentStatusDate"`

	Text string `xml:",chardata"`
}

Element

type PaymentTax

type PaymentTax struct {
	TaxType string `xml:"TaxType"`

	TaxCountryRegion string `xml:"TaxCountryRegion"`

	TaxCode PaymentTaxCode `xml:"TaxCode"`

	TaxPercentage *SafdecimalType `xml:"TaxPercentage"`

	TaxAmount *SafmonetaryType `xml:"TaxAmount"`
}

type PaymentTaxCode

type PaymentTaxCode string

type PaymentsPayment

type PaymentsPayment struct {
	XMLName xml.Name `xml:"Payment"`

	PaymentRefNo string `xml:"PaymentRefNo"`

	Atcud SafpttextTypeMandatoryMax100Car `xml:"ATCUD"`

	Period string `xml:"Period"`

	TransactionId *SafpttransactionId `xml:"TransactionID"`

	TransactionDate SafdateType `xml:"TransactionDate"`

	PaymentType SaftptpaymentType `xml:"PaymentType"`

	Description *SafpttextTypeMandatoryMax200Car `xml:"Description"`

	SystemId *SafpttextTypeMandatoryMax60Car `xml:"SystemID"`

	DocumentStatus PaymentDocumentStatus `xml:"DocumentStatus"`

	PaymentMethod []PaymentMethod `xml:"PaymentMethod"`

	SourceId SafpttextTypeMandatoryMax30Car `xml:"SourceID"`

	SystemEntryDate SafdateTimeType `xml:"SystemEntryDate"`

	CustomerId SafpttextTypeMandatoryMax30Car `xml:"CustomerID"`

	Line []PaymentLine `xml:"Line"`

	DocumentTotals PaymentDocumentTotals `xml:"DocumentTotals"`

	WithholdingTax []WithholdingTax `xml:"WithholdingTax"`
}

Element

type Period

type Period struct {
	XMLName xml.Name `xml:"Period"`

	Text string `xml:",chardata"`
}

Element

type PostalCode

type PostalCode struct {
	XMLName xml.Name `xml:"PostalCode"`

	Text string `xml:",chardata"`
}

Element

type Product

type Product struct {
	XMLName xml.Name `xml:"Product"`

	ProductType string `xml:"ProductType"`

	ProductCode SafpttextTypeMandatoryMax60Car `xml:"ProductCode"`

	ProductGroup *SafpttextTypeMandatoryMax50Car `xml:"ProductGroup"`

	ProductDescription SafptproductDescription `xml:"ProductDescription"`

	ProductNumberCode SafpttextTypeMandatoryMax60Car `xml:"ProductNumberCode"`

	CustomsDetails *CustomsDetails `xml:"CustomsDetails"`
}

Element

type ProductCode

type ProductCode struct {
	XMLName xml.Name `xml:"ProductCode"`

	Text string `xml:",chardata"`
}

Element

type ProductCompanyTaxId

type ProductCompanyTaxId struct {
	XMLName xml.Name `xml:"ProductCompanyTaxID"`

	Text string `xml:",chardata"`
}

Element

type ProductDescription

type ProductDescription struct {
	XMLName xml.Name `xml:"ProductDescription"`

	Text string `xml:",chardata"`
}

Element

type ProductGroup

type ProductGroup struct {
	XMLName xml.Name `xml:"ProductGroup"`

	Text string `xml:",chardata"`
}

Element

type ProductId

type ProductId struct {
	XMLName xml.Name `xml:"ProductID"`

	Text string `xml:",chardata"`
}

Element

type ProductNumberCode

type ProductNumberCode struct {
	XMLName xml.Name `xml:"ProductNumberCode"`

	Text string `xml:",chardata"`
}

Element

type ProductSerialNumber

type ProductSerialNumber struct {
	SerialNumber []SafpttextTypeMandatoryMax100Car `xml:",any"`
}

type ProductType

type ProductType struct {
	XMLName xml.Name `xml:"ProductType"`

	Text string `xml:",chardata"`
}

Element

type ProductVersion

type ProductVersion struct {
	XMLName xml.Name `xml:"ProductVersion"`

	Text string `xml:",chardata"`
}

Element

type Quantity

type Quantity struct {
	XMLName xml.Name `xml:"Quantity"`

	Text string `xml:",chardata"`
}

Element

type Reason

type Reason struct {
	XMLName xml.Name `xml:"Reason"`

	Text string `xml:",chardata"`
}

Element

type RecordId

type RecordId struct {
	XMLName xml.Name `xml:"RecordID"`

	Text string `xml:",chardata"`
}

Element

type Reference

type Reference struct {
	XMLName xml.Name `xml:"Reference"`

	Text string `xml:",chardata"`
}

Element

type References

type References struct {
	Reference *SafpttextTypeMandatoryMax60Car `xml:"Reference"`

	Reason *SafpttextTypeMandatoryMax50Car `xml:"Reason"`
}

type Region

type Region struct {
	XMLName xml.Name `xml:"Region"`

	Text string `xml:",chardata"`
}

Element

type SafdateTimeType

type SafdateTimeType time.Time

func (SafdateTimeType) MarshalXML

func (s SafdateTimeType) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (*SafdateTimeType) UnmarshalXML

func (s *SafdateTimeType) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SafdateType

type SafdateType struct {
	time.Time
}

func (SafdateType) MarshalXML

func (s SafdateType) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (*SafdateType) UnmarshalXML

func (s *SafdateType) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SafdecimalType

type SafdecimalType struct {
	decimal.Decimal
}

func (SafdecimalType) MarshalXML

func (s SafdecimalType) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (*SafdecimalType) UnmarshalXML

func (s *SafdecimalType) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

Read SafdecimalType from XML

type SafmonetaryType

type SafmonetaryType struct {
	decimal.Decimal
}

func (SafmonetaryType) MarshalXML

func (s SafmonetaryType) MarshalXML(e *xml.Encoder, start xml.StartElement) error

Convert SafmonetaryType to XML

func (*SafmonetaryType) UnmarshalXML

func (s *SafmonetaryType) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

Read SafmonetaryType from XML

type SafptaccountingPeriod

type SafptaccountingPeriod uint64

type Safptcncode

type Safptcncode string

type SafptdateSpan

type SafptdateSpan time.Time

func (SafptdateSpan) MarshalXML

func (s SafptdateSpan) MarshalXML(e *xml.Encoder, start xml.StartElement) error

func (*SafptdateSpan) UnmarshalXML

func (s *SafptdateSpan) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error

type SafptglaccountId

type SafptglaccountId string

type SafpthashControl

type SafpthashControl string

type SafptjournalId

type SafptjournalId string

type SafptportugueseTaxExemptionCode

type SafptportugueseTaxExemptionCode string

type SafptportugueseTaxExemptionReason

type SafptportugueseTaxExemptionReason string

type SafptportugueseVatNumber

type SafptportugueseVatNumber uint64

type SafptproductDescription

type SafptproductDescription string

type SafptproductId

type SafptproductId string

type SafpttaxonomyCode

type SafpttaxonomyCode uint64

type SafpttextTypeMandatoryMax100Car

type SafpttextTypeMandatoryMax100Car string

type SafpttextTypeMandatoryMax10Car

type SafpttextTypeMandatoryMax10Car string

type SafpttextTypeMandatoryMax172Car

type SafpttextTypeMandatoryMax172Car string

type SafpttextTypeMandatoryMax200Car

type SafpttextTypeMandatoryMax200Car string

type SafpttextTypeMandatoryMax20Car

type SafpttextTypeMandatoryMax20Car string

type SafpttextTypeMandatoryMax210Car

type SafpttextTypeMandatoryMax210Car string

type SafpttextTypeMandatoryMax21Car

type SafpttextTypeMandatoryMax21Car string

type SafpttextTypeMandatoryMax254Car

type SafpttextTypeMandatoryMax254Car string

type SafpttextTypeMandatoryMax255Car

type SafpttextTypeMandatoryMax255Car string

type SafpttextTypeMandatoryMax30Car

type SafpttextTypeMandatoryMax30Car string

type SafpttextTypeMandatoryMax35Car

type SafpttextTypeMandatoryMax35Car string

type SafpttextTypeMandatoryMax50Car

type SafpttextTypeMandatoryMax50Car string

type SafpttextTypeMandatoryMax60Car

type SafpttextTypeMandatoryMax60Car string

type SafpttextTypeMandatoryMax70Car

type SafpttextTypeMandatoryMax70Car string

type SafpttextTypeMandatoryMax90Car

type SafpttextTypeMandatoryMax90Car string

type SafpttransactionId

type SafpttransactionId string

type Safptunnumber

type Safptunnumber string

type SaftptdocArchivalNumber

type SaftptdocArchivalNumber string

type SaftptmovementTaxCode

type SaftptmovementTaxCode string

type SaftptmovementTaxType

type SaftptmovementTaxType string

type SaftptpaymentType

type SaftptpaymentType string
const (
	SaftptpaymentTypeRC SaftptpaymentType = "RC"
	SaftptpaymentTypeRG SaftptpaymentType = "RG"
)

type SaftptsourceBilling

type SaftptsourceBilling string
const (
	SaftptsourceBillingP SaftptsourceBilling = "P"
	SaftptsourceBillingI SaftptsourceBilling = "I"
	SaftptsourceBillingM SaftptsourceBilling = "M"
)

type SaftptsourcePayment

type SaftptsourcePayment string
const (
	SaftptsourcePaymentP SaftptsourcePayment = "P"
	SaftptsourcePaymentI SaftptsourcePayment = "I"
	SaftptsourcePaymentM SaftptsourcePayment = "M"
)

type SalesInvoicesInvoice

type SalesInvoicesInvoice struct {
	XMLName xml.Name `xml:"Invoice"`

	InvoiceNo string `xml:"InvoiceNo"`

	Atcud SafpttextTypeMandatoryMax100Car `xml:"ATCUD"`

	DocumentStatus InvoiceDocumentStatus `xml:"DocumentStatus"`

	Hash SafpttextTypeMandatoryMax172Car `xml:"Hash"`

	HashControl SafpthashControl `xml:"HashControl"`

	Period string `xml:"Period"`

	InvoiceDate SafdateType `xml:"InvoiceDate"`

	InvoiceType string `xml:"InvoiceType"`

	SpecialRegimes SpecialRegimes `xml:"SpecialRegimes"`

	SourceId SafpttextTypeMandatoryMax30Car `xml:"SourceID"`

	Eaccode string `xml:"EACCode"`

	SystemEntryDate SafdateTimeType `xml:"SystemEntryDate"`

	TransactionId *SafpttransactionId `xml:"TransactionID"`

	CustomerId SafpttextTypeMandatoryMax30Car `xml:"CustomerID"`

	ShipTo *ShippingPointStructure `xml:"ShipTo"`

	ShipFrom *ShippingPointStructure `xml:"ShipFrom"`

	MovementEndTime *SafdateTimeType `xml:"MovementEndTime"`

	MovementStartTime *SafdateTimeType `xml:"MovementStartTime"`

	Line []InvoiceLine `xml:"Line"`

	DocumentTotals InvoiceDocumentTotals `xml:"DocumentTotals"`

	WithholdingTax []WithholdingTax `xml:"WithholdingTax"`
}

Element

type SelfBillingIndicator

type SelfBillingIndicator struct {
	XMLName xml.Name `xml:"SelfBillingIndicator"`

	Text string `xml:",chardata"`
}

Element

type SerialNumber

type SerialNumber struct {
	XMLName xml.Name `xml:"SerialNumber"`

	Text string `xml:",chardata"`
}

Element

type Settlement

type Settlement struct {
	SettlementDiscount *SafpttextTypeMandatoryMax30Car `xml:"SettlementDiscount"`

	SettlementAmount *SafmonetaryType `xml:"SettlementAmount"`

	SettlementDate *SafdateType `xml:"SettlementDate"`

	PaymentTerms *SafpttextTypeMandatoryMax100Car `xml:"PaymentTerms"`
}

type SettlementAmount

type SettlementAmount struct {
	XMLName xml.Name `xml:"SettlementAmount"`

	Text string `xml:",chardata"`
}

Element

type ShipFrom

type ShipFrom struct {
	XMLName xml.Name `xml:"ShipFrom"`

	DeliveryId []SafpttextTypeMandatoryMax255Car `xml:"DeliveryID"`

	DeliveryDate *SafdateType `xml:"DeliveryDate"`

	Address *CustomerAddressStructure `xml:"Address"`
}

Element

type ShipFromAddress

type ShipFromAddress struct {
	XMLName xml.Name `xml:"ShipFromAddress"`

	BuildingNumber *SafpttextTypeMandatoryMax10Car `xml:"BuildingNumber"`

	StreetName *SafpttextTypeMandatoryMax200Car `xml:"StreetName"`

	AddressDetail SafpttextTypeMandatoryMax210Car `xml:"AddressDetail"`

	City SafpttextTypeMandatoryMax50Car `xml:"City"`

	PostalCode SafpttextTypeMandatoryMax20Car `xml:"PostalCode"`

	Region *SafpttextTypeMandatoryMax50Car `xml:"Region"`

	Country string `xml:"Country"`
}

Element

type ShipTo

type ShipTo struct {
	XMLName xml.Name `xml:"ShipTo"`

	DeliveryId []SafpttextTypeMandatoryMax255Car `xml:"DeliveryID"`

	DeliveryDate *SafdateType `xml:"DeliveryDate"`

	Address *CustomerAddressStructure `xml:"Address"`
}

Element

type ShipToAddress

type ShipToAddress struct {
	XMLName xml.Name `xml:"ShipToAddress"`

	BuildingNumber *SafpttextTypeMandatoryMax10Car `xml:"BuildingNumber"`

	StreetName *SafpttextTypeMandatoryMax200Car `xml:"StreetName"`

	AddressDetail SafpttextTypeMandatoryMax210Car `xml:"AddressDetail"`

	City SafpttextTypeMandatoryMax50Car `xml:"City"`

	PostalCode SafpttextTypeMandatoryMax20Car `xml:"PostalCode"`

	Region *SafpttextTypeMandatoryMax50Car `xml:"Region"`

	Country CustomerCountry `xml:"Country"`
}

Element

type ShippingPointStructure

type ShippingPointStructure struct {
	DeliveryId []SafpttextTypeMandatoryMax255Car `xml:"DeliveryID"`

	DeliveryDate *SafdateType `xml:"DeliveryDate"`

	Address *CustomerAddressStructure `xml:"Address"`
}

type SoftwareCertificateNumber

type SoftwareCertificateNumber struct {
	XMLName xml.Name `xml:"SoftwareCertificateNumber"`

	Text string `xml:",chardata"`
}

Element

type SourceDocumentId

type SourceDocumentId struct {
	XMLName xml.Name `xml:"SourceDocumentID"`

	Text string `xml:",chardata"`
}

Element

type SourceDocuments

type SourceDocuments struct {
	XMLName xml.Name `xml:"SourceDocuments"`

	SalesInvoices *SourceDocumentsSalesInvoices `xml:"SalesInvoices"`

	MovementOfGoods *SourceDocumentsMovementOfGoods `xml:"MovementOfGoods"`

	WorkingDocuments *SourceDocumentsWorkingDocuments `xml:"WorkingDocuments"`

	Payments *SourceDocumentsPayments `xml:"Payments"`
}

Element

type SourceDocumentsMovementOfGoods

type SourceDocumentsMovementOfGoods struct {
	XMLName xml.Name `xml:"MovementOfGoods"`

	NumberOfMovementLines uint64 `xml:"NumberOfMovementLines"`

	TotalQuantityIssued SafdecimalType `xml:"TotalQuantityIssued"`

	StockMovement []MovementOfGoodsStockMovement `xml:"StockMovement"`
}

Element

type SourceDocumentsPayments

type SourceDocumentsPayments struct {
	XMLName xml.Name `xml:"Payments"`

	NumberOfEntries uint64 `xml:"NumberOfEntries"`

	TotalDebit SafmonetaryType `xml:"TotalDebit"`

	TotalCredit SafmonetaryType `xml:"TotalCredit"`

	Payment []PaymentsPayment `xml:"Payment"`
}

Element

type SourceDocumentsSalesInvoices

type SourceDocumentsSalesInvoices struct {
	XMLName xml.Name `xml:"SalesInvoices"`

	NumberOfEntries uint64 `xml:"NumberOfEntries"`

	TotalDebit SafmonetaryType `xml:"TotalDebit"`

	TotalCredit SafmonetaryType `xml:"TotalCredit"`

	Invoice []SalesInvoicesInvoice `xml:"Invoice"`
}

Element

type SourceDocumentsWorkingDocuments

type SourceDocumentsWorkingDocuments struct {
	XMLName xml.Name `xml:"WorkingDocuments"`

	NumberOfEntries uint64 `xml:"NumberOfEntries"`

	TotalDebit SafmonetaryType `xml:"TotalDebit"`

	TotalCredit SafmonetaryType `xml:"TotalCredit"`

	WorkDocument []WorkingDocumentsWorkDocument `xml:"WorkDocument"`
}

Element

type SourceId

type SourceId struct {
	XMLName xml.Name `xml:"SourceID"`

	Text string `xml:",chardata"`
}

Element

type SpecialRegimes

type SpecialRegimes struct {
	SelfBillingIndicator string `xml:"SelfBillingIndicator"`

	CashVatschemeIndicator uint `xml:"CashVATSchemeIndicator"`

	ThirdPartiesBillingIndicator string `xml:"ThirdPartiesBillingIndicator"`
}

type StartDate

type StartDate struct {
	XMLName xml.Name `xml:"StartDate"`

	Text string `xml:",chardata"`
}

Element

type StockMovementDocumentStatus

type StockMovementDocumentStatus struct {
	XMLName xml.Name `xml:"DocumentStatus"`

	MovementStatus string `xml:"MovementStatus"`

	MovementStatusDate SafdateTimeType `xml:"MovementStatusDate"`

	Reason *SafpttextTypeMandatoryMax50Car `xml:"Reason"`

	SourceId SafpttextTypeMandatoryMax30Car `xml:"SourceID"`

	SourceBilling SaftptsourceBilling `xml:"SourceBilling"`
}

Element

type StockMovementDocumentTotals

type StockMovementDocumentTotals struct {
	XMLName xml.Name `xml:"DocumentTotals"`

	TaxPayable SafmonetaryType `xml:"TaxPayable"`

	NetTotal SafmonetaryType `xml:"NetTotal"`

	GrossTotal SafmonetaryType `xml:"GrossTotal"`

	Currency *Currency `xml:"Currency"`
}

Element

type StockMovementLine

type StockMovementLine struct {
	XMLName xml.Name `xml:"Line"`

	LineNumber uint64 `xml:"LineNumber"`

	OrderReferences []OrderReferences `xml:"OrderReferences"`

	ProductCode SafpttextTypeMandatoryMax60Car `xml:"ProductCode"`

	ProductDescription SafptproductDescription `xml:"ProductDescription"`

	Quantity SafdecimalType `xml:"Quantity"`

	UnitOfMeasure SafpttextTypeMandatoryMax20Car `xml:"UnitOfMeasure"`

	UnitPrice SafmonetaryType `xml:"UnitPrice"`

	Description SafpttextTypeMandatoryMax200Car `xml:"Description"`

	ProductSerialNumber *ProductSerialNumber `xml:"ProductSerialNumber"`

	Tax *MovementTax `xml:"Tax"`

	TaxExemptionReason *SafptportugueseTaxExemptionReason `xml:"TaxExemptionReason"`

	TaxExemptionCode *SafptportugueseTaxExemptionCode `xml:"TaxExemptionCode"`

	SettlementAmount *SafmonetaryType `xml:"SettlementAmount"`

	CustomsInformation *CustomsInformation `xml:"CustomsInformation"`

	DebitAmount *SafmonetaryType `xml:"DebitAmount"`

	CreditAmount *SafmonetaryType `xml:"CreditAmount"`
}

Element

type StreetName

type StreetName struct {
	XMLName xml.Name `xml:"StreetName"`

	Text string `xml:",chardata"`
}

Element

type Supplier

type Supplier struct {
	XMLName xml.Name `xml:"Supplier"`

	SupplierId SafpttextTypeMandatoryMax30Car `xml:"SupplierID"`

	AccountId string `xml:"AccountID"`

	SupplierTaxId SafpttextTypeMandatoryMax30Car `xml:"SupplierTaxID"`

	CompanyName SafpttextTypeMandatoryMax100Car `xml:"CompanyName"`

	Contact *SafpttextTypeMandatoryMax50Car `xml:"Contact"`

	BillingAddress AddressStructure `xml:"BillingAddress"`

	ShipFromAddress []AddressStructure `xml:"ShipFromAddress"`

	Telephone *SafpttextTypeMandatoryMax20Car `xml:"Telephone"`

	Fax *SafpttextTypeMandatoryMax20Car `xml:"Fax"`

	Email *SafpttextTypeMandatoryMax254Car `xml:"Email"`

	Website *SafpttextTypeMandatoryMax60Car `xml:"Website"`

	SelfBillingIndicator string `xml:"SelfBillingIndicator"`
}

Element

type SupplierId

type SupplierId struct {
	XMLName xml.Name `xml:"SupplierID"`

	Text string `xml:",chardata"`
}

Element

type SupplierTaxId

type SupplierTaxId struct {
	XMLName xml.Name `xml:"SupplierTaxID"`

	Text string `xml:",chardata"`
}

Element

type SystemEntryDate

type SystemEntryDate struct {
	XMLName xml.Name `xml:"SystemEntryDate"`

	Text string `xml:",chardata"`
}

Element

type SystemId

type SystemId struct {
	XMLName xml.Name `xml:"SystemID"`

	Text string `xml:",chardata"`
}

Element

type Tax

type Tax struct {
	TaxType string `xml:"TaxType"`

	TaxCountryRegion string `xml:"TaxCountryRegion"`

	TaxCode string `xml:"TaxCode"`

	TaxPercentage *SafdecimalType `xml:"TaxPercentage"`

	TaxAmount *SafmonetaryType `xml:"TaxAmount"`
}

type TaxAccountingBasis

type TaxAccountingBasis struct {
	XMLName xml.Name `xml:"TaxAccountingBasis"`

	Text string `xml:",chardata"`
}

Element

type TaxAmount

type TaxAmount struct {
	XMLName xml.Name `xml:"TaxAmount"`

	Text string `xml:",chardata"`
}

Element

type TaxBase

type TaxBase struct {
	XMLName xml.Name `xml:"TaxBase"`

	Text string `xml:",chardata"`
}

Element

type TaxCode

type TaxCode struct {
	XMLName xml.Name `xml:"TaxCode"`

	Text string `xml:",chardata"`
}

Element

type TaxCountryRegion

type TaxCountryRegion struct {
	XMLName xml.Name `xml:"TaxCountryRegion"`

	Text string `xml:",chardata"`
}

Element

type TaxEntity

type TaxEntity struct {
	XMLName xml.Name `xml:"TaxEntity"`

	Text string `xml:",chardata"`
}

Element

type TaxExemptionCode

type TaxExemptionCode struct {
	XMLName xml.Name `xml:"TaxExemptionCode"`

	Text string `xml:",chardata"`
}

Element

type TaxExemptionReason

type TaxExemptionReason struct {
	XMLName xml.Name `xml:"TaxExemptionReason"`

	Text string `xml:",chardata"`
}

Element

type TaxExpirationDate

type TaxExpirationDate struct {
	XMLName xml.Name `xml:"TaxExpirationDate"`

	Text string `xml:",chardata"`
}

Element

type TaxPayable

type TaxPayable struct {
	XMLName xml.Name `xml:"TaxPayable"`

	Text string `xml:",chardata"`
}

Element

type TaxPercentage

type TaxPercentage struct {
	XMLName xml.Name `xml:"TaxPercentage"`

	Text string `xml:",chardata"`
}

Element

type TaxPointDate

type TaxPointDate struct {
	XMLName xml.Name `xml:"TaxPointDate"`

	Text string `xml:",chardata"`
}

Element

type TaxTable

type TaxTable struct {
	XMLName xml.Name `xml:"TaxTable"`

	TaxTableEntry []TaxTableEntry `xml:",any"`
}

Element

type TaxTableEntry

type TaxTableEntry struct {
	XMLName xml.Name `xml:"TaxTableEntry"`

	TaxType string `xml:"TaxType"`

	TaxCountryRegion string `xml:"TaxCountryRegion"`

	TaxCode TaxTableEntryTaxCode `xml:"TaxCode"`

	Description SafpttextTypeMandatoryMax255Car `xml:"Description"`

	TaxExpirationDate *SafdateType `xml:"TaxExpirationDate"`

	TaxPercentage *SafdecimalType `xml:"TaxPercentage"`

	TaxAmount *SafmonetaryType `xml:"TaxAmount"`
}

Element

type TaxTableEntryTaxCode

type TaxTableEntryTaxCode string

type TaxType

type TaxType struct {
	XMLName xml.Name `xml:"TaxType"`

	Text string `xml:",chardata"`
}

Element

type TaxVerificationDate

type TaxVerificationDate struct {
	XMLName xml.Name `xml:"TaxVerificationDate"`

	Text string `xml:",chardata"`
}

Element

type TaxonomyReference

type TaxonomyReference struct {
	XMLName xml.Name `xml:"TaxonomyReference"`

	Text string `xml:",chardata"`
}

Element

type Telephone

type Telephone struct {
	XMLName xml.Name `xml:"Telephone"`

	Text string `xml:",chardata"`
}

Element

type ThirdPartiesBillingIndicator

type ThirdPartiesBillingIndicator struct {
	XMLName xml.Name `xml:"ThirdPartiesBillingIndicator"`

	Text string `xml:",chardata"`
}

Element

type TotalCredit

type TotalCredit struct {
	XMLName xml.Name `xml:"TotalCredit"`

	Text string `xml:",chardata"`
}

Element

type TotalDebit

type TotalDebit struct {
	XMLName xml.Name `xml:"TotalDebit"`

	Text string `xml:",chardata"`
}

Element

type TotalQuantityIssued

type TotalQuantityIssued struct {
	XMLName xml.Name `xml:"TotalQuantityIssued"`

	Text string `xml:",chardata"`
}

Element

type TransactionDate

type TransactionDate struct {
	XMLName xml.Name `xml:"TransactionDate"`

	Text string `xml:",chardata"`
}

Element

type TransactionId

type TransactionId struct {
	XMLName xml.Name `xml:"TransactionID"`

	Text string `xml:",chardata"`
}

Element

type TransactionLines

type TransactionLines struct {
	XMLName xml.Name `xml:"Lines"`

	DebitLine []LinesDebitLine `xml:"DebitLine"`

	CreditLine []LinesCreditLine `xml:"CreditLine"`
}

Element

type TransactionType

type TransactionType struct {
	XMLName xml.Name `xml:"TransactionType"`

	Text string `xml:",chardata"`
}

Element

type UnitOfMeasure

type UnitOfMeasure struct {
	XMLName xml.Name `xml:"UnitOfMeasure"`

	Text string `xml:",chardata"`
}

Element

type UnitPrice

type UnitPrice struct {
	XMLName xml.Name `xml:"UnitPrice"`

	Text string `xml:",chardata"`
}

Element

type Unnumber

type Unnumber struct {
	XMLName xml.Name `xml:"UNNumber"`

	Text string `xml:",chardata"`
}

Element

type WarehouseId

type WarehouseId struct {
	XMLName xml.Name `xml:"WarehouseID"`

	Text string `xml:",chardata"`
}

Element

type Website

type Website struct {
	XMLName xml.Name `xml:"Website"`

	Text string `xml:",chardata"`
}

Element

type WithholdingTax

type WithholdingTax struct {
	WithholdingTaxType *string `xml:"WithholdingTaxType"`

	WithholdingTaxDescription *SafpttextTypeMandatoryMax60Car `xml:"WithholdingTaxDescription"`

	WithholdingTaxAmount SafmonetaryType `xml:"WithholdingTaxAmount"`
}

type WithholdingTaxType

type WithholdingTaxType struct {
	XMLName xml.Name `xml:"WithholdingTaxType"`

	Text string `xml:",chardata"`
}

Element

type WorkDate

type WorkDate struct {
	XMLName xml.Name `xml:"WorkDate"`

	Text string `xml:",chardata"`
}

Element

type WorkDocumentDocumentStatus

type WorkDocumentDocumentStatus struct {
	XMLName xml.Name `xml:"DocumentStatus"`

	WorkStatus string `xml:"WorkStatus"`

	WorkStatusDate SafdateTimeType `xml:"WorkStatusDate"`

	Reason *SafpttextTypeMandatoryMax50Car `xml:"Reason"`

	SourceId SafpttextTypeMandatoryMax30Car `xml:"SourceID"`

	SourceBilling SaftptsourceBilling `xml:"SourceBilling"`
}

Element

type WorkDocumentDocumentTotals

type WorkDocumentDocumentTotals struct {
	XMLName xml.Name `xml:"DocumentTotals"`

	TaxPayable SafmonetaryType `xml:"TaxPayable"`

	NetTotal SafmonetaryType `xml:"NetTotal"`

	GrossTotal SafmonetaryType `xml:"GrossTotal"`

	Currency *Currency `xml:"Currency"`
}

Element

type WorkDocumentLine

type WorkDocumentLine struct {
	XMLName xml.Name `xml:"Line"`

	LineNumber uint64 `xml:"LineNumber"`

	OrderReferences []OrderReferences `xml:"OrderReferences"`

	ProductCode SafpttextTypeMandatoryMax60Car `xml:"ProductCode"`

	ProductDescription SafptproductDescription `xml:"ProductDescription"`

	Quantity SafdecimalType `xml:"Quantity"`

	UnitOfMeasure SafpttextTypeMandatoryMax20Car `xml:"UnitOfMeasure"`

	UnitPrice SafmonetaryType `xml:"UnitPrice"`

	TaxBase *SafmonetaryType `xml:"TaxBase"`

	TaxPointDate SafdateType `xml:"TaxPointDate"`

	References []References `xml:"References"`

	Description SafpttextTypeMandatoryMax200Car `xml:"Description"`

	ProductSerialNumber *ProductSerialNumber `xml:"ProductSerialNumber"`

	Tax *Tax `xml:"Tax"`

	TaxExemptionReason *SafptportugueseTaxExemptionReason `xml:"TaxExemptionReason"`

	TaxExemptionCode *SafptportugueseTaxExemptionCode `xml:"TaxExemptionCode"`

	SettlementAmount *SafmonetaryType `xml:"SettlementAmount"`

	CustomsInformation *CustomsInformation `xml:"CustomsInformation"`

	DebitAmount *SafmonetaryType `xml:"DebitAmount"`

	CreditAmount *SafmonetaryType `xml:"CreditAmount"`
}

Element

type WorkStatus

type WorkStatus struct {
	XMLName xml.Name `xml:"WorkStatus"`

	Text string `xml:",chardata"`
}

Element

type WorkStatusDate

type WorkStatusDate struct {
	XMLName xml.Name `xml:"WorkStatusDate"`

	Text string `xml:",chardata"`
}

Element

type WorkType

type WorkType struct {
	XMLName xml.Name `xml:"WorkType"`

	Text string `xml:",chardata"`
}

Element

type WorkingDocumentsWorkDocument

type WorkingDocumentsWorkDocument struct {
	XMLName xml.Name `xml:"WorkDocument"`

	DocumentNumber string `xml:"DocumentNumber"`

	Atcud SafpttextTypeMandatoryMax100Car `xml:"ATCUD"`

	DocumentStatus WorkDocumentDocumentStatus `xml:"DocumentStatus"`

	Hash SafpttextTypeMandatoryMax172Car `xml:"Hash"`

	HashControl SafpthashControl `xml:"HashControl"`

	Period string `xml:"Period"`

	WorkDate SafdateType `xml:"WorkDate"`

	WorkType string `xml:"WorkType"`

	SourceId SafpttextTypeMandatoryMax30Car `xml:"SourceID"`

	Eaccode string `xml:"EACCode"`

	SystemEntryDate SafdateTimeType `xml:"SystemEntryDate"`

	TransactionId *SafpttransactionId `xml:"TransactionID"`

	CustomerId SafpttextTypeMandatoryMax30Car `xml:"CustomerID"`

	Line []WorkDocumentLine `xml:"Line"`

	DocumentTotals WorkDocumentDocumentTotals `xml:"DocumentTotals"`
}

Element

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳