Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Sped Common Laravel Package

nfephp-org/sped-common

Biblioteca PHP com classes utilitárias compartilhadas para os projetos SPED da nfephp-org: NFe, CTe, MDFe, e-Financeira, eSfinge e eSocial. Reúne componentes comuns para facilitar integrações e reutilização de código.

View on GitHub
Deep Wiki
Context7

NFePHP\Common\Keys.md

Classe auxiliar para a geração e verficação das chaves de 44 dígitos

NOTA: Pode ser usado para NFe, NFCe, CTe, e MDFe

NOTA: Inclusa possibilidade de emissão com CPF no lugar do CNPJ, conforme NT 2018.001

Métodos Estáticos

(string) Keys::build(

(string) $cUF,
(string) $ano,
(string) $mes,
(string) $cnpj ou cpf,
(string) $mod,
(string) $serie,
(string) $numero,
(string) $tpEmis,
(string) $codigo
)

Este método é o construtor das chaves de 44 dígitos.


use NFePHP\Common\Keys;

$cUF = '35';
$ano = '17';
$mes = '4';
$cnpj = '58716523000119';
$mod = '55';
$serie = '1';
$numero = '12';
$tpEmis = '1';
$codigo = '12345';

$key = Keys::build($cUF, $ano, $mes, $cnpj, $mod, $serie, $numero, $tpEmis, $codigo);

//$key = '35170458716523000119550010000000121000123458';

NOTA: se não for passado o código número ($codigo) será usado o número do documento fiscal ($numero). Isso as vezes é até melhor pois facilita a recriação da chave caso haja algum problema e se percam os dados das notas.

(bool) Keys::isValid(string $key)

Este método irá verificar a validade da chave de 44 dígitos, usando o dígito de verificação para fazer a avaliação.


use NFePHP\Common\Keys;

$key = '35170358716523000119550010000000301000000300';

$response = Keys::isValid($key); 

//$response = true

(string) Keys::verifyingDigit(string $key)

Este método irá retornar o dígito de verificação da chave passada.

NOTA: apenas os 43 primeiros dígitos serão usados, evidentemente.


use NFePHP\Common\Keys;

$key = '3517035871652300011955001000000030100000030';

$digit = Keys::verifyingDigit($key);

//digito retornado = 0
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
terminal42/code-quality-tools
codifyo/ts-generator-bundle
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor