<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.abrasf.org.br/nfse" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" targetNamespace="http://www.abrasf.org.br/nfse" elementFormDefault="qualified" attributeFormDefault="unqualified">
	<xsd:include schemaLocation="tipos_simples.xsd"/>
	<xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema20020212.xsd"/>
	<xsd:complexType name="tcCpfCnpj">
		<xsd:choice>
			<xsd:element name="Cpf" type="tsCpf"/>
			<xsd:element name="Cnpj" type="tsCnpj"/>
		</xsd:choice>
	</xsd:complexType>
	<xsd:complexType name="tcEndereco">
		<xsd:sequence>
			<xsd:element name="Endereco" type="tsEndereco" minOccurs="0"/>
			<xsd:element name="Numero" type="tsNumeroEndereco" minOccurs="0"/>
			<xsd:element name="Complemento" type="tsComplementoEndereco" minOccurs="0"/>
			<xsd:element name="Bairro" type="tsBairro" minOccurs="0"/>
			<xsd:element name="CodigoMunicipio" type="tsCodigoMunicipioIbge" minOccurs="0"/>
			<xsd:element name="Uf" type="tsUf" minOccurs="0"/>
			<xsd:element name="Cep" type="tsCep" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tcContato">
		<xsd:sequence>
			<xsd:element name="Telefone" type="tsTelefone" minOccurs="0"/>
			<xsd:element name="Email" type="tsEmail" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tcIdentificacaoOrgaoGerador">
		<xsd:sequence>
			<xsd:element name="CodigoMunicipio" type="tsCodigoMunicipioIbge"/>
			<xsd:element name="Uf" type="tsUf"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tcIdentificacaoRps">
		<xsd:sequence>
			<xsd:element name="Numero" type="tsNumeroRps"/>
			<xsd:element name="Serie" type="tsSerieRps"/>
			<xsd:element name="Tipo" type="tsTipoRps"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tcIdentificacaoPrestador">
		<xsd:sequence>
			<xsd:element name="Cnpj" type="tsCnpj"/>
			<xsd:element name="InscricaoMunicipal" type="tsInscricaoMunicipal" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tcIdentificacaoTomador">
		<xsd:sequence>
			<xsd:element name="CpfCnpj" type="tcCpfCnpj" minOccurs="0"/>
			<xsd:element name="InscricaoMunicipal" type="tsInscricaoMunicipal" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tcDadosTomador">
		<xsd:sequence>
			<xsd:element name="IdentificacaoTomador" type="tcIdentificacaoTomador" minOccurs="0"/>
			<xsd:element name="RazaoSocial" type="tsRazaoSocial" minOccurs="0"/>
			<xsd:element name="Endereco" type="tcEndereco" minOccurs="0"/>
			<xsd:element name="Contato" type="tcContato" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tcIdentificacaoIntermediarioServico">
		<xsd:sequence>
			<xsd:element name="RazaoSocial" type="tsRazaoSocial"/>
			<xsd:element name="CpfCnpj" type="tcCpfCnpj"/>
			<xsd:element name="InscricaoMunicipal" type="tsInscricaoMunicipal" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tcValores">
		<xsd:sequence>
			<xsd:element name="ValorServicos" type="tsValor"/>
			<xsd:element name="ValorDeducoes" type="tsValor" minOccurs="0"/>
			<xsd:element name="ValorPis" type="tsValor" minOccurs="0"/>
			<xsd:element name="ValorCofins" type="tsValor" minOccurs="0"/>
			<xsd:element name="ValorInss" type="tsValor" minOccurs="0"/>
			<xsd:element name="ValorIr" type="tsValor" minOccurs="0"/>
			<xsd:element name="ValorCsll" type="tsValor" minOccurs="0"/>
			<xsd:element name="IssRetido" type="tsSimNao"/>
			<xsd:element name="ValorIss" type="tsValor" minOccurs="0"/>
			<xsd:element name="ValorIssRetido" type="tsValor" minOccurs="0"/>
			<xsd:element name="OutrasRetencoes" type="tsValor" minOccurs="0"/>
			<xsd:element name="BaseCalculo" type="tsValor" minOccurs="0"/>
			<xsd:element name="Aliquota" type="tsAliquota" minOccurs="0"/>
			<xsd:element name="ValorLiquidoNfse" type="tsValor" minOccurs="0"/>
			<xsd:element name="DescontoIncondicionado" type="tsValor" minOccurs="0"/>
			<xsd:element name="DescontoCondicionado" type="tsValor" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tcDadosServico">
		<xsd:sequence>
			<xsd:element name="Valores" type="tcValores"/>
			<xsd:element name="ItemListaServico" type="tsItemListaServico"/>
			<xsd:element name="CodigoCnae" type="tsCodigoCnae" minOccurs="0"/>
			<xsd:element name="CodigoTributacaoMunicipio" type="tsCodigoTributacao" minOccurs="0"/>
			<xsd:element name="Discriminacao" type="tsDiscriminacao"/>
			<xsd:element name="CodigoMunicipio" type="tsCodigoMunicipioIbge"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tcDadosConstrucaoCivil">
		<xsd:sequence>
			<xsd:element name="CodigoObra" type="tsCodigoObra"/>
			<xsd:element name="Art" type="tsArt"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tcDadosPrestador">
		<xsd:sequence>
			<xsd:element name="IdentificacaoPrestador" type="tcIdentificacaoPrestador"/>
			<xsd:element name="RazaoSocial" type="tsRazaoSocial"/>
			<xsd:element name="NomeFantasia" type="tsNomeFantasia" minOccurs="0"/>
			<xsd:element name="Endereco" type="tcEndereco"/>
			<xsd:element name="Contato" type="tcContato" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tcInfRps">
		<xsd:sequence>
			<xsd:element name="IdentificacaoRps" type="tcIdentificacaoRps"/>
			<xsd:element name="DataEmissao" type="xsd:dateTime"/>
			<xsd:element name="NaturezaOperacao" type="tsNaturezaOperacao"/>
			<xsd:element name="RegimeEspecialTributacao" type="tsRegimeEspecialTributacao" minOccurs="0"/>
			<xsd:element name="OptanteSimplesNacional" type="tsSimNao"/>
			<xsd:element name="IncentivadorCultural" type="tsSimNao"/>
			<xsd:element name="Status" type="tsStatusRps"/>
			<xsd:element name="RpsSubstituido" type="tcIdentificacaoRps" minOccurs="0"/>
			<xsd:element name="Servico" type="tcDadosServico"/>
			<xsd:element name="Prestador" type="tcIdentificacaoPrestador"/>
			<xsd:element name="Tomador" type="tcDadosTomador" minOccurs="0"/>
			<xsd:element name="IntermediarioServico" type="tcIdentificacaoIntermediarioServico" minOccurs="0"/>
			<xsd:element name="ConstrucaoCivil" type="tcDadosConstrucaoCivil" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="Id" type="tsIdTag"/>
	</xsd:complexType>
	<xsd:complexType name="tcRps">
		<xsd:sequence>
			<xsd:element name="InfRps" type="tcInfRps"/>
			<xsd:element ref="dsig:Signature" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tcIdentificacaoNfse">
		<xsd:sequence>
			<xsd:element name="Numero" type="tsNumeroNfse"/>
			<xsd:element name="Cnpj" type="tsCnpj"/>
			<xsd:element name="InscricaoMunicipal" type="tsInscricaoMunicipal" minOccurs="0"/>
			<xsd:element name="CodigoMunicipio" type="tsCodigoMunicipioIbge"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tcInfNfse">
		<xsd:sequence>
			<xsd:element name="Numero" type="tsNumeroNfse"/>
			<xsd:element name="CodigoVerificacao" type="tsCodigoVerificacao"/>
			<xsd:element name="DataEmissao" type="xsd:dateTime"/>
			<xsd:element name="IdentificacaoRps" type="tcIdentificacaoRps" minOccurs="0"/>
			<xsd:element name="DataEmissaoRps" type="xsd:date" minOccurs="0"/>
			<xsd:element name="NaturezaOperacao" type="tsNaturezaOperacao"/>
			<xsd:element name="RegimeEspecialTributacao" type="tsRegimeEspecialTributacao" minOccurs="0"/>
			<xsd:element name="OptanteSimplesNacional" type="tsSimNao"/>
			<xsd:element name="IncentivadorCultural" type="tsSimNao"/>
			<xsd:element name="Competencia" type="xsd:dateTime"/>
			<xsd:element name="NfseSubstituida" type="tsNumeroNfse" minOccurs="0"/>
			<xsd:element name="OutrasInformacoes" type="tsOutrasInformacoes" minOccurs="0"/>
			<xsd:element name="Servico" type="tcDadosServico"/>
			<xsd:element name="ValorCredito" type="tsValor" minOccurs="0"/>
			<xsd:element name="PrestadorServico" type="tcDadosPrestador"/>
			<xsd:element name="TomadorServico" type="tcDadosTomador" minOccurs="0"/>
			<xsd:element name="IntermediarioServico" type="tcIdentificacaoIntermediarioServico" minOccurs="0"/>
			<xsd:element name="OrgaoGerador" type="tcIdentificacaoOrgaoGerador"/>
			<xsd:element name="ConstrucaoCivil" type="tcDadosConstrucaoCivil" minOccurs="0"/>
		</xsd:sequence>
		<xsd:attribute name="Id" type="tsIdTag"/>
	</xsd:complexType>
	<xsd:complexType name="tcNfse">
		<xsd:sequence>
			<xsd:element name="InfNfse" type="tcInfNfse"/>
			<xsd:element ref="dsig:Signature" maxOccurs="2"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tcInfPedidoCancelamento">
		<xsd:sequence>
			<xsd:element name="IdentificacaoNfse" type="tcIdentificacaoNfse"/>
			<xsd:element name="CodigoCancelamento" type="tsCodigoCancelamentoNfse"/>
		</xsd:sequence>
		<xsd:attribute name="Id" type="tsIdTag"/>
	</xsd:complexType>
	<xsd:complexType name="tcPedidoCancelamento">
		<xsd:sequence>
			<xsd:element name="InfPedidoCancelamento" type="tcInfPedidoCancelamento"/>
			<xsd:element ref="dsig:Signature" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tcConfirmacaoCancelamento">
		<xsd:sequence>
			<xsd:element name="Pedido" type="tcPedidoCancelamento"/>
			<xsd:element name="DataHora" type="xsd:dateTime"/>
		</xsd:sequence>
		<xsd:attribute name="Id" type="tsIdTag"/>
	</xsd:complexType>
	<xsd:complexType name="tcCancelamentoNfse">
		<xsd:sequence>
			<xsd:element name="Confirmacao" type="tcConfirmacaoCancelamento"/>
			<xsd:element ref="dsig:Signature"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="RetCancelamento">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="NfseCancelamento" type="tcCancelamentoNfse" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="tcInfSubstituicaoNfse">
		<xsd:sequence>
			<xsd:element name="NfseSubstituidora" type="tsNumeroNfse"/>
		</xsd:sequence>
		<xsd:attribute name="Id" type="tsIdTag"/>
	</xsd:complexType>
	<xsd:complexType name="tcSubstituicaoNfse">
		<xsd:sequence>
			<xsd:element name="SubstituicaoNfse" type="tcInfSubstituicaoNfse"/>
			<xsd:element ref="dsig:Signature" maxOccurs="2"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tcCompNfse">
		<xsd:sequence>
			<xsd:element name="Nfse" type="tcNfse"/>
			<xsd:element name="NfseCancelamento" type="tcCancelamentoNfse" minOccurs="0"/>
			<xsd:element name="NfseSubstituicao" type="tcSubstituicaoNfse" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:element name="CompNfse" type="tcCompNfse"/>
	<xsd:element name="ListaMensagemRetorno">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="MensagemRetorno" type="tcMensagemRetorno" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="ListaMensagemRetornoLote">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="MensagemRetorno" type="tcMensagemRetornoLote" maxOccurs="unbounded"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:complexType name="tcMensagemRetorno">
		<xsd:sequence>
			<xsd:element name="Codigo" type="tsCodigoMensagemAlerta"/>
			<xsd:element name="Mensagem" type="tsDescricaoMensagemAlerta"/>
			<xsd:element name="Correcao" type="tsDescricaoMensagemAlerta" minOccurs="0"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tcMensagemRetornoLote">
		<xsd:sequence>
			<xsd:element name="IdentificacaoRps" type="tcIdentificacaoRps"/>
			<xsd:element name="Codigo" type="tsCodigoMensagemAlerta"/>
			<xsd:element name="Mensagem" type="tsDescricaoMensagemAlerta"/>
		</xsd:sequence>
	</xsd:complexType>
	<xsd:complexType name="tcLoteRps">
		<xsd:sequence>
			<xsd:element name="NumeroLote" type="tsNumeroLote"/>
			<xsd:element name="Cnpj" type="tsCnpj"/>
			<xsd:element name="InscricaoMunicipal" type="tsInscricaoMunicipal"/>
			<xsd:element name="QuantidadeRps" type="tsQuantidadeRps"/>
			<xsd:element name="ListaRps">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="Rps" type="tcRps" maxOccurs="unbounded"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attribute name="Id" type="tsIdTag"/>
	</xsd:complexType>
	<xsd:complexType name="tcLoteRps3">
		<xsd:sequence>
			<xsd:element name="NumeroLote" type="tsNumeroLote"/>
			<xsd:element name="Cnpj" type="tsCnpj"/>
			<xsd:element name="InscricaoMunicipal" type="tsInscricaoMunicipal"/>
			<xsd:element name="QuantidadeRps" type="tsQuantidadeRps"/>
			<xsd:element name="ListaRps">
				<xsd:complexType>
					<xsd:sequence>
						<xsd:element name="Rps" type="tcRps" maxOccurs="3"/>
					</xsd:sequence>
				</xsd:complexType>
			</xsd:element>
		</xsd:sequence>
		<xsd:attribute name="Id" type="tsIdTag"/>
	</xsd:complexType>
</xsd:schema>
