Git Product home page Git Product logo

sped-efdreinf's People

Contributors

eodantas avatar evernovak avatar gabrielcarvalhohardness avatar laurocj avatar leonardorezende-planejar avatar luizeduardogodoy avatar robmachado avatar rodrigooliveiraxavier 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

Watchers

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

sped-efdreinf's Issues

Ajuste no regex dos valores permitidos para o atributo infocadastro -> classtrib

Ajuste no regex dos valores permitidos para o atributo infocadastro -> classtrib

De
"pattern": "^(01|02|03|04|06|07|08|09|10|11|13|14|21|22|60|70|80|85|99)$"
Para
"pattern": "^(00|01|02|03|04|06|07|08|09|10|11|13|14|21|22|60|70|80|85|99)$"

Valor "00" é usado para limpar a base de produção restrita.

Arquivo: evtInfoContribuinte.schema

R4020 - is not a valid value of the local atomic type

Boa tarde!
Pessoal, estou precisando de ajuda, já pesquisei bastante na internet e não encontrei solução.

Ao gerar um evento R4020 estou recebendo a mensagem de erro abaixo:

Ocorreu um exceção no arquivo /home/siafc/efd-reinf-project/vendor/nfephp-org/sped-common/src/Exception/ValidatorException.php na linha:22 Erro:Este XML não é válido. Element '{http://www.reinf.esocial.gov.br/schemas/evt4020PagtoBeneficiarioPJ/v2_01_02}evtRetPJ', attribute 'id': 'ID106554026000000202310111514149,874' is not a valid value of the local atomic type.

Como corrigir este problema?

Alteração das URLs de envio de lote assincrono por API

vide http://sped.rfb.gov.br/pagina/show/5988

Produção Restrita :
Endpoint Recepção (POST) : https://pre-reinf.receita.economia.gov.br/recepcao/lotes
Endpoint Consulta (GET) : https://pre-reinf.receita.economia.gov.br/consulta/lotes/{numeroProtocolo}
Documentação swagger (disponível somente em produção restrita) :
API Recepção : https://pre-reinf.receita.economia.gov.br/recepcao/swagger/index.html
API Consulta : https://pre-reinf.receita.economia.gov.br/consulta/swagger/index.html

Produção :
Endpoint Recepção (POST) : https://reinf.receita.economia.gov.br/recepcao/lotes
Endpoint Consulta (GET) : https://reinf.receita.economia.gov.br/consulta/lotes/{numeroProtocolo}

(* Atenção : As APIs de produção acima ainda não estão disponíveis para uso. Estarão disponíveis
na data a ser informada no portal do Sped)

Problema na emissão do evento R-1070 em modo ALT (Alteração)

Boa tarde.

Encontrei um possível problema ao tentar emitir um evento de retificação R-1070, estou tentando da seguinte maneira

// deve existir um evento TabProcesso para cada processo com sentença favorável ao
// declarante na redução ou suspenção de recolhimento da contribuição
$std = new \stdClass();
// $std->sequencial = 1; //Opcional se não informado será gerado automaticamente
$std->tpproc     = 2; // Obrigatório 1 - Administrativo;  2 - Judicial.
$std->nrproc     = '06154724520098200001'; // Obrigatório  numero do processo
$std->inivalid   = '2024-02'; // Obrigatório inico da validade
$std->fimvalid   = '2024-04'; // Opcional não deve ser declarado a não ser na ALTERAÇÃO
$std->indautoria = 1; // Obrigatório 1 - Próprio Contribuinte 2 - Outra Entidade ou Empresa
$std->modo       = 'ALT'; // Obrigatório INC-inclusao ALT-alteraçaão EXC-exclusao

// indicar somente quando for uma alteração com novo periodo de validade
$std->novavalidade           = new \stdClass(); // Opcional
$std->novavalidade->inivalid = '2024-02'; // Obrigatório inicio da validade dessa nova informação
$std->novavalidade->fimvalid = '2024-04'; // Opcional não deve ser declarado o fim da validade, isso é usado em casos RAROS onde se sabe a data que o evento será modificado

// Informações de Suspensão de Exigibilidade de tributos podem existir de 1 até 50
$std->infosusp[0]          = new \stdClass(); // Obrigatório
$std->infosusp[0]->codsusp = '234567890123'; // Opcional Código do Indicativo da Suspensão
$std->infosusp[0]->indsusp = '01'; // Obrigatório Indicativo de suspensão da exigibilidade:
// 01 - Liminar em Mandado de Segurança;
// 02 - Depósito Judicial do Montante Integral
// 03 - Depósito Administrativo do Montante Integral
// 04 - Antecipação de Tutela;
// 05 - Liminar em Medida Cautelar;
// 08 - Sentença em Mandado de Segurança Favorável ao Contribuinte;
// 09 - Sentença em Ação Ordinária Favorável ao Contribuinte e Confirmada pelo TRF;
// 10 - Acórdão do TRF Favorável ao Contribuinte;
// 11 - Acórdão do STJ em Recurso Especial Favorável ao Contribuinte;
// 12 - Acórdão do STF em Recurso Extraordinário Favorável ao Contribuinte;
// 13 - Sentença 1ª instância não transitada em julgado com efeito suspensivo;
// 90 - Decisão Definitiva a favor do contribuinte (Transitada em Julgado);
// 92 - Sem suspensão da exigibilidade

$std->infosusp[0]->dtdecisao   = '2024-03-11'; // Obrigatório Data da decisão, sentença ou despacho administrativo
$std->infosusp[0]->inddeposito = 'S'; // Obrigatório Indicativo de Depósito do Montante Integral
// S - Sim;
// N - Não.

// Informações Complementares do Processo Judicial
$std->dadosprocjud           = new \stdClass(); // Opcional
$std->dadosprocjud->ufvara   = 'SP'; // Obrigatório UF da vara judicial
$std->dadosprocjud->codmunic = '3550308'; // Obrigatório codigo municipio IBGE
$std->dadosprocjud->idvara   = '133'; // Obrigatório Código de Identificação da Vara

Problemas

  • Ao tentar emitir o evento no modo inclusão (modo = INC), ocorre que o fim da validade (fimvalid) não é incluido no XML, não entendi o porquê, pois no manual, esse campo é opcional tanto na tag de inclusao quando na de alteracao.
  • Ao tentar emitir um evento em modo alteração (modo = ALT), ocorre que o pacote força a inserção do fim da validade (fimvalid), assim como a inclusão da nova validade (novavalidade), até aí OK, só que estou recebendo o seguinte retorno da API

MS1194 - Em caso de alteração, deve existir registro, na tabela de processos, com o mesmo tipo, número de processo e período de validade informados no evento nas tags iniValid e fimValid do grupo alteração.

Nesse caso tanto tipo, número processo e período de validade, correspondem a chave única desse registro.

E como a inclusão do evento em questão, foi feito da seguinte maneira, acaba ocorrendo o problema pois essa chave não existe

$std = new \stdClass();
// $std->sequencial = 1; //Opcional se não informado será gerado automaticamente
$std->tpproc     = 2; // Obrigatório 1 - Administrativo;  2 - Judicial.
$std->nrproc     = '06154724520098200001'; // Obrigatório  numero do processo
$std->inivalid   = '2024-02'; // Obrigatório inico da validade
// $std->fimvalid   = '2024-03'; // (Aqui mesmo inserindo o campo o sistema não adiciona esse valor ao XML)
$std->indautoria = 1; // Obrigatório 1 - Próprio Contribuinte 2 - Outra Entidade ou Empresa
$std->modo       = 'INC'; // Obrigatório INC-inclusao ALT-alteraçaão EXC-exclusao

Solução

  • Remover a regra de que em modo ALT deve existir o fimvalid
  • Permitir a inclusão do fimValid no modo de inclusão (MOD = INC), seguindo a definição do manual

image

Chave no array de config

Olá,

estava olhando o config do R-1000

$config = [
    'tpAmb' => 2, //tipo de ambiente 1 - Produção; 2 - Produção restrita
    'verProc' => '0_1_3', //Versão do processo de emissão do evento. Informar a versão do aplicativo emissor do evento.
    'eventoVersion' => '1_03_02', //versão do layout do evento
    'serviceVersion' => '1_03_02',//versão do webservice
    'empregador' => [
        'tpInsc' => 1,  //1-CNPJ, 2-CPF
        'nrInsc' => '99999999', //numero do documento
        'nmRazao' => 'Razao Social'
    ],    
    'transmissor' => [
        'tpInsc' => 1,  //1-CNPJ, 2-CPF
        'nrInsc' => '99999999999999' //numero do documento
    ]
];

E vi que nos eventos do Reinf, não existe a figura "Empregador" e sim "Contribuinte", na configuração deveria ser contribuinte, correto?

Problema no método Tools->getIdFromXml, não está identificando o grupo do evento corretamente

