Documentation
¶
Overview ¶
Package mx provides the Mexican tax regime.
Index ¶
Constants ¶
View Source
const ( KeySATFormaPago cbc.Key = "sat-forma-pago" // for mapping to c_FormaPago’s codes KeySATTipoDeComprobante cbc.Key = "sat-tipo-de-comprobante" // for mapping to c_TipoDeComprobante’s codes KeySATTipoRelacion cbc.Key = "sat-tipo-relacion" // for mapping to c_TipoRelacion’s codes KeySATUsoCFDI cbc.Key = "sat-uso-cfdi" // for mapping to c_UsoCFDI’s codes IdentityTypeSAT cbc.Code = "SAT" // for custom codes mapped from identities (e.g. c_ClaveProdServ’s codes) )
Custom keys used typically in meta or codes information.
View Source
const ( MeansKeyWallet cbc.Key = "wallet" MeansKeyGroceryVouchers cbc.Key = "grocery-vouchers" MeansKeyInKind cbc.Key = "in-kind" MeansKeySubrogation cbc.Key = "subrogation" MeansKeyConsignment cbc.Key = "consignment" MeansKeyDebtRelief cbc.Key = "debt-relief" MeansKeyNovation cbc.Key = "novation" MeansKeyMerger cbc.Key = "merger" MeansKeyRemission cbc.Key = "remission" MeansKeyExpiration cbc.Key = "expiration" MeansKeySatisfyCreditor cbc.Key = "satisfy-creditor" MeansKeyDebit cbc.Key = "debit" MeansKeyServices cbc.Key = "services" MeansKeyAdvance cbc.Key = "advance" MeansKeyIntermediary cbc.Key = "intermediary" )
Regime Specific Payment Means Extension Keys
View Source
const ( TagUse cbc.Key = "use" // UsoCFDI codes "namespace" TagGoodsAcquisition cbc.Key = "goods-acquisition" TagReturns cbc.Key = "returns" TagGeneralExpenses cbc.Key = "general-expenses" TagConstruction cbc.Key = "construction" TagOfficeEquipment cbc.Key = "office-equipment" TagTransportEquipment cbc.Key = "transport-equipment" TagComputerEquipment cbc.Key = "computer-equipment" TagManufacturingTooling cbc.Key = "manufacturing-tooling" TagTelephoneComms cbc.Key = "telephone-comms" TagSatelliteComms cbc.Key = "satellite-comms" TagOtherMachinery cbc.Key = "other-machinery" TagMedicalExpenses cbc.Key = "medical-expenses" TagDisability cbc.Key = "disability" TagFuneralExpenses cbc.Key = "funeral-expenses" TagDonation cbc.Key = "donation" TagMortgageInterest cbc.Key = "mortgage-interest" TagSARContribution cbc.Key = "sar-contribution" TagMedicalInsurance cbc.Key = "medical-insurance" TagSchoolTransportation cbc.Key = "school-transportation" TagSavingsDeposit cbc.Key = "savings-deposit" TagSchoolFees cbc.Key = "school-fees" TagNoTaxEffects cbc.Key = "no-tax-effects" TagSuplementaryPayment cbc.Key = "suplementary-payment" TagPayroll cbc.Key = "payroll" )
Regime Specific Tags (UsoCFDI codes)
View Source
const ( TaxIdentityTypePerson cbc.Key = "person" TaxIdentityTypeCompany cbc.Key = "company" )
Tax Identity Type
View Source
const ( TaxIdentityPatternPerson = `^([A-ZÑ&]{4})([0-9]{6})([A-Z0-9]{3})$` TaxIdentityPatternCompany = `^([A-ZÑ&]{3})([0-9]{6})([A-Z0-9]{3})$` )
Tax Identity Patterns
View Source
const (
StampProviderSATUUID cbc.Key = "sat-uuid" // a.k.a. Folio Fiscal
)
SAT official codes to include in stamps.
View Source
const (
TaxIdentityCodeForeign cbc.Code = "XEXX010101000"
)
Constants used to specific tax identity codes.
View Source
const (
TaxRateExempt cbc.Key = "exempt"
)
Tax rates specific to Mexico.
Variables ¶
View Source
var ( TaxIdentityRegexpPerson = regexp.MustCompile(TaxIdentityPatternPerson) TaxIdentityRegexpCompany = regexp.MustCompile(TaxIdentityPatternCompany) )
Tax Identity Regexp
Functions ¶
func Calculate ¶
func Calculate(doc interface{}) error
Calculate performs regime specific calculations.
func DetermineTaxCodeType ¶
DetermineTaxCodeType determines the type of tax code or provides an empty key if it looks invalid.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.