diff --git a/nfelib/v4_00/retEnviNFe.py b/nfelib/v4_00/retEnviNFe.py index a19dd581..ab49098c 100644 --- a/nfelib/v4_00/retEnviNFe.py +++ b/nfelib/v4_00/retEnviNFe.py @@ -15243,7 +15243,631 @@ def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collec # end class encerranteType +class gDifType(GeneratedsSuper): + subclass = None + superclass = None + def __init__(self, pDif=None, vDif=None, **kwargs_): + self.pDif = pDif + self.vDif = vDif + def factory(*args_, **kwargs_): return gDifType(*args_, **kwargs_) + factory = staticmethod(factory) + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='gDifType', pretty_print=True): + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + outfile.write('>\n') + self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('\n' % (namespaceprefix_, name_)) + def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='gDifType', fromsubclass_=False, pretty_print=True): + if self.pDif is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%spDif>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.pDif), input_name='pDif')), namespaceprefix_)) + if self.vDif is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svDif>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vDif), input_name='vDif')), namespaceprefix_)) + def build(self, node, gds_collector_=None): + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + if nodeName_ == 'pDif': self.pDif = child.text + elif nodeName_ == 'vDif': self.vDif = child.text + +class gDevTribType(GeneratedsSuper): + subclass = None + superclass = None + def __init__(self, vDevTrib=None, **kwargs_): + self.vDevTrib = vDevTrib + def factory(*args_, **kwargs_): return gDevTribType(*args_, **kwargs_) + factory = staticmethod(factory) + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='gDevTribType', pretty_print=True): + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + outfile.write('>\n') + self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('\n' % (namespaceprefix_, name_)) + def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='gDevTribType', fromsubclass_=False, pretty_print=True): + if self.vDevTrib is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svDevTrib>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vDevTrib), input_name='vDevTrib')), namespaceprefix_)) + def build(self, node, gds_collector_=None): + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + if nodeName_ == 'vDevTrib': self.vDevTrib = child.text + +class gRedType(GeneratedsSuper): + subclass = None + superclass = None + def __init__(self, pRedAliq=None, pAliqEfet=None, **kwargs_): + self.pRedAliq = pRedAliq + self.pAliqEfet = pAliqEfet + def factory(*args_, **kwargs_): return gRedType(*args_, **kwargs_) + factory = staticmethod(factory) + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='gRedType', pretty_print=True): + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + outfile.write('>\n') + self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('\n' % (namespaceprefix_, name_)) + def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='gRedType', fromsubclass_=False, pretty_print=True): + if self.pRedAliq is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%spRedAliq>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.pRedAliq), input_name='pRedAliq')), namespaceprefix_)) + if self.pAliqEfet is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%spAliqEfet>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.pAliqEfet), input_name='pAliqEfet')), namespaceprefix_)) + def build(self, node, gds_collector_=None): + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + if nodeName_ == 'pRedAliq': self.pRedAliq = child.text + elif nodeName_ == 'pAliqEfet': self.pAliqEfet = child.text + +class gIBSUFType(GeneratedsSuper): + subclass = None + superclass = None + def __init__(self, pIBSUF=None, gDif=None, gDevTrib=None, gRed=None, vIBSUF=None, **kwargs_): + self.pIBSUF = pIBSUF + self.gDif = gDif + self.gDevTrib = gDevTrib + self.gRed = gRed + self.vIBSUF = vIBSUF + def factory(*args_, **kwargs_): return gIBSUFType(*args_, **kwargs_) + factory = staticmethod(factory) + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='gIBSUFType', pretty_print=True): + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + outfile.write('>\n') + self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('\n' % (namespaceprefix_, name_)) + def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='gIBSUFType', fromsubclass_=False, pretty_print=True): + if self.pIBSUF is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%spIBSUF>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.pIBSUF), input_name='pIBSUF')), namespaceprefix_)) + if self.gDif is not None: + self.gDif.export(outfile, level, namespaceprefix_, namespacedef_='', name_='gDif', pretty_print=pretty_print) + if self.gDevTrib is not None: + self.gDevTrib.export(outfile, level, namespaceprefix_, namespacedef_='', name_='gDevTrib', pretty_print=pretty_print) + if self.gRed is not None: + self.gRed.export(outfile, level, namespaceprefix_, namespacedef_='', name_='gRed', pretty_print=pretty_print) + if self.vIBSUF is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svIBSUF>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vIBSUF), input_name='vIBSUF')), namespaceprefix_)) + def build(self, node, gds_collector_=None): + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + if nodeName_ == 'pIBSUF': self.pIBSUF = child.text + elif nodeName_ == 'gDif': + obj_ = gDifType.factory(parent_object_=self) + obj_.build(child, gds_collector_=gds_collector_) + self.gDif = obj_ + elif nodeName_ == 'gDevTrib': + obj_ = gDevTribType.factory(parent_object_=self) + obj_.build(child, gds_collector_=gds_collector_) + self.gDevTrib = obj_ + elif nodeName_ == 'gRed': + obj_ = gRedType.factory(parent_object_=self) + obj_.build(child, gds_collector_=gds_collector_) + self.gRed = obj_ + elif nodeName_ == 'vIBSUF': self.vIBSUF = child.text + +class gIBSMunType(GeneratedsSuper): + subclass = None + superclass = None + def __init__(self, pIBSMun=None, gDif=None, gDevTrib=None, gRed=None, vIBSMun=None, **kwargs_): + self.pIBSMun = pIBSMun + self.gDif = gDif + self.gDevTrib = gDevTrib + self.gRed = gRed + self.vIBSMun = vIBSMun + def factory(*args_, **kwargs_): return gIBSMunType(*args_, **kwargs_) + factory = staticmethod(factory) + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='gIBSMunType', pretty_print=True): + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + outfile.write('>\n') + self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('\n' % (namespaceprefix_, name_)) + def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='gIBSMunType', fromsubclass_=False, pretty_print=True): + if self.pIBSMun is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%spIBSMun>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.pIBSMun), input_name='pIBSMun')), namespaceprefix_)) + if self.gDif is not None: + self.gDif.export(outfile, level, namespaceprefix_, namespacedef_='', name_='gDif', pretty_print=pretty_print) + if self.gDevTrib is not None: + self.gDevTrib.export(outfile, level, namespaceprefix_, namespacedef_='', name_='gDevTrib', pretty_print=pretty_print) + if self.gRed is not None: + self.gRed.export(outfile, level, namespaceprefix_, namespacedef_='', name_='gRed', pretty_print=pretty_print) + if self.vIBSMun is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svIBSMun>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vIBSMun), input_name='vIBSMun')), namespaceprefix_)) + def build(self, node, gds_collector_=None): + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + if nodeName_ == 'pIBSMun': self.pIBSMun = child.text + elif nodeName_ == 'gDif': + obj_ = gDifType.factory(parent_object_=self) + obj_.build(child, gds_collector_=gds_collector_) + self.gDif = obj_ + elif nodeName_ == 'gDevTrib': + obj_ = gDevTribType.factory(parent_object_=self) + obj_.build(child, gds_collector_=gds_collector_) + self.gDevTrib = obj_ + elif nodeName_ == 'gRed': + obj_ = gRedType.factory(parent_object_=self) + obj_.build(child, gds_collector_=gds_collector_) + self.gRed = obj_ + elif nodeName_ == 'vIBSMun': self.vIBSMun = child.text + +class gCBSType(GeneratedsSuper): + subclass = None + superclass = None + def __init__(self, pCBS=None, gDif=None, gDevTrib=None, gRed=None, vCBS=None, **kwargs_): + self.pCBS = pCBS + self.gDif = gDif + self.gDevTrib = gDevTrib + self.gRed = gRed + self.vCBS = vCBS + def factory(*args_, **kwargs_): return gCBSType(*args_, **kwargs_) + factory = staticmethod(factory) + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='gCBSType', pretty_print=True): + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + outfile.write('>\n') + self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('\n' % (namespaceprefix_, name_)) + def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='gCBSType', fromsubclass_=False, pretty_print=True): + if self.pCBS is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%spCBS>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.pCBS), input_name='pCBS')), namespaceprefix_)) + if self.gDif is not None: + self.gDif.export(outfile, level, namespaceprefix_, namespacedef_='', name_='gDif', pretty_print=pretty_print) + if self.gDevTrib is not None: + self.gDevTrib.export(outfile, level, namespaceprefix_, namespacedef_='', name_='gDevTrib', pretty_print=pretty_print) + if self.gRed is not None: + self.gRed.export(outfile, level, namespaceprefix_, namespacedef_='', name_='gRed', pretty_print=pretty_print) + if self.vCBS is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svCBS>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vCBS), input_name='vCBS')), namespaceprefix_)) + def build(self, node, gds_collector_=None): + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + if nodeName_ == 'pCBS': self.pCBS = child.text + elif nodeName_ == 'gDif': + obj_ = gDifType.factory(parent_object_=self) + obj_.build(child, gds_collector_=gds_collector_) + self.gDif = obj_ + elif nodeName_ == 'gDevTrib': + obj_ = gDevTribType.factory(parent_object_=self) + obj_.build(child, gds_collector_=gds_collector_) + self.gDevTrib = obj_ + elif nodeName_ == 'gRed': + obj_ = gRedType.factory(parent_object_=self) + obj_.build(child, gds_collector_=gds_collector_) + self.gRed = obj_ + elif nodeName_ == 'vCBS': self.vCBS = child.text + +class gTribRegularType(GeneratedsSuper): + subclass = None + superclass = None + def __init__(self, CSTReg=None, cClassTribReg=None, pAliqEfetRegIBSUF=None, vTribRegIBSUF=None, pAliqEfetRegIBSMun=None, vTribRegIBSMun=None, pAliqEfetRegCBS=None, vTribRegCBS=None, **kwargs_): + self.CSTReg = CSTReg + self.cClassTribReg = cClassTribReg + self.pAliqEfetRegIBSUF = pAliqEfetRegIBSUF + self.vTribRegIBSUF = vTribRegIBSUF + self.pAliqEfetRegIBSMun = pAliqEfetRegIBSMun + self.vTribRegIBSMun = vTribRegIBSMun + self.pAliqEfetRegCBS = pAliqEfetRegCBS + self.vTribRegCBS = vTribRegCBS + def factory(*args_, **kwargs_): return gTribRegularType(*args_, **kwargs_) + factory = staticmethod(factory) + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='gTribRegularType', pretty_print=True): + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + outfile.write('>\n') + self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('\n' % (namespaceprefix_, name_)) + def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='gTribRegularType', fromsubclass_=False, pretty_print=True): + if self.CSTReg is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%sCSTReg>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CSTReg), input_name='CSTReg')), namespaceprefix_)) + if self.cClassTribReg is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%scClassTribReg>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.cClassTribReg), input_name='cClassTribReg')), namespaceprefix_)) + if self.pAliqEfetRegIBSUF is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%spAliqEfetRegIBSUF>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.pAliqEfetRegIBSUF), input_name='pAliqEfetRegIBSUF')), namespaceprefix_)) + if self.vTribRegIBSUF is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svTribRegIBSUF>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vTribRegIBSUF), input_name='vTribRegIBSUF')), namespaceprefix_)) + if self.pAliqEfetRegIBSMun is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%spAliqEfetRegIBSMun>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.pAliqEfetRegIBSMun), input_name='pAliqEfetRegIBSMun')), namespaceprefix_)) + if self.vTribRegIBSMun is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svTribRegIBSMun>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vTribRegIBSMun), input_name='vTribRegIBSMun')), namespaceprefix_)) + if self.pAliqEfetRegCBS is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%spAliqEfetRegCBS>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.pAliqEfetRegCBS), input_name='pAliqEfetRegCBS')), namespaceprefix_)) + if self.vTribRegCBS is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svTribRegCBS>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vTribRegCBS), input_name='vTribRegCBS')), namespaceprefix_)) + def build(self, node, gds_collector_=None): + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + if nodeName_ == 'CSTReg': self.CSTReg = child.text + elif nodeName_ == 'cClassTribReg': self.cClassTribReg = child.text + elif nodeName_ == 'pAliqEfetRegIBSUF': self.pAliqEfetRegIBSUF = child.text + elif nodeName_ == 'vTribRegIBSUF': self.vTribRegIBSUF = child.text + elif nodeName_ == 'pAliqEfetRegIBSMun': self.pAliqEfetRegIBSMun = child.text + elif nodeName_ == 'vTribRegIBSMun': self.vTribRegIBSMun = child.text + elif nodeName_ == 'pAliqEfetRegCBS': self.pAliqEfetRegCBS = child.text + elif nodeName_ == 'vTribRegCBS': self.vTribRegCBS = child.text + +class gIBSCBSType(GeneratedsSuper): + subclass = None + superclass = None + def __init__(self, vBC=None, gIBSUF=None, gIBSMun=None, vIBS=None, gCBS=None, gTribRegular=None, **kwargs_): + self.vBC = vBC + self.gIBSUF = gIBSUF + self.gIBSMun = gIBSMun + self.vIBS = vIBS + self.gCBS = gCBS + self.gTribRegular = gTribRegular + def factory(*args_, **kwargs_): return gIBSCBSType(*args_, **kwargs_) + factory = staticmethod(factory) + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='gIBSCBSType', pretty_print=True): + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + outfile.write('>\n') + self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('\n' % (namespaceprefix_, name_)) + def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='gIBSCBSType', fromsubclass_=False, pretty_print=True): + if self.vBC is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svBC>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vBC), input_name='vBC')), namespaceprefix_)) + if self.gIBSUF is not None: + self.gIBSUF.export(outfile, level, namespaceprefix_, namespacedef_='', name_='gIBSUF', pretty_print=pretty_print) + if self.gIBSMun is not None: + self.gIBSMun.export(outfile, level, namespaceprefix_, namespacedef_='', name_='gIBSMun', pretty_print=pretty_print) + if self.vIBS is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svIBS>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vIBS), input_name='vIBS')), namespaceprefix_)) + if self.gCBS is not None: + self.gCBS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='gCBS', pretty_print=pretty_print) + if self.gTribRegular is not None: + self.gTribRegular.export(outfile, level, namespaceprefix_, namespacedef_='', name_='gTribRegular', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + if nodeName_ == 'vBC': self.vBC = child.text + elif nodeName_ == 'gIBSUF': + obj_ = gIBSUFType.factory(parent_object_=self) + obj_.build(child, gds_collector_=gds_collector_) + self.gIBSUF = obj_ + elif nodeName_ == 'gIBSMun': + obj_ = gIBSMunType.factory(parent_object_=self) + obj_.build(child, gds_collector_=gds_collector_) + self.gIBSMun = obj_ + elif nodeName_ == 'vIBS': self.vIBS = child.text + elif nodeName_ == 'gCBS': + obj_ = gCBSType.factory(parent_object_=self) + obj_.build(child, gds_collector_=gds_collector_) + self.gCBS = obj_ + elif nodeName_ == 'gTribRegular': + obj_ = gTribRegularType.factory(parent_object_=self) + obj_.build(child, gds_collector_=gds_collector_) + self.gTribRegular = obj_ + +class IBSCBSType(GeneratedsSuper): + subclass = None + superclass = None + def __init__(self, CST=None, cClassTrib=None, gIBSCBS=None, **kwargs_): + self.CST = CST + self.cClassTrib = cClassTrib + self.gIBSCBS = gIBSCBS + def factory(*args_, **kwargs_): return IBSCBSType(*args_, **kwargs_) + factory = staticmethod(factory) + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='IBSCBSType', pretty_print=True): + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + outfile.write('>\n') + self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('\n' % (namespaceprefix_, name_)) + def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='IBSCBSType', fromsubclass_=False, pretty_print=True): + if self.CST is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%sCST>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.CST), input_name='CST')), namespaceprefix_)) + if self.cClassTrib is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%scClassTrib>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.cClassTrib), input_name='cClassTrib')), namespaceprefix_)) + if self.gIBSCBS is not None: + self.gIBSCBS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='gIBSCBS', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + if nodeName_ == 'CST': self.CST = child.text + elif nodeName_ == 'cClassTrib': self.cClassTrib = child.text + elif nodeName_ == 'gIBSCBS': + obj_ = gIBSCBSType.factory(parent_object_=self) + obj_.build(child, gds_collector_=gds_collector_) + self.gIBSCBS = obj_ + +class gIBSUFTotType(GeneratedsSuper): + subclass = None + superclass = None + def __init__(self, vDif=None, vDevTrib=None, vIBSUF=None, **kwargs_): + self.vDif = vDif + self.vDevTrib = vDevTrib + self.vIBSUF = vIBSUF + def factory(*args_, **kwargs_): return gIBSUFTotType(*args_, **kwargs_) + factory = staticmethod(factory) + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='gIBSUFTotType', pretty_print=True): + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + outfile.write('>\n') + self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('\n' % (namespaceprefix_, name_)) + def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='gIBSUFTotType', fromsubclass_=False, pretty_print=True): + if self.vDif is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svDif>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vDif), input_name='vDif')), namespaceprefix_)) + if self.vDevTrib is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svDevTrib>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vDevTrib), input_name='vDevTrib')), namespaceprefix_)) + if self.vIBSUF is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svIBSUF>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vIBSUF), input_name='vIBSUF')), namespaceprefix_)) + def build(self, node, gds_collector_=None): + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + if nodeName_ == 'vDif': self.vDif = child.text + elif nodeName_ == 'vDevTrib': self.vDevTrib = child.text + elif nodeName_ == 'vIBSUF': self.vIBSUF = child.text + +class gIBSMunTotType(GeneratedsSuper): + subclass = None + superclass = None + def __init__(self, vDif=None, vDevTrib=None, vIBSMun=None, **kwargs_): + self.vDif = vDif + self.vDevTrib = vDevTrib + self.vIBSMun = vIBSMun + def factory(*args_, **kwargs_): return gIBSMunTotType(*args_, **kwargs_) + factory = staticmethod(factory) + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='gIBSMunTotType', pretty_print=True): + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + outfile.write('>\n') + self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('\n' % (namespaceprefix_, name_)) + def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='gIBSMunTotType', fromsubclass_=False, pretty_print=True): + if self.vDif is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svDif>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vDif), input_name='vDif')), namespaceprefix_)) + if self.vDevTrib is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svDevTrib>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vDevTrib), input_name='vDevTrib')), namespaceprefix_)) + if self.vIBSMun is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svIBSMun>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vIBSMun), input_name='vIBSMun')), namespaceprefix_)) + def build(self, node, gds_collector_=None): + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + if nodeName_ == 'vDif': self.vDif = child.text + elif nodeName_ == 'vDevTrib': self.vDevTrib = child.text + elif nodeName_ == 'vIBSMun': self.vIBSMun = child.text + +class gIBSTotType(GeneratedsSuper): + subclass = None + superclass = None + def __init__(self, gIBSUF=None, gIBSMun=None, vIBS=None, vCredPres=None, vCredPresCondSus=None, **kwargs_): + self.gIBSUF = gIBSUF + self.gIBSMun = gIBSMun + self.vIBS = vIBS + self.vCredPres = vCredPres + self.vCredPresCondSus = vCredPresCondSus + def factory(*args_, **kwargs_): return gIBSTotType(*args_, **kwargs_) + factory = staticmethod(factory) + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='gIBSTotType', pretty_print=True): + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + outfile.write('>\n') + self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('\n' % (namespaceprefix_, name_)) + def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='gIBSTotType', fromsubclass_=False, pretty_print=True): + if self.gIBSUF is not None: + self.gIBSUF.export(outfile, level, namespaceprefix_, namespacedef_='', name_='gIBSUF', pretty_print=pretty_print) + if self.gIBSMun is not None: + self.gIBSMun.export(outfile, level, namespaceprefix_, namespacedef_='', name_='gIBSMun', pretty_print=pretty_print) + if self.vIBS is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svIBS>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vIBS), input_name='vIBS')), namespaceprefix_)) + if self.vCredPres is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svCredPres>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vCredPres), input_name='vCredPres')), namespaceprefix_)) + if self.vCredPresCondSus is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svCredPresCondSus>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vCredPresCondSus), input_name='vCredPresCondSus')), namespaceprefix_)) + def build(self, node, gds_collector_=None): + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + if nodeName_ == 'gIBSUF': + obj_ = gIBSUFTotType.factory(parent_object_=self) + obj_.build(child, gds_collector_=gds_collector_) + self.gIBSUF = obj_ + elif nodeName_ == 'gIBSMun': + obj_ = gIBSMunTotType.factory(parent_object_=self) + obj_.build(child, gds_collector_=gds_collector_) + self.gIBSMun = obj_ + elif nodeName_ == 'vIBS': self.vIBS = child.text + elif nodeName_ == 'vCredPres': self.vCredPres = child.text + elif nodeName_ == 'vCredPresCondSus': self.vCredPresCondSus = child.text + +class gCBSTotType(GeneratedsSuper): + subclass = None + superclass = None + def __init__(self, vDif=None, vDevTrib=None, vCBS=None, vCredPres=None, vCredPresCondSus=None, **kwargs_): + self.vDif = vDif + self.vDevTrib = vDevTrib + self.vCBS = vCBS + self.vCredPres = vCredPres + self.vCredPresCondSus = vCredPresCondSus + def factory(*args_, **kwargs_): return gCBSTotType(*args_, **kwargs_) + factory = staticmethod(factory) + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='gCBSTotType', pretty_print=True): + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + outfile.write('>\n') + self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('\n' % (namespaceprefix_, name_)) + def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='gCBSTotType', fromsubclass_=False, pretty_print=True): + if self.vDif is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svDif>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vDif), input_name='vDif')), namespaceprefix_)) + if self.vDevTrib is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svDevTrib>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vDevTrib), input_name='vDevTrib')), namespaceprefix_)) + if self.vCBS is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svCBS>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vCBS), input_name='vCBS')), namespaceprefix_)) + if self.vCredPres is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svCredPres>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vCredPres), input_name='vCredPres')), namespaceprefix_)) + if self.vCredPresCondSus is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svCredPresCondSus>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vCredPresCondSus), input_name='vCredPresCondSus')), namespaceprefix_)) + def build(self, node, gds_collector_=None): + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + if nodeName_ == 'vDif': self.vDif = child.text + elif nodeName_ == 'vDevTrib': self.vDevTrib = child.text + elif nodeName_ == 'vCBS': self.vCBS = child.text + elif nodeName_ == 'vCredPres': self.vCredPres = child.text + elif nodeName_ == 'vCredPresCondSus': self.vCredPresCondSus = child.text + +class gMonoTotType(GeneratedsSuper): + subclass = None + superclass = None + def __init__(self, vIBSMono=None, vCBSMono=None, vIBSMonoReten=None, vCBSMonoReten=None, vIBSMonoRet=None, vCBSMonoRet=None, **kwargs_): + self.vIBSMono = vIBSMono + self.vCBSMono = vCBSMono + self.vIBSMonoReten = vIBSMonoReten + self.vCBSMonoReten = vCBSMonoReten + self.vIBSMonoRet = vIBSMonoRet + self.vCBSMonoRet = vCBSMonoRet + def factory(*args_, **kwargs_): return gMonoTotType(*args_, **kwargs_) + factory = staticmethod(factory) + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='gMonoTotType', pretty_print=True): + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + outfile.write('>\n') + self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('\n' % (namespaceprefix_, name_)) + def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='gMonoTotType', fromsubclass_=False, pretty_print=True): + if self.vIBSMono is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svIBSMono>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vIBSMono), input_name='vIBSMono')), namespaceprefix_)) + if self.vCBSMono is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svCBSMono>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vCBSMono), input_name='vCBSMono')), namespaceprefix_)) + if self.vIBSMonoReten is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svIBSMonoReten>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vIBSMonoReten), input_name='vIBSMonoReten')), namespaceprefix_)) + if self.vCBSMonoReten is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svCBSMonoReten>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vCBSMonoReten), input_name='vCBSMonoReten')), namespaceprefix_)) + if self.vIBSMonoRet is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svIBSMonoRet>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vIBSMonoRet), input_name='vIBSMonoRet')), namespaceprefix_)) + if self.vCBSMonoRet is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svCBSMonoRet>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vCBSMonoRet), input_name='vCBSMonoRet')), namespaceprefix_)) + def build(self, node, gds_collector_=None): + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + if nodeName_ == 'vIBSMono': self.vIBSMono = child.text + elif nodeName_ == 'vCBSMono': self.vCBSMono = child.text + elif nodeName_ == 'vIBSMonoReten': self.vIBSMonoReten = child.text + elif nodeName_ == 'vCBSMonoReten': self.vCBSMonoReten = child.text + elif nodeName_ == 'vIBSMonoRet': self.vIBSMonoRet = child.text + elif nodeName_ == 'vCBSMonoRet': self.vCBSMonoRet = child.text + +class IBSCBSTotType(GeneratedsSuper): + subclass = None + superclass = None + def __init__(self, vBCIBSCBS=None, gIBS=None, gCBS=None, gMono=None, **kwargs_): + self.vBCIBSCBS = vBCIBSCBS + self.gIBS = gIBS + self.gCBS = gCBS + self.gMono = gMono + def factory(*args_, **kwargs_): return IBSCBSTotType(*args_, **kwargs_) + factory = staticmethod(factory) + def export(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='IBSCBSTotType', pretty_print=True): + showIndent(outfile, level, pretty_print) + outfile.write('<%s%s%s' % (namespaceprefix_, name_, namespacedef_ and ' ' + namespacedef_ or '', )) + outfile.write('>\n') + self.exportChildren(outfile, level + 1, namespaceprefix_, namespacedef_, name_, pretty_print=pretty_print) + showIndent(outfile, level, pretty_print) + outfile.write('\n' % (namespaceprefix_, name_)) + def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', name_='IBSCBSTotType', fromsubclass_=False, pretty_print=True): + if self.vBCIBSCBS is not None: + showIndent(outfile, level, pretty_print) + outfile.write('<%svBCIBSCBS>%s\n' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vBCIBSCBS), input_name='vBCIBSCBS')), namespaceprefix_)) + if self.gIBS is not None: + self.gIBS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='gIBS', pretty_print=pretty_print) + if self.gCBS is not None: + self.gCBS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='gCBS', pretty_print=pretty_print) + if self.gMono is not None: + self.gMono.export(outfile, level, namespaceprefix_, namespacedef_='', name_='gMono', pretty_print=pretty_print) + def build(self, node, gds_collector_=None): + for child in node: + nodeName_ = Tag_pattern_.match(child.tag).groups()[-1] + if nodeName_ == 'vBCIBSCBS': self.vBCIBSCBS = child.text + elif nodeName_ == 'gIBS': + obj_ = gIBSTotType.factory(parent_object_=self) + obj_.build(child, gds_collector_=gds_collector_) + self.gIBS = obj_ + elif nodeName_ == 'gCBS': + obj_ = gCBSTotType.factory(parent_object_=self) + obj_.build(child, gds_collector_=gds_collector_) + self.gCBS = obj_ + elif nodeName_ == 'gMono': + obj_ = gMonoTotType.factory(parent_object_=self) + obj_.build(child, gds_collector_=gds_collector_) + self.gMono = obj_ + class impostoType(GeneratedsSuper): + """Tributos incidentes nos produtos ou serviços da NF-e""" __hash__ = GeneratedsSuper.__hash__ member_data_items_ = [ @@ -15257,10 +15881,11 @@ class impostoType(GeneratedsSuper): MemberSpec_('COFINS', 'COFINSType', 0, 1, {'minOccurs': '0', 'name': 'COFINS', 'type': 'COFINSType'}, None), MemberSpec_('COFINSST', 'COFINSSTType', 0, 1, {'minOccurs': '0', 'name': 'COFINSST', 'type': 'COFINSSTType'}, None), MemberSpec_('ICMSUFDest', 'ICMSUFDestType', 0, 1, {'minOccurs': '0', 'name': 'ICMSUFDest', 'type': 'ICMSUFDestType'}, None), + MemberSpec_('IBSCBS', 'IBSCBSType', 0, 1, {'minOccurs': '0', 'name': 'IBSCBS', 'type': 'IBSCBSType'}, None), ] subclass = None superclass = None - def __init__(self, vTotTrib=None, ICMS=None, II=None, IPI=None, ISSQN=None, PIS=None, PISST=None, COFINS=None, COFINSST=None, ICMSUFDest=None, gds_collector_=None, **kwargs_): + def __init__(self, vTotTrib=None, ICMS=None, II=None, IPI=None, ISSQN=None, PIS=None, PISST=None, COFINS=None, COFINSST=None, ICMSUFDest=None, IBSCBS=None, gds_collector_=None, **kwargs_): self.gds_collector_ = gds_collector_ self.gds_elementtree_node_ = None self.original_tagname_ = None @@ -15287,6 +15912,8 @@ def __init__(self, vTotTrib=None, ICMS=None, II=None, IPI=None, ISSQN=None, PIS= self.COFINSST_nsprefix_ = None self.ICMSUFDest = ICMSUFDest self.ICMSUFDest_nsprefix_ = None + self.IBSCBS = IBSCBS + self.IBSCBS_nsprefix_ = None def factory(*args_, **kwargs_): if CurrentSubclassModule_ is not None: subclass = getSubclassFromModule_( @@ -15323,7 +15950,8 @@ def hasContent_(self): self.PISST is not None or self.COFINS is not None or self.COFINSST is not None or - self.ICMSUFDest is not None + self.ICMSUFDest is not None or + self.IBSCBS is not None ): return True else: @@ -15389,6 +16017,8 @@ def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', if self.ICMSUFDest is not None: namespaceprefix_ = self.ICMSUFDest_nsprefix_ + ':' if (UseCapturedNS_ and self.ICMSUFDest_nsprefix_) else '' self.ICMSUFDest.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ICMSUFDest', pretty_print=pretty_print) + if self.IBSCBS is not None: + self.IBSCBS.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IBSCBS', pretty_print=pretty_print) def build(self, node, gds_collector_=None): self.gds_collector_ = gds_collector_ if SaveElementTreeNode: @@ -15456,6 +16086,11 @@ def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collec obj_.build(child_, gds_collector_=gds_collector_) self.ICMSUFDest = obj_ obj_.original_tagname_ = 'ICMSUFDest' + elif nodeName_ == 'IBSCBS': + obj_ = IBSCBSType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.IBSCBS = obj_ + obj_.original_tagname_ = 'IBSCBS' # end class impostoType @@ -26278,12 +26913,14 @@ class totalType(GeneratedsSuper): __hash__ = GeneratedsSuper.__hash__ member_data_items_ = [ MemberSpec_('ICMSTot', 'ICMSTotType', 0, 0, {'name': 'ICMSTot', 'type': 'ICMSTotType'}, None), + MemberSpec_('IBSCBSTot', 'IBSCBSTotType', 0, 1, {'minOccurs': '0', 'name': 'IBSCBSTot', 'type': 'IBSCBSTotType'}, None), MemberSpec_('ISSQNtot', 'ISSQNtotType', 0, 1, {'minOccurs': '0', 'name': 'ISSQNtot', 'type': 'ISSQNtotType'}, None), MemberSpec_('retTrib', 'retTribType', 0, 1, {'minOccurs': '0', 'name': 'retTrib', 'type': 'retTribType'}, None), + MemberSpec_('vNFTot', ['TDec_1302', 'xs:string'], 0, 1, {'minOccurs': '0', 'name': 'vNFTot', 'type': 'xs:string'}, None), ] subclass = None superclass = None - def __init__(self, ICMSTot=None, ISSQNtot=None, retTrib=None, gds_collector_=None, **kwargs_): + def __init__(self, ICMSTot=None, IBSCBSTot=None, ISSQNtot=None, retTrib=None, vNFTot=None, gds_collector_=None, **kwargs_): self.gds_collector_ = gds_collector_ self.gds_elementtree_node_ = None self.original_tagname_ = None @@ -26291,10 +26928,14 @@ def __init__(self, ICMSTot=None, ISSQNtot=None, retTrib=None, gds_collector_=Non self.ns_prefix_ = None self.ICMSTot = ICMSTot self.ICMSTot_nsprefix_ = None + self.IBSCBSTot = IBSCBSTot + self.IBSCBSTot_nsprefix_ = None self.ISSQNtot = ISSQNtot self.ISSQNtot_nsprefix_ = None self.retTrib = retTrib self.retTrib_nsprefix_ = None + self.vNFTot = vNFTot + self.vNFTot_nsprefix_ = None def factory(*args_, **kwargs_): if CurrentSubclassModule_ is not None: subclass = getSubclassFromModule_( @@ -26309,8 +26950,10 @@ def factory(*args_, **kwargs_): def hasContent_(self): if ( self.ICMSTot is not None or + self.IBSCBSTot is not None or self.ISSQNtot is not None or - self.retTrib is not None + self.retTrib is not None or + self.vNFTot is not None ): return True else: @@ -26348,12 +26991,18 @@ def exportChildren(self, outfile, level, namespaceprefix_='', namespacedef_='', if self.ICMSTot is not None: namespaceprefix_ = self.ICMSTot_nsprefix_ + ':' if (UseCapturedNS_ and self.ICMSTot_nsprefix_) else '' self.ICMSTot.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ICMSTot', pretty_print=pretty_print) + if self.IBSCBSTot is not None: + self.IBSCBSTot.export(outfile, level, namespaceprefix_, namespacedef_='', name_='IBSCBSTot', pretty_print=pretty_print) if self.ISSQNtot is not None: namespaceprefix_ = self.ISSQNtot_nsprefix_ + ':' if (UseCapturedNS_ and self.ISSQNtot_nsprefix_) else '' self.ISSQNtot.export(outfile, level, namespaceprefix_, namespacedef_='', name_='ISSQNtot', pretty_print=pretty_print) if self.retTrib is not None: namespaceprefix_ = self.retTrib_nsprefix_ + ':' if (UseCapturedNS_ and self.retTrib_nsprefix_) else '' self.retTrib.export(outfile, level, namespaceprefix_, namespacedef_='', name_='retTrib', pretty_print=pretty_print) + if self.vNFTot is not None: + namespaceprefix_ = self.vNFTot_nsprefix_ + ':' if (UseCapturedNS_ and self.vNFTot_nsprefix_) else '' + showIndent(outfile, level, pretty_print) + outfile.write('<%svNFTot>%s%s' % (namespaceprefix_ , self.gds_encode(self.gds_format_string(quote_xml(self.vNFTot), input_name='vNFTot')), namespaceprefix_ , eol_)) def build(self, node, gds_collector_=None): self.gds_collector_ = gds_collector_ if SaveElementTreeNode: @@ -26373,6 +27022,11 @@ def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collec obj_.build(child_, gds_collector_=gds_collector_) self.ICMSTot = obj_ obj_.original_tagname_ = 'ICMSTot' + elif nodeName_ == 'IBSCBSTot': + obj_ = IBSCBSTotType.factory(parent_object_=self) + obj_.build(child_, gds_collector_=gds_collector_) + self.IBSCBSTot = obj_ + obj_.original_tagname_ = 'IBSCBSTot' elif nodeName_ == 'ISSQNtot': obj_ = ISSQNtotType.factory(parent_object_=self) obj_.build(child_, gds_collector_=gds_collector_) @@ -26383,6 +27037,12 @@ def buildChildren(self, child_, node, nodeName_, fromsubclass_=False, gds_collec obj_.build(child_, gds_collector_=gds_collector_) self.retTrib = obj_ obj_.original_tagname_ = 'retTrib' + elif nodeName_ == 'vNFTot': + value_ = child_.text + value_ = self.gds_parse_string(value_, node, 'vNFTot') + value_ = self.gds_validate_string(value_, node, 'vNFTot') + self.vNFTot = value_ + self.vNFTot_nsprefix_ = child_.prefix # end class totalType diff --git a/schemas/nfe/v4_00/DFeTiposBasicos_v1.00.xsd b/schemas/nfe/v4_00/DFeTiposBasicos_v1.00.xsd new file mode 100644 index 00000000..a5051dd0 --- /dev/null +++ b/schemas/nfe/v4_00/DFeTiposBasicos_v1.00.xsd @@ -0,0 +1,1293 @@ + + + + + + Tipo string genérico + + + + + + + + + Código Situação Tributária do IBS/CBS + + + + + + + + + Código de Classificação Tributária do IBS e da CBS + + + + + + + + + Código de Classificação do Crédito Presumido do IBS e da CBS, conforme tabela cCredPres + + + + + + + + + Tipo Decimal com 15 dígitos, sendo 11 de corpo e 4 decimais + + + + + + + + + Tipo Decimal com 11 inteiros, podendo ter 4 decimais (utilizado em tags opcionais) + + + + + + + + + Tipo Decimal com 15 dígitos, sendo 13 de corpo e 2 decimais + + + + + + + + + Tipo Decimal com até 3 dígitos inteiros, podendo ter de 2 até 4 decimais + + + + + + + + + Tipo da Operação com Ente Governamental + + + + + + + + + + Tipo de Ente Governamental + + + + + + + + + + + + Tipo de classificação do Crédito Presumido IBS ZFM + + + + + + + + + + + + Tipo Indicador de Doação + + + + + + + + Grupo de informações da Tributação da NFCom + + + + + Código Situação Tributária do IBS/CBS + + + + + + Indica se a operação é de doação + + + + + + Informado conforme indicador no cClassTrib + + + + + + + Grupo de informações da Tributação da NF3e + + + + + Código Situação Tributária do IBS/CBS + + + + + + Indica se a operação é de doação + + + + + + Informado conforme indicador no cClassTrib + + + + + + + Grupo de informações da Tributação da NFAg + + + + + Código Situação Tributária do IBS/CBS + + + + + + + + Informado conforme indicador no cClassTrib + + + + + + + Grupo de informações da Tributação do CTe + + + + + Código Situação Tributária do IBS/CBS + + + + + + + + Informado conforme indicador no cClassTrib + + + + + + + Grupo de informações da Tributação do BPe + + + + + Código Situação Tributária do IBS/CBS + + + + + + + + Informado conforme indicador no cClassTrib + + + + + + + Grupo de informações da Tributação da NFCe + + + + + Código Situação Tributária do IBS/CBS + + + + + + Indica se a operação é de doação + + + + + + + + + + + Grupo de informações da Tributação da NFe + + + + + Código Situação Tributária do IBS/CBS + + + + + + Indica se a operação é de doação + + + + + + + Informar essa opção da Choice para Monofasia (CST 620) + + + + + Informar essa opção da Choice para o CST 800 + + + + + Informar essa opção da Choice para o CST 811 + + + + + + Informado conforme indicador no cClassTrib + + + + + + Crédito Presumido da Operação. Informado conforme indicador no cClassTrib. + + + + + Classificação de acordo com o art. 450, § 1º, da LC 214/25 para o cálculo do crédito presumido na ZFM. Informado conforme indicador no cClassTrib. + + + + + + + + Grupo de informações da Tributação da NFGas + + + + + Código Situação Tributária do IBS/CBS + + + + + + + + + Informar essa opção da Choice para Monofasia + + + + + + Informado conforme indicador no cClassTrib + + + + + + + Grupo de informações do Imposto Seletivo + + + + + Código Situação Tributária do Imposto Seletivo + + + + + + + Valor do BC + + + + + Alíquota do Imposto Seletivo (percentual) + + + + + Alíquota do Imposto Seletivo (por valor) + + + + + + Unidade de medida apropriada especificada em Lei Ordinaria para fins de apuração do Imposto Seletivo + + + + + + + + + + + Quantidade com abse no campo uTrib informado + + + + + + Valor do Imposto Seletivo calculado + + + + + + + + Grupo de informações de totais do Imposto Seletivo + + + + + Valor Total do Imposto Seletivo + + + + + + + Grupo de informações de totais da CBS/IBS + + + + + Total Base de Calculo + + + + + Totalização do IBS + + + + + + Totalização do IBS de competência da UF + + + + + + Total do Diferimento + + + + + Total de devoluções de tributos + + + + + Valor total do IBS Estadual + + + + + + + + Totalização do IBS de competência Municipal + + + + + + Total do Diferimento + + + + + Total de devoluções de tributos + + + + + Valor total do IBS Municipal + + + + + + + + Valor total do IBS + + + + + + + + Totalização da CBS + + + + + + Total do Diferimento + + + + + Total de devoluções de tributos + + + + + Valor total da CBS + + + + + + + + Totalização do estorno de crédito + + + + + + Valor total do IBS estornado + + + + + Valor total da CBS estornada + + + + + + + + + + Grupo de informações de totais da CBS/IBS com monofasia + + + + + Total Base de Calculo + + + + + Totalização do IBS + + + + + + Totalização do IBS de competência da UF + + + + + + Total do Diferimento + + + + + Total de devoluções de tributos + + + + + Valor total do IBS Estadual + + + + + + + + Totalização do IBS de competência Municipal + + + + + + Total do Diferimento + + + + + Total de devoluções de tributos + + + + + Valor total do IBS Municipal + + + + + + + + Valor total do IBS + + + + + Total do Crédito Presumido + + + + + Total do Crédito Presumido Condição Suspensiva + + + + + + + + Totalização da CBS + + + + + + Total do Diferimento + + + + + Total de devoluções de tributos + + + + + Valor total da CBS + + + + + Total do Crédito Presumido + + + + + Total do Crédito Presumido Condição Suspensiva + + + + + + + + Totais da Monofasia + Só deverá ser utilizado para DFe modelos 55 e 65 + + + + + + Valor total do IBS monofásico + + + + + Valor total da CBS monofásica + + + + + Valor total do IBS monofásico sujeito a retenção + + + + + Valor total da CBS monofásica sujeita a retenção + + + + + Valor do IBS monofásico retido anteriormente + + + + + Valor da CBS monofásica retida anteriormente + + + + + + + + Totalização do estorno de crédito + + + + + + Valor total do IBS estornado + + + + + Valor total da CBS estornada + + + + + + + + + + Tipo Monofasia + + + + Monofasia + + + + Grupo de informações da Tributação Monofásica padrão + + + + + + Quantidade tributada na monofasia + + + + + Alíquota ad rem do IBS + + + + + Alíquota ad rem da CBS + + + + + Valor do IBS monofásico + + + + + Valor da CBS monofásica + + + + + + + + Grupo de informações da Tributação Monofásica sujeita a retenção + + + + + + Quantidade tributada sujeita a retenção. + + + + + Alíquota ad rem do IBS sujeito a retenção + + + + + Valor do IBS monofásico sujeito a retenção + + + + + Alíquota ad rem da CBS sujeita a retenção + + + + + Valor da CBS monofásica sujeita a retenção + + + + + + + + Grupo de informações da Tributação Monofásica retida anteriormente + + + + + + Quantidade tributada retida anteriormente + + + + + Alíquota ad rem do IBS retido anteriormente + + + + + Valor do IBS retido anteriormente + + + + + Alíquota ad rem da CBS retida anteriormente + + + + + Valor da CBS retida anteriormente + + + + + + + + Grupo de informações do diferimento da Tributação Monofásica + + + + + + Percentual do diferimento do imposto monofásico + + + + + Valor do IBS monofásico diferido + + + + + Percentual do diferimento do imposto monofásico + + + + + Valor da CBS monofásica diferida + + + + + + + + Total de IBS monofásico do item + + + + + Total da CBS monofásica do item + + + + + + + Tipo CBS IBS Completo + + + + IBS / CBS + + + + Valor do BC + + + + + + Grupo de informações do IBS na UF + + + + + + Aliquota do IBS de competência das UF (em percentual) + + + + + Grupo de campos do Diferimento + + + + + Grupo de Informações da devolução de tributos + + + + + Grupo de campos da redução de aliquota + + + + + Valor do IBS de competência das UF + + + + + + + + Grupo de Informações do IBS no Município + + + + + + Aliquota do IBS Municipal (em percentual) + + + + + Grupo de campos do Diferimento + + + + + Grupo de Informações da devolução de tributos + + + + + Grupo de campos da redução de aliquota + + + + + Valor do IBS Municipal + + + + + + + + Valor do IBS + + + + + + Grupo de Tributação da CBS + + + + + + Aliquota da CBS (em percentual) + + + + + Grupo de campos do Diferimento + + + + + Grupo de Informações da devolução de tributos + + + + + Grupo de campos da redução de aliquota + + + + + Valor da CBS + + + + + + + + Grupo de informações da Tributação Regular. Informar como seria a tributação caso não cumprida a condição resolutória/suspensiva. Exemplo 1: Art. 442, §4. Operações com ZFM e ALC. Exemplo 2: Operações com suspensão do tributo. + + + + + Grupo de informações da composição do valor do IBS e da CBS em compras governamental + + + + + + + Tipo Redução Base de Cálculo + + + + + Percentual de redução de aliquota do cClassTrib + + + + + Aliquota Efetiva que será aplicada a Base de Calculo (em percentual) + + + + + + + Tipo Crédito Presumido + + + + + Percentual do Crédito Presumido + + + + + + Valor do Crédito Presumido + + + + + Valor do Crédito Presumido Condição Suspensiva, preencher apenas para cCredPres que possui indicação de Condição Suspensiva + + + + + + + + Tipo Diferimento + + + + + Percentual do diferimento + + + + + Valor do diferimento + + + + + + + Tipo Devolução Tributo + + + + + Valor do tributo devolvido. No fornecimento de energia elétrica, água, esgoto e +gás natural e em outras hipóteses definidas no regulamento + + + + + + + Tipo Tributação Regular + + + + + Código da Situação Tributária do IBS e CBS + Informar qual seria o CST caso não cumprida a condição resolutória/suspensiva + + + + + Informar qual seria o cClassTrib caso não cumprida a condição resolutória/suspensiva + + + + + Alíquota do IBS da UF + Informar como seria a Alíquota caso não cumprida a condição resolutória/suspensiva + + + + + Valor do IBS da UF + Informar como seria o valor do Tributo caso não cumprida a condição resolutória/suspensiva + + + + + Alíquota do IBS do Município + Informar como seria a Alíquota caso não cumprida a condição resolutória/suspensiva + + + + + Valor do IBS do Município + Informar como seria o valor do Tributo caso não cumprida a condição resolutória/suspensiva + + + + + Alíquota da CBS + Informar como seria a Alíquota caso não cumprida a condição resolutória/suspensiva + + + + + Valor da CBS + Informar como seria o valor do Tributo caso não cumprida a condição resolutória/suspensiva + + + + + + + Tipo Tributação Compra Governamental + + + + + + Valor que seria devido a UF, sem aplicação do Art. 473. da LC 214/2025 + + + + + + Valor que seria devido ao município, sem aplicação do Art. 473. da LC 214/2025 + + + + + + Valor que seria devido a CBS, sem aplicação do Art. 473. da LC 214/2025 + + + + + + + Tipo Compras Governamentais + Cada DFe que utilizar deverá utilizar esses tipo no grupo ide + + + + + Para administração pública direta e suas autarquias e fundações: +1=União +2=Estados +3=Distrito Federal +4=Municípios + + + + + Percentual de redução de aliquota em compra governamental + + + + + + + Tipo Compras Governamentais + Cada DFe que utilizar deverá utilizar esses tipo no grupo ide + + + + + Para administração pública direta e suas autarquias e fundações: +1=União +2=Estados +3=Distrito Federal +4=Municípios + + + + + Percentual de redução de aliquota em compra governamental + + + + + Tipo da operação com ente governamental: +1 - Fornecimento +2 - Recebimento do Pagamento + + + + + + + Tipo Transferência de Crédito + + + + + Valor do IBS a ser transferido + + + + + Valor da CBS a ser transferida + + + + + + + Tipo Estorno de Crédito + + + + + Valor do IBS a ser estornado + + + + + Valor da CBS a ser estornada + + + + + + + Ano e mês referência do período de apuração (AAAA-MM) + + + + + + + + Tipo Ajuste de Competência + + + + + Ano e mês referência do período de apuração (AAAA-MM) + + + + + Valor do IBS + + + + + Valor da CBS + + + + + + + Tipo Crédito Presumido da Operação + + + + + Valor da Base de Cálculo do Crédito Presumido da Operação + + + + + Código de Classificação do Crédito Presumido do IBS e da CBS + + + + + Grupo de Informações do Crédito Presumido referente ao IBS, quando aproveitado pelo emitente do documento. + + + + + Grupo de Informações do Crédito Presumido referente a CBS, quando aproveitado pelo emitente do documento. + + + + + + + Tipo Informações do crédito presumido de IBS para fornecimentos a partir da ZFM + + + + + Ano e mês referência do período de apuração (AAAA-MM) + + + + + Classificação de acordo com o art. 450, § 1º, da LC 214/25 para o cálculo do crédito presumido na ZFM + 0 - Sem crédito presumido; +1 - Bens de consumo final (55%); +2 - Bens de capital (75%); +3 - Bens intermediários (90,25%); +4 - Bens de informática e outros definidos em legislação (100%). +OBS: Percentuais definidos no art. 450, § 1º, da LC 214/25 para o cálculo do crédito presumido + + + + + + Valor do crédito presumido calculado sobre o saldo devedor apurado + + + + + \ No newline at end of file diff --git a/schemas/nfe/v4_00/leiauteNFe_v4.00.xsd b/schemas/nfe/v4_00/leiauteNFe_v4.00.xsd index 71af1f1d..7d6fb69e 100644 --- a/schemas/nfe/v4_00/leiauteNFe_v4.00.xsd +++ b/schemas/nfe/v4_00/leiauteNFe_v4.00.xsd @@ -1,5 +1,5 @@ - + @@ -13,9 +13,15 @@ + + + + + + Tipo Nota Fiscal Eletrônica @@ -88,6 +94,11 @@ SCAN 900-999 Data e Hora da saída ou de entrada da mercadoria / produto (AAAA-MM-DDTHH:mm:ssTZD) + + + Data da previsão de entrega ou disponibilização do bem (AAAA-MM-DD) + + Tipo do Documento Fiscal (0 - entrada; 1 - saída) @@ -118,6 +129,12 @@ SCAN 900-999 Código do Município de Ocorrência do Fato Gerador (utilizar a tabela do IBGE) + + + Informar o município de ocorrência do fato gerador do fato gerador do IBS / CBS. +Campo preenchido somente quando “indPres = 5 (Operação presencial, fora do estabelecimento) ”, e não tiver endereço do destinatário (Grupo: E05) ou local de entrega (Grupo: G01). + + Formato de impressão do DANFE (0-sem DANFE;1-DANFe Retrato; 2-DANFe Paisagem;3-DANFe Simplificado; @@ -185,7 +202,19 @@ SCAN 900-999 1 - NFe normal 2 - NFe complementar 3 - NFe de ajuste -4 - Devolução/Retorno +4 - Devolução/Retorno +5 - Nota de crédito +6 - Nota de débito + + + + + Tipo de Nota de Débito + + + + + Tipo de Nota de Crédito @@ -276,7 +305,7 @@ para tpEmis diferente de 1 - + Grupo de infromações da NF referenciada @@ -287,6 +316,11 @@ para tpEmis diferente de 1 Chave de acesso das NF-e referenciadas. Chave de acesso compostas por Código da UF (tabela do IBGE) + AAMM da emissão + CNPJ do Emitente + modelo, série e número da NF-e Referenciada + Código Numérico + DV. + + + Referencia uma NF-e (modelo 55) emitida anteriormente pela sua Chave de Acesso com código numérico zerado, permitindo manter o sigilo da NF-e referenciada. + + Dados da NF modelo 1/1A referenciada ou NF modelo 2 referenciada @@ -456,6 +490,25 @@ Preencher com "2B", quando se tratar de Cupom Fiscal emitido por máqu + + + Grupo de Compras Governamentais + + + + + Informado para abater as parcelas de antecipação de pagamento, conforme Art. 10. § 4º + + + + + + Chave de acesso da NF-e de antecipação de pagamento + + + + + @@ -547,7 +600,8 @@ Preencher com "2B", quando se tratar de Cupom Fiscal emitido por máqu Este campo será obrigatoriamente preenchido com: 1 – Simples Nacional; 2 – Simples Nacional – excesso de sublimite de receita bruta; -3 – Regime Normal. +3 – Regime Normal. +4 - Simples Nacional - Microempreendedor individual - MEI @@ -555,6 +609,7 @@ Este campo será obrigatoriamente preenchido com: + @@ -907,6 +962,41 @@ Formato ”CFOP9999”. + + + Grupo de informações sobre o CréditoPresumido + + + + + + Código de Benefício Fiscal de Crédito Presumido na UF aplicado ao item + + + + + + + + + + + Percentual do Crédito Presumido + + + + + Valor do Crédito Presumido + + + + + + + + Classificação para subapuração do IBS na ZFM + + Código EX TIPI (3 posições) @@ -995,7 +1085,7 @@ Formato ”CFOP9999”. - Valor unitário de tributação - - alterado para aceitar 0 a 10 casas decimais e 11 inteiros + Valor unitário de tributação - alterado para aceitar 0 a 10 casas decimais e 11 inteiros @@ -1032,16 +1122,26 @@ Formato ”CFOP9999”. + + + Indicador de fornecimento de bem móvel usado: 1-Bem Móvel Usado + + + + + + + + - Delcaração de Importação -(NT 2011/004) + Declaração de Importação (NT 2011/004) - Numero do Documento de Importação DI/DSI/DA/DRI-E (DI/DSI/DA/DRI-E) (NT2011/004) + Número do Documento de Importação (DI, DSI, DIRE, DUImp) (NT2011/004) @@ -1078,7 +1178,7 @@ Formato ”CFOP9999”. - Via de transporte internacional informada na DI + Via de transporte internacional informada na DI ou na Declaração Única de Importação (DUImp): 1-Maritima;2-Fluvial;3-Lacustre;4-Aerea;5-Postal;6-Ferroviaria;7-Rodoviaria;8-Conduto;9-Meios Proprios;10-Entrada/Saida Ficta; 11-Courier;12-Em maos;13-Por reboque. @@ -1120,11 +1220,18 @@ Formato ”CFOP9999”. - - - CNPJ do adquirente ou do encomendante - - + + + + CNPJ do adquirente ou do encomendante + + + + + CPF do adquirente ou do encomendante + + + Sigla da UF do adquirente ou do encomendante @@ -1160,7 +1267,7 @@ Formato ”CFOP9999”. - Número seqüencial do item dentro da Adição + Número seqüencial do item @@ -1182,7 +1289,7 @@ Formato ”CFOP9999”. - Valor do desconto do item da DI – adição + Valor do desconto do item @@ -1287,7 +1394,7 @@ Formato ”CFOP9999”. Número do lote do produto. - + @@ -1797,7 +1904,7 @@ N-NormalVIN Descrição do Produto conforme ANP. Utilizar a descrição de produtos do Sistema de Informações de Movimentação de Produtos - SIMP (http://www.anp.gov.br/simp/). - + @@ -1926,6 +2033,42 @@ ambiente. + + + Percentual do índice de mistura do Biodiesel (B100) no Óleo Diesel B instituído pelo órgão regulamentador + + + + + Grupo indicador da origem do combustível + + + + + + Indicador de importação 0=Nacional; 1=Importado; + + + + + + + + + + + + UF de origem do produtor ou do importado + + + + + Percentual originário para a UF + + + + + @@ -1956,7 +2099,7 @@ ambiente. Valor estimado total de impostos federais, estaduais e municipais - + @@ -2038,6 +2181,47 @@ ambiente. + + + Tributação monofásica própria sobre combustíveis + + + + + + origem da mercadoria + + + + + Tributção pelo ICMS +02= Tributação monofásica própria sobre combustíveis; + + + + + + + + + + + Quantidade tributada. + + + + + Alíquota ad rem do imposto. + + + + + Valor do ICMS própri + + + + + Tributação pelo ICMS @@ -2202,6 +2386,83 @@ ambiente. + + + Tributação monofásica própria e com responsabilidade pela retenção sobre combustíveis + + + + + + origem da mercadoria + + + + + Tributção pelo ICMS +15= Tributação monofásica própria e com responsabilidade pela retenção sobre combustíveis; + + + + + + + + + + + Quantidade tributada. + + + + + Alíquota ad rem do imposto. + + + + + Valor do ICMS próprio + + + + + Quantidade tributada sujeita a retenção. + + + + + Alíquota ad rem do imposto com retenção. + + + + + Valor do ICMS com retenção + + + + + + Percentual de redução do valor da alíquota ad rem do ICMS. + + + + + Motivo da redução do adrem + 1= Transporte coletivo de passageiros; 9=Outros; + + + + + + + + + + + + + + Tributção pelo ICMS @@ -2305,6 +2566,20 @@ ambiente. + + + Indica se o valor do ICMS desonerado (vICMSDeson) deduz do valor do item (vProd): +0=Valor do ICMS desonerado (vICMSDeson) não deduz do valor do item (vProd) / total da NF-e; +1=Valor do ICMS desonerado (vICMSDeson) deduz do valor do item (vProd) / total da NF-e. + + + + + + + + + @@ -2423,6 +2698,20 @@ ambiente. + + + Indica se o valor do ICMS desonerado (vICMSDeson) deduz do valor do item (vProd): +0=Valor do ICMS desonerado (vICMSDeson) não deduz do valor do item (vProd) / total da NF-e; +1=Valor do ICMS desonerado (vICMSDeson) deduz do valor do item (vProd) / total da NF-e. + + + + + + + + + @@ -2501,29 +2790,40 @@ Informar o motivo da desoneração: + + + Indica se o valor do ICMS desonerado (vICMSDeson) deduz do valor do item (vProd): +0=Valor do ICMS desonerado (vICMSDeson) não deduz do valor do item (vProd) / total da NF-e; +1=Valor do ICMS desonerado (vICMSDeson) deduz do valor do item (vProd) / total da NF-e. + + + + + + + + + - Tributção pelo ICMS -51 - Diferimento -A exigência do preenchimento das informações do ICMS diferido fica à critério de cada UF. + Tributção pelo ICMS 51 - Diferimento. A exigência do preenchimento das informações do ICMS diferido fica à critério de cada UF. origem da mercadoria: 0 - Nacional -1 - Estrangeira - Importação direta -2 - Estrangeira - Adquirida no mercado interno + 1 - Estrangeira - Importação direta + 2 - Estrangeira - Adquirida no mercado interno - Tributção pelo ICMS -20 - Com redução de base de cálculo + Tributação pelo ICMS 51 - Tributação com Diferimento @@ -2535,10 +2835,10 @@ A exigência do preenchimento das informações do ICMS diferido fica à critér Modalidade de determinação da BC do ICMS: -0 - Margem Valor Agregado (%); -1 - Pauta (valor); -2 - Preço Tabelado Máximo (valor); -3 - Valor da Operação. + 0 - Margem Valor Agregado (%); + 1 - Pauta (valor); + 2 - Preço Tabelado Máximo (valor); + 3 - Valor da Operação. @@ -2555,6 +2855,17 @@ A exigência do preenchimento das informações do ICMS diferido fica à critér Percentual de redução da BC + + + Código de Benefício Fiscal na UF aplicado ao item quando houver RBC. + + + + + + + + Valor da BC do ICMS @@ -2622,6 +2933,72 @@ A exigência do preenchimento das informações do ICMS diferido fica à critér + + + Tributação monofásica sobre combustíveis com recolhimento diferido + + + + + + origem da mercadoria + + + + + Tributção pelo ICMS +53= Tributação monofásica sobre combustíveis com recolhimento diferido; + + + + + + + + + + + Quantidade tributada. + + + + + Alíquota ad rem do imposto. + + + + + Valor do ICMS da operação + + + + + Percentual do diferemento + + + + + Valor do ICMS diferido + + + + + Valor do ICMS próprio devido + + + + + Quantidade tributada diferida. + + + + + Alíquota ad rem do imposto diferido + + + + + Tributação pelo ICMS @@ -2715,6 +3092,47 @@ A exigência do preenchimento das informações do ICMS diferido fica à critér + + + Tributação monofásica sobre combustíveis cobrada anteriormente; + + + + + + origem da mercadoria + + + + + Tributção pelo ICMS +61= Tributação monofásica sobre combustíveis cobrada anteriormente + + + + + + + + + + + Quantidade tributada retida anteriormente + + + + + Alíquota ad rem do imposto retido anteriormente + + + + + Valor do ICMS retido anteriormente + + + + + Tributação pelo ICMS @@ -2884,6 +3302,20 @@ A exigência do preenchimento das informações do ICMS diferido fica à critér + + + Indica se o valor do ICMS desonerado (vICMSDeson) deduz do valor do item (vProd): +0=Valor do ICMS desonerado (vICMSDeson) não deduz do valor do item (vProd) / total da NF-e; +1=Valor do ICMS desonerado (vICMSDeson) deduz do valor do item (vProd) / total da NF-e. + + + + + + + + + @@ -3081,6 +3513,20 @@ A exigência do preenchimento das informações do ICMS diferido fica à critér + + + Indica se o valor do ICMS desonerado (vICMSDeson) deduz do valor do item (vProd): +0=Valor do ICMS desonerado (vICMSDeson) não deduz do valor do item (vProd) / total da NF-e; +1=Valor do ICMS desonerado (vICMSDeson) deduz do valor do item (vProd) / total da NF-e. + + + + + + + + + @@ -3393,7 +3839,7 @@ Operação interestadual para consumidor final com partilha do ICMS devido na o - + origem da mercadoria: 0 - Nacional 1 - Estrangeira - Importação direta @@ -3712,11 +4158,11 @@ Operação interestadual para consumidor final com partilha do ICMS devido na o - Tributação do ICMS pelo SIMPLES NACIONAL, CRT=1 – Simples Nacional e CSOSN=900 (v2.0) + Tributação do ICMS pelo SIMPLES NACIONAL, CRT=1 – Simples Nacional, CRT=4 - MEI e CSOSN=900 (v2.0) - + origem da mercadoria: 0 - Nacional 1 - Estrangeira - Importação direta @@ -3971,7 +4417,7 @@ Operação interestadual para consumidor final com partilha do ICMS devido na o Código do serviço prestado dentro do município - + @@ -3999,7 +4445,7 @@ Operação interestadual para consumidor final com partilha do ICMS devido na o Número do Processo administrativo ou judicial de suspenção do processo - + @@ -4631,6 +5077,16 @@ Substituição Tributaria; + + + Grupo de informações do Imposto Seletivo + + + + + Grupo de informações dos tributos IBS, CBS e Imposto Seletivo + + @@ -4729,6 +5185,36 @@ Substituição Tributaria; + + + Valor total do Item, correspondente à sua participação no total da nota. A soma dos itens deverá corresponder ao total da nota. + + + + + Referenciamento de item de outros DFe + + + + + + Chave de Acesso do DFe referenciado + + + + + Número do item do documento referenciado. Corresponde ao atributo nItem do elemento det do documento original. + + + + + + + + + + + @@ -4810,6 +5296,36 @@ Substituição Tributaria; Valor Total do FCP (Fundo de Combate à Pobreza) retido anteriormente por substituição tributária. + + + Valor total da quantidade tributada do ICMS monofásico próprio + + + + + Valor total do ICMS monofásico próprio + + + + + Valor total da quantidade tributada do ICMS monofásico sujeito a retenção + + + + + Valor total do ICMS monofásico sujeito a retenção + + + + + Valor total da quantidade tributada do ICMS monofásico retido anteriormente + + + + + Valor do ICMS monofásico retido anteriormente + + Valor Total dos produtos e serviços @@ -4997,6 +5513,21 @@ Substituição Tributaria; + + + Valores totais da NF com Imposto Seletivo + + + + + Valores totais da NF com IBS / CBS + + + + + Valor Total da NF considerando os impostos por fora IBS, CBS e IS + + @@ -5381,17 +5912,34 @@ Substituição Tributaria; Valor do Pagamento. Esta tag poderá ser omitida quando a tag tPag=90 (Sem Pagamento), caso contrário deverá ser preenchida. + + + Data do Pagamento + + + + + + CNPJ transacional do pagamento - Preencher informando o CNPJ do estabelecimento onde o pagamento foi processado/transacionado/recebido quando a emissão do documento fiscal ocorrer em estabelecimento distinto + + + + + UF do CNPJ do estabelecimento onde o pagamento foi processado/transacionado/recebido. + + + - Grupo de Cartões + Grupo de Cartões, PIX, Boletos e outros Pagamentos Eletrônicos - Tipo de Integração do processo de pagamento com o sistema de automação da empresa/ - 1=Pagamento integrado com o sistema de automação da empresa Ex. equipamento TEF , Comercio Eletronico - 2=Pagamento não integrado com o sistema de automação da empresa Ex: equipamento POS + Tipo de Integração do processo de pagamento com o sistema de automação da empresa: +1 - Pagamento integrado com o sistema de automação da empresa (Ex.: equipamento TEF, Comércio Eletrônico, POS Integrado); +2 - Pagamento não integrado com o sistema de automação da empresa (Ex.: equipamento POS Simples). @@ -5419,12 +5967,28 @@ Substituição Tributaria; - Número de autorização da operação cartão de crédito/débito + Número de autorização da operação com cartões, PIX, boletos e outros pagamentos eletrônicos - + + + + + + + CNPJ do beneficiário do pagamento + + + + + Identificador do terminal de pagamento + + + + + @@ -5574,7 +6138,8 @@ concessório 1 - Justiça Federal; 2 - Justiça Estadual; 3 - Secex/RFB; -9 - Outros +4 - CONFAZ; +9 - Outros. @@ -5583,6 +6148,7 @@ concessório + @@ -5592,9 +6158,11 @@ concessório Tipo do ato concessório Para origem do Processo na SEFAZ (indProc=0), informar o tipo de ato concessório: -08=Termo de Acordo; -10=Regime Especial; -12=Autorização específica; +08 - Termo de Acordo; +10 - Regime Especial; +12 - Autorização específica; +14 - Ajuste SINIEF; +15 - Convênio ICMS. @@ -5602,6 +6170,8 @@ tipo de ato concessório: + + @@ -5820,7 +6390,7 @@ tipo de ato concessório: Solicitação do pedido de emissão da NFF - + @@ -5829,6 +6399,88 @@ tipo de ato concessório: + + + Produtos Agropecurários Animais, Vegetais e Florestais + + + + + + Defensivo Agrícola / Agrotóxico + + + + + + Número do Receituário ou Receita do Defensivo / Agrotóxico + + + + + + + + + + + CPF do Responsável Técnico pelo receituário + + + + + + + + Guias De Trânsito de produtos agropecurários animais, vegetais e de origem florestal. + + + + + + Tipo da Guia: 1 - GTA; 2 - TTA; 3 - DTA; 4 - ATV; 5 - PTV; 6 - GTV; 7 - Guia Florestal (DOF, SisFlora - PA e MT, SIAM - MG) + + + + + + + + + + + + + + + + + + Série da Guia + + + + + + + + + + + Número da Guia + + + + + + + + + + + + + @@ -5864,9 +6516,18 @@ tipo de ato concessório: - - - + + + + + + + + + + + + @@ -5875,7 +6536,7 @@ tipo de ato concessório: Informar a URL da "Consulta por chave de acesso da NFC-e". A mesma URL que deve estar informada no DANFE NFC-e para consulta por chave de acesso. - + @@ -6657,8 +7318,7 @@ alterado para tamanho variavel 1-4. (NT2011/004) - Tipo Origem da mercadoria CST ICMS origem da mercadoria: 0-Nacional exceto as indicadas nos códigos 3, 4, 5 e 8; -1-Estrangeira - Importação direta; 2-Estrangeira - Adquirida no mercado interno; 3-Nacional, conteudo superior 40% e inferior ou igual a 70%; 4-Nacional, processos produtivos básicos; 5-Nacional, conteudo inferior 40%; 6-Estrangeira - Importação direta, com similar nacional, lista CAMEX; 7-Estrangeira - mercado interno, sem simular,lista CAMEX;8-Nacional, Conteúdo de Importação superior a 70%. + Tipo Origem da mercadoria CST ICMS origem da mercadoria: 0-Nacional exceto as indicadas nos códigos 3, 4, 5 e 8;1-Estrangeira - Importação direta; 2-Estrangeira - Adquirida no mercado interno; 3-Nacional, conteudo superior 40% e inferior ou igual a 70%; 4-Nacional, processos produtivos básicos; 5-Nacional, conteudo inferior 40%; 6-Estrangeira - Importação direta, com similar nacional, lista CAMEX; 7-Estrangeira - mercado interno, sem simular,lista CAMEX;8-Nacional, Conteúdo de Importação superior a 70%. @@ -6683,6 +7343,51 @@ alterado para tamanho variavel 1-4. (NT2011/004) + + + + + + + Tipo de Nota de Débito: + 01=Transferência de créditos para Cooperativas; + 02=Anulação de Crédito por Saídas Imunes/Isentas; + 03=Débitos de notas fiscais não processadas na apuração; + 04=Multa e juros; + 05=Transferência de crédito na sucessão; + 06=Pagamento antecipado; + 07=Perda em estoque; + 08=Desenquadramento do SN; + + + + + + + + + + + + + + + + Tipo de Nota de Crédito: + 01=Multa e juros; + 02=Apropriação de crédito presumido de IBS sobre o saldo devedor na ZFM (art. 450, § 1º, LC 214/25); + 03=Retorno por recusa na entrega ou por não localização do destinatário na tentativa de entrega; + 04=Redução de valores; + 05=Transferência de crédito na sucessão; + + + + + + + + + @@ -6871,4 +7576,4 @@ alterado para tamanho variavel 1-4. (NT2011/004) - + \ No newline at end of file diff --git a/schemas/nfe/v4_00/nfe_v4.00.xsd b/schemas/nfe/v4_00/nfe_v4.00.xsd index 4fe917ae..b8e3dd25 100644 --- a/schemas/nfe/v4_00/nfe_v4.00.xsd +++ b/schemas/nfe/v4_00/nfe_v4.00.xsd @@ -1,9 +1,10 @@ - - - - - - Nota Fiscal Eletrônica - - - + + + + + + + Nota Fiscal Eletrônica + + + diff --git a/schemas/nfe/v4_00/tiposBasico_v4.00.xsd b/schemas/nfe/v4_00/tiposBasico_v4.00.xsd index 02ca29a8..0ddf6ef7 100644 --- a/schemas/nfe/v4_00/tiposBasico_v4.00.xsd +++ b/schemas/nfe/v4_00/tiposBasico_v4.00.xsd @@ -61,8 +61,8 @@ - - + + @@ -81,8 +81,8 @@ - - + + @@ -189,6 +189,15 @@ + + + Tipo Decimal com 3 inteiros (no máximo 100), com 4 decimais, não aceita valor zero + + + + + + Tipo Decimal com 3 inteiros (no máximo 100), com até 4 decimais diff --git a/tests/nfe/v4_00/leiauteNFe/nfe_reforma_tributaria.xml b/tests/nfe/v4_00/leiauteNFe/nfe_reforma_tributaria.xml new file mode 100644 index 00000000..c9b78651 --- /dev/null +++ b/tests/nfe/v4_00/leiauteNFe/nfe_reforma_tributaria.xml @@ -0,0 +1,306 @@ + + + + + + 15 + 42701508 + Vnd prod.est.opr.c/pr.suj.reg.sub.trib.cnd.sub.tri + 55 + 1 + 664350 + 2025-07-01T10:00:01-00:00 + 2025-07-01T10:00:02-00:00 + 1 + 2 + 1504208 + 1 + 1 + 8 + 1 + 1 + 0 + 0 + 0 + SAP NFE 10.0 + + 35250137241249000107550014231152171571688010 + + + 21323412888283895737729149494949494171688099 + + + + 00127786000102 + Contribuinte A + Contribuinte A + + rua + S/N + km 425 + Distrito Industrial + 1504208 + Maraba + PA + 68501535 + Brasil + 998926994 + + 151198446 + 0043763020020 + 30368 + 2423702 + 3 + + + 00127912000129 + Contribuinte B + + rua + 2470 + bairro + 3106200 + BELO HORIZONTE + MG + 30870100 + 1058 + Brasil + 3100000000 + + 1 + 5462681890178 + + + + 98007 + 7896014400287 + POLPA BRASFRUT 100G ACEROLA + 08119000 + 1708900 + S + 5405 + UN1 + 6.0000 + 2.4800000000 + 14.88 + 7896014400287 + UN1 + 6.0000 + 2.4800000000 + 1.40 + 1 + + + + + 0 + 10 + 3 + 56768.66 + 12.0000 + 6812.24 + 4 + 35.0000 + 76637.69 + 12.0000 + 2384.28 + + + + 999 + + 51 + + + + + 01 + 49956.42 + 1.6500 + 824.28 + + + + + 01 + 49956.42 + 7.6000 + 3796.69 + + + + 000 + 000001 + + 800 + + 2 + + 1 + 8 + + + 15 + + + 1 + 1.50 + + 16 + + + 2 + + 1 + 8 + + + 15 + + + 1 + 1.50 + + 25 + + 0 + + 0.09 + + 0 + 0 + + + 0 + + + 0 + 0 + + 101 + + + 000 + 000000 + 1.50 + 10.50 + 2 + 20 + 3 + 30.50 + + + + + Venda com ICMS-ST, conforme Decreto Estadual do Para no 2.401/2022 e Protocolos ICMS no 196/2009, 26/10 e 85/11. + + + + 158106.35 + 18972.77 + 0.00 + 0.00 + 213443.57 + 6640.46 + 0.00 + 0.00 + 158106.35 + 30.00 + 20.00 + 45.80 + 0.00 + 0.00 + 0.00 + 2295.71 + 10574.15 + 50.00 + 164746.81 + + + 2000.50 + + + 4 + 96 + 30 + + + 4 + 96 + 40 + + 50 + 43.10 + 41.90 + + + 41.88 + 8 + 87.29 + 0 + 1.20 + + + 0.42 + 1 + 89.56 + 55.55 + 100 + 90 + + + 5000 + + + 0 + + 49929194000284 + ACO CEARENSE LOGISTICA LTDA + 158882881 + ROD PA 150 0 + MARABA + PA + + + 16 + 30983.000 + 30983.000 + + + + + 0000664350 + 164746.81 + 0.00 + 164746.81 + + + 001 + 2023-12-31 + 54915.05 + + + 002 + 2024-01-10 + 54915.05 + + + 003 + 2024-01-20 + 54916.71 + + + + + 1 + 15 + 164746.81 + + + + Venda com ICMSST, conforme Decreto Estadual do Para no 2.401/2022 e Protocolos ICMS no 196/2009, 26/10 e 85/11. + Venda com ICMSST, conforme Decreto Estadual do Para no 2.401/2022 e Protocolos ICMS no 196/2009, 26/10 e 85/11. Condicao de Pagamento: 25/35/45 dias. PLACA 01: ASV9D02 SP, PLACA 02: EBD8942 FORMA DE PAGAMENTO: COB BOLETO (BANCO EMITE). Numero do Orcamento:06/12/2023002154. + + + +