Ao gerar um evento R-2010 e tentar transmiti-lo utilizando o método enviaLoteXmlAssincrono, está lançando uma exceção, só que estou informando o grupo correto, segue trecho do código.

 $xml = Event::evtServTom($configJson, $std, $certificate)->toXml();
 $axml[] = $xml;

 $response = $tools->enviaLoteXmlAssincrono($tools::EVT_PERIODICOS, $axml);

Resultado:

Exception O grupo correto deve ser declarado e não pode diferirdo grupo dos eventos

Pelo que identifiquei o mapeamento dos ids no método getIdFromXml está errado.

image

Na classe ToolsBase o mapeamento dos grupos está da seguinte maneira

image

evtTotal (R-5001)

Provável falha no XSD do evento. Que diverge da documentação fornecida.

Vide campo infoRecEv, ele consta no grupo ideRecRetorno e também no grupo evtTotal no XSD, mas não ocorre na documentação.

Guia de utilização + EvtPgtosDivs (R-2070) em 2019

Não estou encontrando algum guia sobre a biblioteca (EFD-ReInf em específico) ou sobre a transmissão desse evento (R-2070) em específico, não me refiro à como clonar ou fazer coisas de php/composer ou organização de projetos, mas à um "fluxo obrigatório" ou guia/pacote de informações/validações necessários para que o pacote seja validado e enviado.

Sobre o evento R-2070, vi que até a versão 1.03.02 esta biblioteca possuía o factory e schemes, mas na 1.04 ele tem somente o Fake (talvez por ter sido suspenso até o fim de 2018).

Após algumas pesquisas, vi que o fluxo poderia ser como:

  1. Puxar tabelas de referência da Receita/Fazenda
  2. Cadastrar informações da empresa (R-1000)
  3. Cadastrar evento periódio (período do grupo de itens a ser enviado) (R-1070)
  4. Cadastrar ítens (NFe) nesse período (R-2070)
  5. Fechar o período transmitindo pra receita o que foi feito. (R-1070)

(Os eventos posteriores como correção e re-envio seriam opcionais)

Imagens de guia:
image

Crítica do campo data final vazia - operação ALT (alteração) do R1000

Boa tarde,

Sou analista judiciário e trabalho no projeto efd-reinf no Superior Tribunal Militar. Estamos utilizando esse projeto para construção das mensagens XML a serem enviadas para a Receita Federal. Recentemente, notei que parece haver um bug na alteração do evento R1000.
No arquivo https://github.com/nfephp-org/sped-efdreinf/blob/master/src/Factories/EvtInfoContri.php, na linha 88, é gerada uma exceção caso a mensagem seja ALT para evento R1000 possua o campo data final nulo. Nos nossos testes, enviamos um evento INC do R1000 passando a data inicial = '2022-04' e sem a data final. Para enviar a operação ALT de R1000 para o referido evento, precisamos enviar a data inicial = '2022-04' e sem a data final (exatamente como a original, para identificar o evento), e nos campos nova data inicial e nova data final, os valores novos, no meu exemplo, passei nova_data_inicial = '2022-04' e nova_data_final = '2022-07'.
O "if" que gera a exception citada, a meu ver, deve ser removido.

Retorno retornoRecibosChaveEvento-v1_05_01.xsd

Prezados,

qual consulta ou qual método que produz esse retorno? Preciso recuperar o recibo e protocolo, mas não consigo obter esse resulta do XSD nos metodos que estou utilizando.

Aguardo, grato pelo apoio.

Retorno webservice

Não consigo verificar os retornos do web service. Alguem teria algum modelo de implementação.

Tools.php - método consultR209 -

Boa noite.

Ao testar a API foi disparado um erro na linha 518 informando não reconhecer o atributo "cod".

        . "<sped:nrInsc>{$this->cod}</sped:nrInsc>";

Acredito que deveria ser

        . "<sped:nrInsc>{$this->doc}</sped:nrInsc>";

Seria isso mesmo?

Agradeço.

Undefined Class R4010

Boa tarde, estou com um novo problema, montei o evento 4010, abaixo está o std que foi gerado. {
"modo": "INC",
"perapur": "2023-08",
"indretif": 1,
"tpinscestab": "1",
"nrinscestab": "26205129",
"ideBenef": {
"cpfBenef": "41242524392",
"nmBenef": "Arthur teste"
},
"idePgto": [
{
"natRend": "12001",
"infoPgto": [
{
"dtFG": "2023-08-31",
"vlrRendBruto": "10.00",
"rendIsento": [
{
"tpIsencao": "5",
"vlrIsento": "10.00"
}
]
}
]
}
]
}

Porém quando vai comparar com o schema informador ele me retorna esse erro:
[2023-10-27 20:10:37] local.ERROR: Undefined property: stdClass::$vlrrendtrib

ela representa um campo que não é obrigatório, se puder dar uma olhada agradeço.
image

consultR2010: nrinscestab 12 digitos

Ao fazer a consulta o seguinte erro é retornado

image

Isso vem de uma função str_pad em src/Tools.php linha 345
image

Ajustando ou removendo o std_pad a consulta é realizada com sucesso

Erro ao gerar evento R-4020

Boa tarde!

Estou tentando gerar o evento R-4020 e está me retornando o erro abaixo.

Fatal error: Declaration of NFePHP\EFDReinf\Common\Soap\SoapBase::proxy($ip, $port, $user, $password) must be compatible with NFePHP\EFDReinf\Common\Soap\SoapInterface::proxy(string $ip, int $port, string $user, string $password) in C:\xampp\htdocs\efdReinfBaseTeste\vendor\nfephp-org\sped-efdreinf\src\Common\Soap\SoapCurl.php on line 24

Sabem dizer o que pode ser?
Grato!

Problema ao consultar eventos pela API REST, parâmetro {nrInsc} informado incorretamente

Bom dia!

Encontrei um problema no método buildUrlConsultaAssincona que é chamado no consultarEventoAssincono.
O parâmetro {nrInsc} na URL, deve conter apenas a base do CNPJ, conforme regra do manual (Manual de Orientação do Desenvolvedor 2.4):

image

Ao consultar estou recebendo a seguinte mensagem:

image

Para correção, acredito que seja só utilizar a variável {$this->doc}, que já faz o tratamento correto

image

Como posso utilizar para assinatura do XML

Olá, Existe a possibilidade de usar somente a função de assinatura do XML?

Pois o XML será gerado de outro sistema, e o php será responsável somente pela assinatura e transmissão

A data na factory não esta sendo atribuida

Bom Dia! Estou realizando o cadastro de um novo evento R-1000 no layout V2, mas me deparei com uma situação em que a data de geração deveria ser anterior a data real e o parametro data não estava sendo levado em consideração.

Verificando na classe Common/Factory, no __construct, o parametro da $date não esta sendo atribuido, existe um comentario dizendo que é para proposito de DEBUG, seria possivel alterar isso para utilizar o parametro?

Common/Factory

Posteriormente, na geração do id existe uma verificação da presença do date, mas sempre será nulo.

Tag nrRecibo obrigatória apenas quando indRetif = 2

Estava implementado o evento R-2020 e estava recebendo um erro de xml por eu não estar informando a tag nrRecibo, olhando na relação do campos do reinf vi que a tag do nrRecibo só deveria ser informada caso indRetif = 2 , porém na classe que monta o xml o nrRecibo está sendo marcado como obrigatório independente da situação.

Evento R2020 (EvtServPrest)

Bom dia! Desculpa o erro anterior referente ao repositório. Estou com um problema no evento R2020. Estou recebendo a seguinte mensagem de erro no momento de comparação do com xml do evento.
Este XML não é válido. Element '{http://www.reinf.esocial.gov.br/schemas/evtPrestadorServicos/v2_01_02}vlrServicos25': [facet 'pattern'] The value '1' is not accepted by the pattern '[0-9]{1,12}[,][0-9]{2}'.

Esse campo "vlrServicos25" não é um campo obrigatório, e não faço o envio dele, porém está me retornando que ele não segue o padrão correto, a baixo está os dados que estou enviando para o evento. Agradeço se tiver como me ajudar.

{
"modo": "INC",
"perapur": "2023-08",
"indretif": 1,
"tpInscEstabPrest": 1,
"nrInscEstabPrest": "26205129000120",
"tpInscTomador": "1",
"nrInscTomador": "31901174000159",
"indobra": 0,
"vlrTotalBruto": 1000,
"vlrTotalBaseRet": 1000,
"vlrTotalRetPrinc": 100,
"nfs": [
{
"serie": "BOB12",
"numDocto": "1234567890",
"dtEmissaoNF": "2023-08-01",
"vlrBruto": 1000,
"infoTpServ": [
{
"tpServico": "100000007",
"vlrBaseRet": 1000,
"vlrRetencao": 100
}
]
}
]
}

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.