Closed Marcosinffoco closed 4 years ago
Parece ser um problema da plataforma da AGT. Uma pergunta, por que é que não declara o elemento TaxCountryRegion
?
Não declarei, pois no edital do documento PDF DP 318 SAFT IVA, informa que TaxCountryRegion é para uso futuro e não tem definição de que tipo de informação tenho de colocar lá. Linha (2.5.1.2) da tabela 2.5 - Tabela de Impostos (TaxTable).
Bem, se já temos informação para isto, claro que declaro.
@Marcosinffoco É verdade, tem razão!
Mas então é uma excelente oportunidade para adicionar Cabinda AO-CAB
no schema, contribuindo para a resolução do problema ao nível da estrutura.
O que vos parece?
<!-- Pais ou regiao de Imposto -->
<xs:element name="TaxCountryRegion">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="AD|AE|AF|AG|AI|AL|AM|AO|AO-CAB|AQ|AR|AS|AT|AU|AW|AX|AZ|BA|BB|BD|BE|BF|BG|BH|BI|BJ|BL|BM|BN|BO|BQ|BR|BS|BT|BV|BW|BY|BZ|CA|CC|CD|CF|CG|CH|CI|CK|CL|CM|CN|CO|CR|CU|CV|CW|CX|CY|CZ|DE|DJ|DK|DM|DO|DZ|EC|EE|EG|EH|ER|ES|ET|FI|FJ|FK|FM|FO|FR|GA|GB|GD|GE|GF|GG|GH|GI|GL|GM|GN|GP|GQ|GR|GS|GT|GU|GW|GY|HK|HM|HN|HR|HT|HU|ID|IE|IL|IM|IN|IO|IQ|IR|IS|IT|JE|JM|JO|JP|KE|KG|KH|KI|KM|KN|KP|KR|KW|KY|KZ|LA|LB|LC|LI|LK|LR|LS|LT|LU|LV|LY|MA|MC|MD|ME|MF|MG|MH|MK|ML|MM|MN|MO|MP|MQ|MR|MS|MT|MU|MV|MW|MX|MY|MZ|NA|NC|NE|NF|NG|NI|NL|NO|NP|NR|NU|NZ|OM|PA|PE|PF|PG|PH|PK|PL|PM|PN|PR|PS|PT|PW|PY|QA|RE|RO|RS|RU|RW|SA|SB|SC|SD|SE|SG|SH|SI|SJ|SK|SL|SM|SN|SO|SR|SS|ST|SV|SX|SY|SZ|TC|TD|TF|TG|TH|TJ|TK|TL|TM|TN|TO|TR|TT|TV|TW|TZ|UA|UG|UM|US|UY|UZ|VA|VC|VE|VG|VI|VN|VU|WF|WS|XK|YE|YT|ZA|ZM|ZW|PT-AC|PT-MA" />
<xs:minLength value="2" />
<xs:maxLength value="6" />
</xs:restriction>
</xs:simpleType>
</xs:element>
Code | Province name |
---|---|
AO-BGO | Bengo |
AO-BGU | Benguela |
AO-BIE | Bié |
AO-CAB | Cabinda |
AO-CCU | Cuando-Cubango |
AO-CNO | Kwanza Norte |
AO-CUS | Kwanza Sul |
AO-CNN | Cunene |
AO-HUA | Huambo |
AO-HUI | Huíla |
AO-LUA | Luanda |
AO-LNO | Lunda Norte |
AO-LSU | Lunda Sul |
AO-MAL | Malange |
AO-MOX | Moxico |
AO-NAM | Namibe |
AO-UIG | Uíge |
AO-ZAI | Zaire |
Fonte: ISO 3166-2:AO Wikipedia
Lopes. Eu até impostei esta tabela de países para dentro do meu banco de dados. até faz parte agora das informações dos clientes e fornecedores. até coloquei também no cabeçalho da factura.
Vou usar então esta informação.
Até o momento no meu código deixei esta linha só de comentário, para quando a AGT definisse esta linha, já esta pronto na posição hierárquica da estrutura XML.
Estava com o mesmo problema, e não sabia como proceder @Marcosinffoco vou seguir o que tu fez( omitir o segundo e o terceiro) por enquanto, até termos uma solução.
EloneSampaio, Garanto que se colocarmos mesmo certas dúvidas e respostas a estas dúvidas, vamos conseguir ter um SAFT AO bem melhorado.
Tento compartilhar o pouco que sei. Bati com a cabeça sozinho por muito tempo. Lendo e Relendo o meu código e analisava as falhas e entrava num beco sem saída.
Sai do grupo do Whatapp a um tempo atrás, quando houve uma invasão de pessoas que diziam ser técnicos da AGT e estavam bagunçando o grupo com besteiras. Sei que lembram disto. Ao menos aqui neste site tem gente séria trabalhando.
cryptolopes, muito obrigado em dar atenção aqui a este programador de fundo de quintal..rs
Bem, vamos a frente. depois posto mais dúvidas, para manter o grupo mais activo..rs
obrigado mesmo a este grupo de trabalho.
@cryptolopes
Aproveitei então a dica e o que fiz no sistema:
Criei uma tabela dentro do banco de dados usando a tabela ISO (ISO 3166-2:AO) que esta na página na internet. Aproveitei também e criei um campo de relacionamento com o campo de identificação da província nas minhas tabelas de cliente, fornecedores e na empresa que irá facturar (na ficha dos dados da empresa que factura), para padronizar de uma vez, junto com o campo que indica o país que segue a mesma orientação Tabela ISO.
No final, esta informação é incorporada no XML. Deu trabalho para restruturar, DEU, mas ao menos é uma informação simples que padroniza algumas caracteristicas de clientes e fornecedores.
Modelo Novo da TaxTable Com o incremento do campo TaxCountryRegion, que antes estava definido para uso futuro. O campo sempre existiu na minha estrutura, mas só deixei ele a espera de uma definição. Quando o campo não tem informação, o meu sistema simplesmente omite o campo e não considerava como obrigatório.
TaxCountryRegion>AO-LUA</TaxCountryRegion
<TaxTable>
<TaxTableEntry>
<TaxType>IVA</TaxType>
<TaxCountryRegion>AO-LUA</TaxCountryRegion>
<TaxCode>ISE</TaxCode>
<Description>IMPOSTO SOBRE O VALOR ACRESCENTADO</Description>
<TaxExpirationDate>2019-07-02</TaxExpirationDate>
<TaxPercentage>0.00000</TaxPercentage>
</TaxTableEntry>
</TaxTable>
Muito obrigado @cryptolopes e fica a dica para muitos de como podem usar esta informação.
@EloneSampaio , olhe o que pode fazer com isto.
Bom Fim de semana.
PROBLEMA NA VALIDAÇÃO DO TaxCountryRegion Pessoal,
ATENÇÃO
O validador do portal não considera o TaxCountryRegion com a informação da Província.
Ele considera é o código do pais, pelo menos no validador do Portal da AGT esta dando esta mensagem a baixo, quando informei a região que a empresa esta (AO-LUA):
Preenchimento errado, o campo AuditFile.MasterFiles.TaxTable.1TaxTableEntry.TaxCountryRegion só deve ser preenchido com (AO)
Pelos vistos, não aceitam a região do pais e sim o pais. Não tem muita lógica isto, pois o IVA é de Angola e não de outro pais.
Acho que se este campo é para ser bem usado, seria desta maneira com informação da província.
Algo para refletir.
TaxCountryRegion>AO-LUA</TaxCountryRegion
<TaxTable> <TaxTableEntry> <TaxType>IVA</TaxType> <TaxCountryRegion>AO-LUA</TaxCountryRegion> <TaxCode>ISE</TaxCode> <Description>IMPOSTO SOBRE O VALOR ACRESCENTADO</Description> <TaxExpirationDate>2019-07-02</TaxExpirationDate> <TaxPercentage>0.00000</TaxPercentage> </TaxTableEntry> </TaxTable>
@Marcosinffoco
Vamos com calma.
Primeiro a proposta não é o de adicionar todas as províncias no pattern. Não existe essa necessidade. Basta adicionar a província de Cabinda AO-CAB
, porque é a única que há data beneficia de um regime excecional.
Há um outro elemento o para qual desejo chamar à atenção, que o TaxExpirationDate
. Este elemento só se usa quando se pretende inutilizar um subelemento do TaxTableEntry
.
O validador do portal não considera o TaxCountryRegion com a informação da Província.
Claro que não. Ainda não.
Proposta
ac46e581b030b8a82e45dfd65e11619d55940492
@cryptolopes @EloneSampaio
Descobri o problema de duplicidade no TAXTABLE
A tabela TAXTABLE, já consegui entender sobre a duplicidade, bastava acrescentar informações extras em Description, pois eu só informava “IMPOSTO SOBRE O VALOR ACRESCENTADO”, agora passei a incrementar com o percentual de 14%, 2% quando houver taxa a 2% e quando tiver isenção. Então fica no caso de 14%: “IMPOSTO SOBRE O VALOR ACRESCENTADO 14"
Quando tiver taxa a 2%, caso de Cabinda. “IMPOSTO SOBRE O VALOR ACRESCENTADO 2"
Caso isento: “IMPOSTO SOBRE O VALOR ACRESCENTADO ISE"
Passou no validador.
Muito útil, obrigado por compartilhar.
Em ter, 19 de mai de 2020 11:13, Marcosinffoco notifications@github.com escreveu:
@cryptolopes https://github.com/cryptolopes @EloneSampaio https://github.com/EloneSampaio
Descobri o problema de duplicidade no TAXTABLE
A tabela TAXTABLE, já consegui entender sobre a duplicidade, bastava acrescentar informações extras em Description, pois eu só informava “IMPOSTO SOBRE O VALOR ACRESCENTADO”, agora passei a incrementar com o percentual de 14%, 2% quando houver taxa a 2% e quando tiver isenção. Então fica no caso de 14%: “IMPOSTO SOBRE O VALOR ACRESCENTADO 14"
Quando tiver taxa a 2%, caso de Cabinda. “IMPOSTO SOBRE O VALOR ACRESCENTADO 2"
Caso isento: “IMPOSTO SOBRE O VALOR ACRESCENTADO ISE"
Passou no validador.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/assoft-portugal/SAF-T-AO/issues/60#issuecomment-630846585, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABY5VGQVDERIONONIIYGNCTRSKHY3ANCNFSM4LYSX2OQ .
Saudações, pessoal eu implementei a geração do XML do SAF-T-AO no meu sistema e agora preciso saber como faço pra ele ser homologado pela agt. Existe algum canal de comunicação pra agt pra isso? Quais procedimentos eu preciso seguir pra poder colocar a funcionalidade em produção.
Em ter, 19 de mai de 2020 15:09, Elone Sampaio elonesampaio@gmail.com escreveu:
Muito útil, obrigado por compartilhar.
Em ter, 19 de mai de 2020 11:13, Marcosinffoco notifications@github.com escreveu:
@cryptolopes https://github.com/cryptolopes @EloneSampaio https://github.com/EloneSampaio
Descobri o problema de duplicidade no TAXTABLE
A tabela TAXTABLE, já consegui entender sobre a duplicidade, bastava acrescentar informações extras em Description, pois eu só informava “IMPOSTO SOBRE O VALOR ACRESCENTADO”, agora passei a incrementar com o percentual de 14%, 2% quando houver taxa a 2% e quando tiver isenção. Então fica no caso de 14%: “IMPOSTO SOBRE O VALOR ACRESCENTADO 14"
Quando tiver taxa a 2%, caso de Cabinda. “IMPOSTO SOBRE O VALOR ACRESCENTADO 2"
Caso isento: “IMPOSTO SOBRE O VALOR ACRESCENTADO ISE"
Passou no validador.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/assoft-portugal/SAF-T-AO/issues/60#issuecomment-630846585, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABY5VGQVDERIONONIIYGNCTRSKHY3ANCNFSM4LYSX2OQ .
Boa noite. Segundo o novo esquema XSD, se temos dois impostos (IVA) com taxas diferentes, deve ser assim: Tipo: IVA-Taxa normal; Percentagem: 14%
Tipo: IVA-Taxa reduzida; Percentagem: 5%.
Na verdade, não sabia da taxa de 2%.
@AfonsoMenata
<TaxCode>RED</TaxCode>
TaxTable - Tabela de impostos
Normalmente declaramos aqui os impostos que existem no SAFT AO do movimento do cliente.
Um cliente que esta com isenção ao IVA - Regime transitório, declaramos da seguinte forma, em MasterFiles:
E temos a seguinte situação, quando encontramos um cliente que esta no regime geral
E agora a seguinte situação, quando este mesmo cliente que esta em Cabinda
Sabendo que Cabinda esta numa região de regime especial, tendo dois tipos de percentuais do IVA.
Tipos de IVA:
Deveríamos ter declarado da seguinte maneira, pelo menos na lógica:
Questão e dúvidas:
Se tenho , supostamente, dois à três variações, pois é a realidade, o validador reclama que tem mais de um tipo de imposto declarado. Sabendo que tenho percentuais diferentes.
Para ultrapassar, tenho que omitir o segundo e o terceiro, deixando declarado somente o de 14% ou qualquer uma delas.
A minha analise na codificação esta correcta?
Se sim, há um defeito no validador?
Ou tenho que proceder eternamente assim?
Acho que são questões que muitos aqui já passaram e se questionaram.