Tfacuracionecotronica v4.0
Esta é uma livraria que serve para gerar uma fatura eletrônica (CFDI) de acordo com os artigos e leis estabelecidos na Lei do México e definidos pelo SAT.
O objetivo é servir como uma biblioteca gratuita, código aberto, fácil de usar, no qual com o esforço da comunidade é sempre atualizado e funcional.
Alguns aspectos que esta biblioteca procura ter:
- Estar em vigor (atualizado)
- Não depende de bibliotecas comerciais.
- Seja fácil de usar.
- Isso pode ser facilmente integrado a qualquer projeto existente.
- Faça testes de unidade automatizados para corroborar o funcionamento adequado de cada função e classe.
- Ser implementado nas classes (siga as regras de programação orientadas ao objeto).
- Ocultar os detalhes/técnicos da implementação para o usuário final (o programador que usa a classe).
Requisitos técnicos
- Tenha uma edição da Delphi (no momento, apenas a operação é garantida em Delphi Seattle)
- Libaay32.dll Bibliotecas, SSLEAY32.DLL e o executável openSSL.exe (apenas para testes automatizados) que estão na liga seguinte: http://www.opessl.org/related/binin.html
Limitações
From version 2.0 of the bookstore, which implements the support for CFDI V3.3 (July 2017), the use of the auto classes generated by Delphi is standardized for the management of the XML of the vouchers allowing the use of all the nodes, attributes and properties of each version as defined by the SAT, however the validations of the fields are omitted and now this responsibility will be in charge of the programmer of the programmer. Livraria
Por exemplo, a livraria permitirá que você preencha o atributo Total da fatura com uma corrente, que não está correta, mas no nível XML é válida.
Fornecedores de certificação autorizados (PAC) apoiados pela v2.0
- Ecodex - http://www.ecodex.com.mx
- Finkok - Colaboração de @ptorres
- Merciodigital - Colaboração de @ptorres
- Solução viável - colaboração de @ffaccinetto
- Multifacturas - http://www.multifacturas.com - Colaboração de @fdueas
Acessórios de fatura suportados
Para CFDI 4.0
- Vía OOP, usando classes auto -geradas por meio do banco de dados XML de Delphi (ixmldocument, ixmlNode, etc.)
- Timbre fiscal digital 1.1
- Complemento de pagamento 2.0
- Impostos locais 1.0
- Comércio Exterior 1.1 - Colaboração de @fdUeas
- Payroll 1.2 - Colaboração de @fdUeas
- Public Noties 1.0 - Colaboração de @fdUeas
Para CFDI 3.3
- Vía OOP, usando classes auto -geradas por meio do banco de dados XML de Delphi (ixmldocument, ixmlNode, etc.):
- Timbre fiscal digital 1.1
- Impostos locais 1.0
- Complemento de pagamento 1.0
- Comércio Exterior 1.1 - Colaboração de @fdUeas
- Payroll 1.2 - Colaboração de @fdUeas
- Public Noties 1.0 - Colaboração de @fdUeas
- Manual:
- Todos: o Chain Chain_3_3.xslt foi modificado para que qualquer um dos complementos implementados pelo SAT até o momento (2018-09-28) seja levado em consideração quando a cadeia original é gerada, com isso, embora não haja classe específica para um complemento (complemento: complemento: complemento: complemento: complemento: complemento: complemento: complemento: complemento: complemento: complemento: complemento: complemento: complemento: complemento: complemento: complemento: complemento: complemento: eg: complemento: complemento: complemento: complemento: complemento: complemento: complemento: eg: complemento: complemento: complemento: complemento: complemento: complemento: eg: complemento: complemento: complemento: complemento: complemento: eg: complemento: complemento: complemento: complemento:
- Icomprobantefiscalv33.complement.addnode (<leplement>) -> nova instância ixmlnode
- Ixmlnode.addnode (<nome_nodohijo>)
- Ixmlnode.findnode (<Name_NODOHIX>)
- Ixmlnode.attributenodes [<Name_Name>]. Texto
- Para obter mais informações sobre como trabalhar com os nós XML em Delphi, consulte: http://docwiki.embarcadero.com/radstudio/tokyo/en/working_with_xml_nodes
- O complemento adicionado manualmente deve cumprir as especificações estabelecidas pelo SAT para o referido complemento. Para obter mais informações, consulte a documentação técnica do complemento a ser adicionada.
Documentação técnica
A partir da v2.0 da livraria, o projeto, a estrutura, sua operação etc. foi extensivamente documentado. Para fazer isso, convidamos você a consultar https://github.com/bambucode/tfactuelaCetranica/wiki
Ausente?
Em janeiro de 2022, há uma falta de implementação do seguinte (em ordem de importância):
Geração CFDI 4.0 Integrar o complemento de pagamento 2.0 CFDI Reading 3.3 Geração CBB com alterações para CFDI 3.3 . Geração para geração/leitura do CFDI 3.2 (para fins de compatibilidade e migração) Lançar exceções com base no CATALOGO DE ERROS CFDI 3.3 (Parcial) Para poder incluir impostos locais (3.2 e 3.3) . Complemento de pagamento Com a ajuda de @ffaccinetto- Outros acessórios (donutatórios, hidrocarbonetos, etc.)
- Testes de unidade
- Valitações de campos com base nos vários catálogos publicados pelo SAT.
Suporte para edições anteriores de Delphi 7, Delphi 2007, 2010, XE1 etc. Com a ajuda de @fdUeas- Realize testes em Delphi 2007, Delphi 2009 e Delphi 2010
Notas de compatibilidade com outras versões de Delphi
O suporte com o Delphi 10.3 foi adicionado e testado com sucesso; portanto, não deve haver problemas com o Delphi 2009 e 2010 e outras versões intermediárias.
Para suporte com Delphi 7, Delphi 2007, Delphi 2009 e Delphi 2010, é necessário usar a livraria tperlregexp para o uso de expressões regulares, porque o suporte nativo para este último foi adicionado a Delphi Xe1.
- Isso é encontrado na pasta: lib/externa/legado/tperlregex (adicionado 2018-09-25)
- Também pode ser baixado na página: https://www.regular-expressions.info/delphi.html ou diretamente de: https://www.regular-expressions.info/download/tperlregex.zip
- Além disso, uma cópia da referida livraria é preservada do repositório: https://github.com/fdueas/tperlregex
- Depois que o arquivo for baixado, extrai -o na pasta de sua conveniência
- Adicione a pasta que contém os arquivos ao caminho da biblioteca do projeto (compilador do Project/Option/Delphi/caminho de pesquisa) ou Delphi IDE (Ferramentas/Opções do ambiente/Library/Library Path)
- Para obter mais informações sobre o uso desta livraria, consulte: https://www.regular-expressions.info/delphi.html
- Para que o comércio digital do PAC funcione, a biblioteca do Synacode é necessária, está localizada no Conselho de Administração da Lib Synapse
Como posso ajudar?
A livraria foi lançada ao público há mais de 8 anos, mas ainda há muito trabalho a fazer. Você pode começar a verificar a seção "Problemas" do projeto para ver que pode colaborar, uma vez que você possa enviar uma solicitação de tração para implementar suas alterações.
Se você estiver interessado em melhorar, estender ou corrigir esta livraria para o benefício da comunidade e o crédito para você, entre em contato através do fórum oficial da livraria em https://github.com/bambucode/tfactuelaCetranica/discussions
Suporte técnico
O suporte técnico é feito através da comunidade no fórum oficial da livraria, que pode ser acessada em: https://github.com/bambucode/tfactuelaCetranica/discussions. Além disso, se você encontrar alguma falha ou desejar alguma funcionalidade, relate -a nesta página na seção "Problemas" para que outros usuários possam colaborar e encontrar uma solução como comunidade, agradecemos a tentar corrigir qualquer problema antes de relatá -lo para pelo menos saber que você tentou resolvê -la em sua conta.
Notas adicionais
O executável que essa biblioteca usa deve ter os arquivos DLL OpenSSL no mesmo aplicativo do aplicativo para que possa funcionar. Considere isso ao gerar um instalador ou distribuirá seu aplicativo final.
Ícone fornecido por: http://pc.de/icons/
Compatibilidade com versões
A biblioteca foi testada apenas com o Delphi 10.3; portanto, não deve haver problemas com versões intermediárias e, embora tenha tentado manter a compatibilidade com as versões desde o Delphi 7, se for encontrado um erro, o favor de relatá -lo o mais rápido possível. Especialmente as rotinas de geração do CFDI v3.2 não foram testadas em versões antes do Delphi Xe2. Antes de realizar testes com versões anteriores do RAD Studio XE1, é importante ler a seção "Notas de compatibilidade com outras versões do Delphi".
Colaboradores atuais.
- Ing. Luis Carrasco - Código Bambú sa de CV - http://github.com/lcarrasco
- Ing. Eduardo Padilla - Código Bambú sa de CV - https://github.com/epadillac
- Ing. Pablo Torres - http://www.tecsis.mx
- Felipe Faccinetto - https://github.com/ffaccinetto
- Sr. Francisco Armando Dueñas Rodriguez - https://github.com/fdueas