在开发与巴西电子发票 (nfe/nfce) 相关的系统时,我遇到了一个非常具体且关键的问题:如何确保产品 gtin 码的有效性。根据巴西税务局 (sefaz) 的规定,从 nfe 4.00 版本开始,如果产品有 gtin 码,则必须正确填写,否则发票会被拒绝。
这意味着我需要一个可靠的工具来验证 GTIN 码的结构、前缀、区域和校验位。此外,由于 SEFAZ 只接受巴西国家产品目录 (CNP) 中注册的 GTIN 码 (以 789 或 790 开头),因此验证的复杂性进一步增加。
虽然 SEFAZ 会查询 CNP 数据库,但当时并没有公开的 API 供开发者使用。因此,我需要一个能够执行基本 GTIN 码验证,并提供有关 GTIN 码区域、前缀和类型信息的库。
在寻找解决方案时,我发现了
nfephp-org/sped-gtin
Composer在线学习地址:学习地址
立即学习“PHP免费学习笔记(深入)”;
nfephp-org/sped-gtin
使用 Composer 安装
nfephp-org/sped-gtin
<pre class="brush:php;toolbar:false;">composer require nfephp-org/sped-gtin
安装完成后,你可以像这样使用它:
<pre class="brush:php;toolbar:false;">use NFePHP\Gtin\Gtin;
try {
$gtin = new Gtin('78935761');
if ($gtin->isValid()) {
echo "GTIN 码有效";
} else {
echo "GTIN 码无效";
}
echo "GTIN 码区域: " . $gtin->region . PHP_EOL;
echo "GTIN 码前缀: " . $gtin->prefix . PHP_EOL;
echo "GTIN 码类型: " . $gtin->type . PHP_EOL;
} catch (\Exception $e) {
echo "错误: " . $e->getMessage();
}nfephp-org/sped-gtin
Gtin::check()
通过使用
nfephp-org/sped-gtin
总而言之,
nfephp-org/sped-gtin
以上就是解决NFe/NFCe中GTIN码校验难题:nfephp-org/sped-gtin助力合规的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号