PHPackages                             troliveira/sped-gtin - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Validation &amp; Sanitization](/categories/validation)
4. /
5. troliveira/sped-gtin

ActiveLibrary[Validation &amp; Sanitization](/categories/validation)

troliveira/sped-gtin
====================

Classes for validation of GTIN codes.

v1.0.7(7y ago)02LGPL-3.0-or-laterPHPPHP &gt;= 5.6

Since Mar 31Pushed 5y agoCompare

[ Source](https://github.com/tiagooliveira1/sped-gtin)[ Packagist](https://packagist.org/packages/troliveira/sped-gtin)[ Docs](https://github.com/nfephp-org/sped-gtin)[ RSS](/packages/troliveira-sped-gtin/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependencies (5)Versions (9)Used By (0)

sped-gtin
=========

[](#sped-gtin)

A partir do layout 4.00 da NFe (e NFCe) o GTIN do produto passa a ser um item OBRIGATÓRIO, quando existir. Portanto em todas as NFe (e NFCe) que contêm produtos que possuem códigos de barras para fins comerciais (GTIN 8, 12, 13 ou 14) derão indicar os mesmos em suas notas.

É importantissimo que esses GTIN sejam corretos e validados, antes de serem inseridos em seus sistemas para evitar rejeições por parte da SEFAZ.

Esta classe faz exatamente isso, verifica a correção do numero GTIN, com relação a sua estrutura, prefixo, região e digito verificador.

A SEFAZ fará consultas adicionais ao [Cadastro Nacional de Produtos - CNP](https://www.gs1br.org/servicos-e-solucoes/cadastro-centralizado-de-gtin?gclid=Cj0KCQjw4_zVBRDVARIsAFNI9eCoTYJdZTQ36i4aAWsW4Hmppbqk4BVEvty4gQKXnMnAfX2XRcQcawwaAgv9EALw_wcB). mas ainda não existe a disponibilidade de uma API para que nós também possamos faze-lo, então ainda poderão haver rejeições caso os dados que você possue não estejam de acordo com o CNP.

[![Build Status](https://camo.githubusercontent.com/05c248ba90aac792457f3665fd543fde4ad28def95a8d7152ff7b920fc7f3799/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f6e66657068702d6f72672f737065642d6774696e2f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/nfephp-org/sped-gtin)[![Coverage Status](https://camo.githubusercontent.com/5509b405b99b97211a2c7610f389a6d692a498fce5c6013c35c8c00caa6a51b8/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f636f7665726167652f672f6e66657068702d6f72672f737065642d6774696e2e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/nfephp-org/sped-gtin/code-structure)[![Quality Score](https://camo.githubusercontent.com/30e92f6554d0639625f1068cf0fcf2f16b07c38d078a39388337ee8920525821/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f6e66657068702d6f72672f737065642d6774696e2e7376673f7374796c653d666c61742d737175617265)](https://scrutinizer-ci.com/g/nfephp-org/sped-gtin)[![Code Intelligence Status](https://camo.githubusercontent.com/f96c0592377016535c0e3f15eee116ecaea278684f1e4cf7c8f26703f9703d94/68747470733a2f2f7363727574696e697a65722d63692e636f6d2f672f6e66657068702d6f72672f737065642d6774696e2f6261646765732f636f64652d696e74656c6c6967656e63652e7376673f623d6d6173746572)](https://scrutinizer-ci.com/code-intelligence)

[![Latest Stable Version](https://camo.githubusercontent.com/2988b386fbb6a7e9c451cc366e24ab7b650d16bb99ff8e7f6d1e0c8969370f66/68747470733a2f2f706f7365722e6f6b76706e2e6f72672f6e66657068702d6f72672f737065642d6774696e2f762f737461626c65)](https://packagist.org/packages/nfephp-org/sped-gtin)[![Latest Version on Packagist](https://camo.githubusercontent.com/9da9352dfcfb587b614329abafb28f1485d8877afc618996064785fbb2fe9ee9/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6e66657068702d6f72672f737065642d6774696e2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/nfephp-org/sped-gtin)[![License](https://camo.githubusercontent.com/de2db5ead4d76e14f06e85f4a79067de1c5fa71a4370885af17d1dc54184d437/68747470733a2f2f706f7365722e6f6b76706e2e6f72672f6e66657068702d6f72672f737065642d6774696e2f6c6963656e7365)](https://packagist.org/packages/nfephp-org/sped-gtin)[![Total Downloads](https://camo.githubusercontent.com/c4cf90ecd160a47ff08a9378b6b1b3bfb4cbd22d27474ad75df8757a37a7838f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6e66657068702d6f72672f737065642d6774696e2e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/nfephp-org/sped-gtin)

[![Issues](https://camo.githubusercontent.com/c411438659cfa5d28c8f5a957f387456652ece8df1f321e829a92bf508deae5e/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6973737565732f6e66657068702d6f72672f737065642d6774696e2e7376673f7374796c653d666c61742d737175617265)](https://github.com/nfephp-org/sped-gtin/issues)[![Forks](https://camo.githubusercontent.com/8a1bf173146e3cf41bbad1facdbd6015729e6c7103aa90f04514114e7ecd2ef4/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f666f726b732f6e66657068702d6f72672f737065642d6774696e2e7376673f7374796c653d666c61742d737175617265)](https://github.com/nfephp-org/sped-gtin/network)[![Stars](https://camo.githubusercontent.com/e9a5011a0a07d71782146aef0ad37a9c270b8189a4a2347686c87c555d625eef/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6e66657068702d6f72672f737065642d6774696e2e7376673f7374796c653d666c61742d737175617265)](https://github.com/nfephp-org/sped-gtin/stargazers)

Formas de Uso
-------------

[](#formas-de-uso)

```
use NFePHP\Gtin\Gtin;

try {
    $gtin = new Gtin('78935761');
    $region = $gtin->region;
    $prefix = $gtin->prefix;
    $digitoVerificador = $gtin->checkDigit;

    if ($gtin->isValid()) {
        echo "Valido";
    }
} catch (\Exception $e) {
    echo $e->getMessage();
}
```

### A classe Gtin, possue várias propriedades

[](#a-classe-gtin-possue-várias-propriedades)

**region - (string) indica a região de uso do numero ex. GS1 Brasil**

**prefix - (string) indica o prefixo da região ex. 789**

**checkDigit - (int) indica o digito verificador para uma determinada sequência numérica (calculado)**

**restricted - (bool) indica se o pefixo é de uso restrito**

**type - (int) indica o tipo de gtin (8,12,13, ou 14)**

### A função principal da classe é :

[](#a-função-principal-da-classe-é-)

function isValid()

Essa função não recebe parâmetros e retornará TRUE caso o numero GTIN seja em principio válido.

A classe também pode ser instanciada estaticamente.

```
use NFePHP\Gtin\Gtin;

try {
    $gtin = Gtin::check('78935761');
    $region = $gtin->region;
    $prefix = $gtin->prefix;
    $digitoVerificador = $gtin->checkDigit;

    if ($gtin->isValid()) {
        echo "Valido";
    }
} catch (\Exception $e) {
    echo $e->getMessage();
}
```

Ou ainda:

```
use NFePHP\Gtin\Gtin;

$gtin = "78935761";

try {
    if (Gtin::check($gtin)->isValid()) {
        echo "Valido";
    }
} catch (\Exception $e) {
    echo $e->getMessage();
}
```

Validações e Exceptions
-----------------------

[](#validações-e-exceptions)

Caso o numero fornecido não atenda alguma restrição será retornado um Exception:

ExceptionCausaSoluçãoUm numero GTIN deve ser passado.Nenhuma variável foi passada como parâmetroVerifique o conteúdo da variável que deve ser o GTINUm numero GTIN contêm apenas numeros \[????\] não é aceito.Foi passado uma string contendo digitos não numéricosVerifique o conteúdo da variável que deve ser o GTINApenas GTIN 8, 12, 13 ou 14 esse numero não atende esses parâmetros.Com os nomes dizem os GTIN devem ter tamanhos definidos 8,12,13 ou 14Verifique o conteúdo da variável que deve ser o GTINUm GTIN 14 não pode iniciar com numeral ZERO.auto explicativoVerifique o conteúdo da variável que deve ser o GTINO prefixo ??? do GTIN é INVALIDO \[???\].O prefixo usado não corresponde a lista de prefixos válidos ou é um de uso restritoEsse numero não deve estar corretoO digito verificador é INVALIDO.O último digito é calculado e não corresponde ao fornecidoEsse numero de GTIN está INCORRETOEste pacote é aderente com os [PSR-1](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-1-basic-coding-standard.md), [PSR-2](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md) e [PSR-4](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-4-autoloader.md). Se você observar negligências de conformidade, por favor envie um patch via pull request.

Não deixe de se cadastrar no [grupo de discussão do NFePHP](http://groups.google.com/group/nfephp) para acompanhar o desenvolvimento e participar das discussões e tirar dúvidas!

Install
-------

[](#install)

**Este pacote está listado no [Packgist](https://packagist.org/) foi desenvolvido para uso do [Composer](https://getcomposer.org/), portanto não será explicitada nenhuma alternativa de instalação.**

*E deve ser instalado com:*

```
composer require nfephp-org/sped-gtin
```

Ou ainda alterando o composer.json do seu aplicativo inserindo:

```
"require": {
    "nfephp-org/sped-gtin" : "^1.0"
}
```

*Para utilizar o pacote em desenvolvimento (branch master) deve ser instalado com:*

```
composer require nfephp-org/sped-gtin:dev-master
```

*Ou ainda alterando o composer.json do seu aplicativo inserindo:*

```
"require": {
    "nfephp-org/sped-gtin" : "dev-master"
}
```

> NOTA: Ao utilizar este pacote na versão em desenvolvimento não se esqueça de alterar o composer.json da sua aplicação para aceitar pacotes em desenvolvimento, alterando a propriedade "minimum-stability" de "stable" para "dev".
>
> ```
> "minimum-stability": "dev"
> ```

Requirements
------------

[](#requirements)

Para que este pacote possa funcionar são necessários os seguintes requisitos do PHP e outros pacotes dos quais esse depende.

- PHP 7.x (recomendável PHP 7.2.x)

Contributing
------------

[](#contributing)

Para contribuir com correções de BUGS, melhoria no código, documentação, elaboração de testes ou qualquer outro auxílio técnico e de programação por favor observe o [CONTRIBUTING](CONTRIBUTING.md) e o [Código de Conduta](CONDUCT.md) para maiores detalhes.

Change log
----------

[](#change-log)

Acompanhe o [CHANGELOG](CHANGELOG.md) para maiores informações sobre as alterações recentes.

Testing
-------

[](#testing)

Todos os testes são desenvolvidos para operar com o PHPUNIT

Security
--------

[](#security)

Caso você encontre algum problema relativo a segurança, por favor envie um email diretamente aos mantenedores do pacote ao invés de abrir um ISSUE.

Credits
-------

[](#credits)

Roberto L. Machado (owner and developer)

License
-------

[](#license)

Este pacote está diponibilizado sob LGPLv3 ou MIT License (MIT). Leia [Arquivo de Licença](LICENSE.md) para maiores informações.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity2

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 89.1% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~25 days

Recently: every ~20 days

Total

8

Last Release

2786d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/d5fb1d684763d95dd8bf25b25c2750d4eaa488b652671e3943d752ae287f0f3f?d=identicon)[troliveira](/maintainers/troliveira)

---

Top Contributors

[![robmachado](https://avatars.githubusercontent.com/u/1437008?v=4)](https://github.com/robmachado "robmachado (41 commits)")[![olavocneto](https://avatars.githubusercontent.com/u/568745?v=4)](https://github.com/olavocneto "olavocneto (3 commits)")[![diegohq](https://avatars.githubusercontent.com/u/1486939?v=4)](https://github.com/diegohq "diegohq (1 commits)")[![tiagooliveira1](https://avatars.githubusercontent.com/u/19943077?v=4)](https://github.com/tiagooliveira1 "tiagooliveira1 (1 commits)")

---

Tags

gtinnfenfephpspednfce

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/troliveira-sped-gtin/health.svg)

```
[![Health](https://phpackages.com/badges/troliveira-sped-gtin/health.svg)](https://phpackages.com/packages/troliveira-sped-gtin)
```

###  Alternatives

[nfephp-org/sped-gtin

Classes for validation of GTIN codes.

17981.7k11](/packages/nfephp-org-sped-gtin)[nfephp-org/sped-nfe

API para geração e comunicação da NFe e NFCe com as SEFAZ autorizadoras.

1.4k1.4M10](/packages/nfephp-org-sped-nfe)[nfephp-org/sped-common

sped-common é parte do projeto NFePHP.

1051.7M64](/packages/nfephp-org-sped-common)[nfephp-org/sped-da

sped-da contêm as classes para criação dos documentos auxiliares referidos no projeto Sped.

145806.7k8](/packages/nfephp-org-sped-da)[nfephp-org/sped-efdreinf

API para geração e comunicação dos eventos relativos ao projeto EFD-Reinf da Receita Federal do Brasil.

3013.0k](/packages/nfephp-org-sped-efdreinf)[nfephp-org/sped-ibpt

API para a comunicação com o servidor Restful do IBPT.

3079.2k2](/packages/nfephp-org-sped-ibpt)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
