Git Product home page Git Product logo

sped-mdfe's People

Contributors

andersonls avatar brunoneve avatar cavassin12 avatar cleitonperin avatar dbemfica avatar gersonfs avatar gitter-badger avatar gleidson2012 avatar guilherme-miranda avatar icompsoftcleiton avatar igorwanbarros avatar jeansilvaofficial avatar jmarcelocjr avatar joaoroyosilva avatar jonasneuberger avatar lcardosozago avatar lucasndias avatar lucaspotter2 avatar maisonsakamoto avatar marciotisouza avatar mastercrash32 avatar mateusperego avatar olavocneto avatar rgarnica avatar robmachado avatar samuelbasso avatar sicoksoftware avatar tavinus avatar uilhianet avatar wgueds avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sped-mdfe's Issues

Download da xml mdf-e

Estou tentando baixar o xml da mdf-e consultando pela chave conforme abaixo. Mas obviamente o response apenas traz dados do evento em si.

Como é possivel gerar o xml completo para depois eu gerar o damdfe?

$response = $nfe->sefazConsultaChave($chave);

V2.0 - Tag condutores (modal Rodoviario)

Ao adivionar condutores e reboque(s) a tag condutores fica atrelada a tag veicReboque, onde conforme o manual v1.00a deve ficar junto da tag veicTracao.

Segue exemplo de MDFe com condutores junto da tag veicReboque.

mdfe

MDFe

Roberto, como esta o andamento em relação o MDF, ta precisando de ajuda em que?

Refatorar para usar as mesmas classes do sped-nfe

No sped-nfe v.5.0.x foram estruturadas uma série de classes com atribuições separadas, o ideal é que este projeto observe as mesmas, pois no momento em que os três projetos estiverem sincronizados e totalmente compatíveis, essas classes auxiliares poderão ser inclusive migradas para o sped-common, deixando o projeto mais enxuto.

Classes importantes que deveriam existir neste projeto:
1 - Complements::class
2 - Convert::class
3 - Common/(várias)
4 - Factories/(várias)

XML Encerramento

Bom dia.
Gostaria de agradecer pelo excelente trabalho nesta biblioteca. No caso encerramento do MDF-e preciso pegar todo o XML de encerramento assinado. Como faço isso?
Obrigado desde ja

Multiplas NFes/CTes

Boa tarde pessoal!

Estou começando com MDFe e CTe, tenho um cliente que gostaria de emitir MDFe (rodoviário), eu achei que era necessário ele usar o CTe também, mas pelo que pesquisei é possível usar apenas o MDFe.

Alguém já fez uma forma de adicionar várias NFes/CTes a um MDFe?

Vou seguir meus testes, e se encontrar pontos para melhoria/exemplo vou contribuir.

Obrigado

Evento de Encerramento ao XML

Estou enfrentando dificuldades ao tentar inserir um evento de encerramento em um MDFe. Após encerrar o MDFe, estou recebendo apenas o infEvento na resposta. Estou usando duas funções públicas dentro da classe Complements, a toAuthorize e a cancelRegister, mas não estou conseguindo incluir o evento de encerramento. Você poderia me fornecer um exemplo de como adicionar esse evento ao XML, o XML de encerramento deve conter o protocolo de encerramento necessário para a averbação.

Bom dia!

Primeiramente, parabéns pelo projeto!
Segundo, a biblioteca está habilitada para uso? Vi do README que esta apenas em testes.
Desde já agradeço!

Grupo produto predominante deve ser informado para modal rodoviário

Bom dia

Acredito ter encontrado um bug na lib. Ao tentar enviar um manifesto rodoviario que o campo tpEmit está com valor 2 está dando o erro “Grupo produto predominante deve ser informado para modal rodoviário”

Seguindo esse link

https://www.oobj.com.br/bc/article/rejei%C3%A7%C3%A3o-725-grupo-produto-predominante-deve-ser-informado-para-modal-rodovi%C3%A1rio-como-resolver-982.html

Percebi que esse erro só poderia aparecer se o tpEmit fosse 1 ou 3, por isso estou enviando uma Pull Request com uma sugestão para a correção desse problema.

sefazEvento - Erro para Emitente Pessoa Física

Boa tarde, na função sefazEvento do arquivo Tools.php está sendo tratado somente o emitente com CNPJ, para fazer funcionar o envio fiz as adaptações:

  • $this->config->cpf para buscar o CPF;
  • "$cpf"ao invés do CNPJ na variável do $request.

Padronizar função "sefazEvento" da classe "Tools"

Somente esse projeto tem a função sefazEvento da classe Tools como protected, o que impossibilita a implementação de novos eventos de forma 'avulsa'. Por exemplo, se eu quiser implementar a manifestação do evento '110116', '110117' ou '110118' não consigo, pois o método não permite ser acessado de fora da classe. Poderiam fazer essa mudança por gentilileza?

Problema com o grupo tagcodAgPorto

Bom dia, tudo bem? Estamos enfrentando problemas ao montar a tag do código de agendamento do porto no MDF-e, sempre que chamo a função ele da a seguinte mensagem

image

Não sei se tem uma ordem certa para passar essa campo, ou se tem algo que deveria chamar antes, tentei verificar pela classe mas não achei nada

Estou utilizando a versão 4.1 da biblio
Desde ja agradeço e no aguardo

Imagem PDF da MDFe

Bom dia a todos! Gostaria de saber se alguém está trabalhando no código para gerar o pdf.

Undefined property: stdClass::$infRec

alguém saberia o motivo do erro?
ele acontece ao tentar enviar o MDF-e

Código em questão:
public function transmitir($signXml)
{
try {
$resp = $this->tools->sefazEnviaLote([$signXml], rand(1, 10000));

		$st = new Standardize();
		$std = $st->toStd($resp);

		sleep(3);

		$recibo = $std->infRec->nRec; 

		$resp = $this->tools->sefazConsultaRecibo($recibo);
		$std = $st->toStd($resp);

               if (!isset($std->protMDFe)) {
			return [
				'erro' => true,
				'message' => 'Tente enviar novamente em minutos!',
				'cStat' => '999'
			];
		}

}

Verificação de código ean

Boa tarde, no sped-nfe tem um método pra verificar o código ean, será que não conseguíamos implementar no sped-mdfe pra verificar o código ean do produto predominante?

Erro ao Assinar o MDFe

Estou passando por um erro estranho.
A tag "veicTracao", exige na documentação os campos: placa, tara, condutor, tpRod, tpCar e UF
Consegui gerar o XML, mas não assina, apresentando a seguinte mensagem:
This XML is not valid. Element '{http://www.portalfiscal.inf.br/mdfe}tpRod': This element is not expected.

Informa que "tpRod" não é esperado, mas verificando o arquivo mdfeModalRodoviario_v3.00.xsd verificamos que o tpRod está lá, normal.

Qual a saída nesse caso?

Segue abaixo a tag "infModal" gerada

    <infModal versaoModal="3.00">
        <rodo>
            <infANTT>
                <RNTRC>05743107</RNTRC>
                <infContratante>
                    <CNPJ>89478957438759</CNPJ>
                </infContratante>
            </infANTT>
            <veicTracao>
                <placa>HVV1234</placa>
                <tara>8350</tara>
                <tpRod>06</tpRod>
                <tpCar>02</tpCar>
                <UF>CE</UF>
            </veicTracao>
        </rodo>
    </infModal>

630 - Rejeição: Falha no Schema XML específico para o evento

Estou fazendo testes com a biblioteca para uma possível implementação em um cliente e me deparei com o erro do título no momento de Encerramento de uma MDF-e, (consegui gerar MDF-e pela biblioteca). Teria como passar um parecer, baseado na sua experiência dos possíveis motivos desse erro retornar? Na internet existem pouquíssimos documentos sobre MDF-e e os que tem não são satisfatórios para essa finalidade!!!

Fiz a comparação do meu XML com o apresentado nesse link, os dois XMLs são exatamente iguais.

Desde já agradeço!!!

Emissão síncrona

A lib já está pronta para emissão no modo síncrona, com as mudanças da NT 2024/001 ?

Dúvida sobre novo campo vAdiant do grupo Comp da Nota Técnica 2021.002

Boa tarde, tenho uma dúvida referente ao novo campo vAdiant no grupo Comp da Nota Técnica 2021.002 referente a adequação do grupo Pagamento.

Conforme a nota publicada, o novo campo vAdiant pertence ao grupo Comp, mas na classe Make.php o novo campo vAdiant está vinculado ao grupo infPag, então na hora de montar o xml da mdfe, não consigo incluir o novo campo vAdiant na tag do grupo Comp, hoje é só possível vincular o campo vAdiant ao grupo infPag, seria necessário uma alteração na classe Make.php para resolver isso?

Padrão de Desenvolvimento

Boa tarde, gostaria de utilizar o projeto e sendo assim vou ajudar no desenvolvimento para que possamos gerar uma verão estável. Ainda estou estudando o código e sobre o próprio MDF-e, mas me surgiu uma dúvida: os padrões de desenvolvimentos deverão ser seguidos igual ao restante do projeto? Como já citei, ainda estou estudando mas vi algumas diferenças em relação ao restante, como por exemplo, os parâmetros passados para gerar as tags do XML estão recebendo cada informação sendo passada individualmente, isso será ajustado para receber uma stdClass também?

V2.0 - Tag veicTracao

A tag Make::tagVeicTracao() não possibilita informar todos os campos da tag prop (proprietario), onde conforme manual v1.00a todos (CPF, CNPJ, RNTRC, xNome, IE, UF, tpProp) devem ser informados.

Segue exemplo.
mdfe3

Problema para obter a biblioteca com o composer

Boa noite,

Estou atualizando as minhas bibliotecas usando o composer, e reparei que não estou conseguindo a MDFE, depois que atualizei as do NFe, podem me ajudar?

C:\Users\user\Desktop>composer require nfephp-org/sped-mdfe
PHP Warning: Module 'openssl' already loaded in Unknown on line 0

Warning: Module 'openssl' already loaded in Unknown on line 0
PHP Warning: Module 'openssl' already loaded in Unknown on line 0

Warning: Module 'openssl' already loaded in Unknown on line 0
Using version ^2.0 for nfephp-org/sped-mdfe
./composer.json has been updated
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

Problem 1
- Installation request for nfephp-org/sped-mdfe ^2.0 -> satisfiable by nfephp-org/sped-mdfe[v2.0].
- nfephp-org/sped-mdfe v2.0 requires nfephp-org/sped-common ^4.1 -> satisfiable by nfephp-org/sped-common[v4.1.0, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.13, v4.1.14, v4.1.15, v4.1.2, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9, v4.1.x-dev] but these conflict with your requirements or minimum-stability.

Installation failed, reverting ./composer.json to its original content.

V2.0 - Erro ao executar tag infDoc

Ao executar o método Make::montaMDFe() é lançada uma exceção de objeto não instanciado.

Ao verificar a possível causa desse erro foi identificado que ao executar o método Make::zTagInfDoc() a classe já adiciona a quantidade de documentos vinculados (NFe, CTe, MDFe Transporte), porém caso ao adicionar a tag Make::tagTot() e não informar ou não hover totais para algum dos documentos é lançado o erro.

V2.0 - Tag veicReboque adição de tags

  1. Foi observado que a tag reboque deve ser veicReboque;
  2. A tag não possui em seus filhos a tag tpRod;
  3. A tag veicReboque não possui a opção de adicionar proprietario (tag prop);

Segue anexo estrutura de tags gerada.
mdfe2

MDF-e versao versao estavel 4.1.0

A versao estavel 4.1.0 da MDF-e esta mais antiga que a permitida pela receita, estamos usando a DEV-MASTER para produção. Teria como atualizar a versao estavel?

Sugestão de melhoria para alterar termo tratado no MDF-e para masculino

Boa tarde pessoal, passando para deixar uma possível melhoria para o componente (se vocês autorizarem eu subo aqui depois).
Hoje a sefaz trata os eventos do MDF-e tudo em masculino, MDF-e Encerrado com sucesso, MDF-e Cancelado com sucesso, etc.
Posso contribuir com o projeto alterando estes termos?

image

Erro ao instalar/update v3.0 no composer

Não estou conseguindo incluir/fazer update pra versao 3.0 no composer.
O erro é:

  Problem 1
    - nfephp-org/sped-mdfe v3.0.x-dev requires nfephp-org/sped-console dev-develop -> no matching package found.
    - nfephp-org/sped-mdfe v3.0.x-dev requires nfephp-org/sped-console dev-develop -> no matching package found.
    - Installation request for nfephp-org/sped-mdfe v3.0.x-dev -> satisfiable by nfephp-org/sped-mdfe[v3.0.x-dev].

Acho que o branch dev-develop não existe mais no repo sped-console, mas o json ainda aponta pra ele. Eu estou usando os repos git no composer.

No caso seria só modificar o arquivo composer.json pra dev-master em nfe-php/sped-console?
Acho que vou fazer um fork e mudar isso pra já poder começar a testar. Se der certo eu mando um PR com essa modificação.

MDFe 3.0a

Boa tarde pessoal

Alguém já ajustou a versão própria para a 3.00a? Com QR-code?

Abs

Versão 3.00a

Boa tarde pessoal

Alguém já ajustou a versão própria para a 3.00a? Com QR-code?

Abs

MDFE 3.00

esta versão já esta fazendo para 3.00 ?

Não atribuído autorizadores para MDFe na classe BaseTools

Notei que não foi atribuído autorizadores para modelo 58 na classe BaseTools.

https://github.com/nfephp-org/sped-common/blob/master/src/Base/BaseTools.php#L609

Fiquei com dúvidas sobre o $alias estar fixo para RS se $tipo == 'mdfe'

https://github.com/nfephp-org/sped-common/blob/master/src/Base/BaseTools.php#L651

Por fim, o problema que encontrei é que quando chega na linha 650 dá erro, pois não existe $autorizadores['58']

$alias = $autorizadores[$this->modelo][$siglaUF];

Como podemos trabalhar nisso?

Duvida tag infLotacao

Olá,

Estou montando um XML do MDF-e, porém ao informar apenas um documento, entrou na validação abaixo e não gerou o documento.

if (($tpEmit == 1 || $tpEmit == 3) && empty($this->infLotacao) && ($this->contaDoc($this->infCTe) + $this->contaDoc($this->infNFe) + $this->contaDoc($this->infMDFeTransp)) == 1) {
                $this->errors[] = "Tag infLotacao é obrigatória quando só existir um Documento informado!";
}

Na norma técnica 2020.20 página 10 encontrei o seguinte:

Se modal rodoviário e Tipo Emitente for igual a Prestador de Serviço de Transporte
(tpEmit=1) ou transportador que emitirá CT-e globalizado (tpEmit=3) e MDF-e possuir
apenas um DF-e transportado no grupo infDoc:
O grupo de informações da carga lotação (infLotacao) deve estar informado
Observação: regra de validação aplicável em produção a partir de 06/07/2020
[COVID-19]
Facult. 726 Rej.

Está marcando como facultativo, fiz um teste enviando sem essa tag nos moldes dessa validação e enviou normal. Gostaria de saber se está de acordo isso que mencionei.

Grato!
_

Alteração no componente para corrigir validação ao gerar MDF-e

Conforme layout do MDF-e a tag RNTRC (do emitente) não é obrigatória:
image

Porém no componente, ao gerar o MDF-e, temos o seguinte trecho:
image

Ou seja, vemos que é verificado se a tag infANTT está preenchida e em seguida é capturado o RNTRC.

Porém se for informado um CIOT ou Contratante no MDF-e a tag infANTT estará preenchida, mas o RNTRC poderá não estar informado no XML.

Com isso o componente gera uma exceção com a seguinte mensagem:
"Trying to get property 'nodeValue' of non-object"

Pois ele está tentando capturar o RNTRC mesmo quando não está informado.

Com isso deve ser feito uma melhoria para validar realmente se o campo RNTRC estiver preenchido, captura-lo caso contrário não capturar, exemplo que fiz:
image

Aguardo retorno.

Produção MDF-e

Boa noite galera,

Sou novo no mundo fiscal e estou com uma dúvida sobre o sped-mdfe.
Já tenho implementado o sped-nfe só que o meu sped-common instalado no projeto esta com uma versão acima da que o sped-mdfe precisa. Tem alguma forma de utiliza os 2 no mesmo projeto?

Segui o erro quando dou o "composer require nfephp-org/sped-mdfe" ->

Problem 1
- Installation request for nfephp-org/sped-mdfe ^2.0 -> satisfiable by nfephp-org/sped-mdfe[v2.0].
- Conclusion: remove nfephp-org/sped-common v5.0.30
- Conclusion: don't install nfephp-org/sped-common v5.0.30
- nfephp-org/sped-mdfe v2.0 requires nfephp-org/sped-common ^4.1 -> satisfiable by nfephp-org/sped-common[v4.1.0, v4.1.1, v4.1.10, v4.1.11, v4.1.12, v4.1.13, v4.1.14, v4.1.15, v4.1.2, v4.1.3, v4.1.4, v4.1.5, v4.1.6, v4.1.7, v4.1.8, v4.1.9, v4.1.x-dev].
- Can only install one of: nfephp-org/sped-common[v4.1.0, v5.0.30].
- Can only install one of: nfephp-org/sped-common[v4.1.1, v5.0.30].
- Can only install one of: nfephp-org/sped-common[v4.1.10, v5.0.30].
- Can only install one of: nfephp-org/sped-common[v4.1.11, v5.0.30].
- Can only install one of: nfephp-org/sped-common[v4.1.12, v5.0.30].
- Can only install one of: nfephp-org/sped-common[v4.1.13, v5.0.30].
- Can only install one of: nfephp-org/sped-common[v4.1.14, v5.0.30].
- Can only install one of: nfephp-org/sped-common[v4.1.15, v5.0.30].
- Can only install one of: nfephp-org/sped-common[v4.1.2, v5.0.30].
- Can only install one of: nfephp-org/sped-common[v4.1.3, v5.0.30].
- Can only install one of: nfephp-org/sped-common[v4.1.4, v5.0.30].
- Can only install one of: nfephp-org/sped-common[v4.1.5, v5.0.30].
- Can only install one of: nfephp-org/sped-common[v4.1.6, v5.0.30].
- Can only install one of: nfephp-org/sped-common[v4.1.7, v5.0.30].
- Can only install one of: nfephp-org/sped-common[v4.1.8, v5.0.30].
- Can only install one of: nfephp-org/sped-common[v4.1.9, v5.0.30].
- Can only install one of: nfephp-org/sped-common[v4.1.x-dev, v5.0.30].
- Installation request for nfephp-org/sped-common (locked at v5.0.30) -> satisfiable by nfephp-org/sped-common[v5.0.30].

Refatorar para sped-common v5.0

As classes
Tools
Make
devem ser refatoradas para usar a versão v5.0 do sped-common, desta forma garante compatibilidade com o sped-nfe.

Pontos importantes, do sped-common:
1 - Certificate::class
2 - Signer::class
3 - DomImproved::class
4 - Keys::class
5 - Soap/SoapCurl::class

Minha sugestão é refatorar enquanto está em dev ou passa esse banch v3.0, para master e subir um release, temporariamente e abrir um novo branch v.4.0 para essa refatoração que irá com certeza quebrar a compatibilidade com as versões anteriores.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.