joaomfrebelo / saft-pt_4_php
用于处理SAF-T (PT)的PHP核心库。一个用于生成、解析、导入和验证葡萄牙税务审计文件SAF-T (PT)的库/框架,可以通过程序或命令行进行
2.1.2
2023-02-10 09:29 UTC
Requires
- php: 8.0.* || 8.1.* || 8.2.*
- ext-dom: *
- ext-libxml: *
- ext-openssl: *
- ext-simplexml: *
- joaomfrebelo/composer-revision-plugin: ^2.0.1
- joaomfrebelo/date: ^2.2
- joaomfrebelo/decimal: ^4.0.0
- joaomfrebelo/enum: ^3.0.0
- joaomfrebelo/log4php: 3.0.0-BETA2 || ^3.0.0
- spatie/async: ^1.5
- symfony/console: ^5.1
- symfony/process: ^5.1
Requires (Dev)
- phpstan/phpstan: ^1.9.17
- phpunit/phpunit: ^9.6
- squizlabs/php_codesniffer: ^3.7.1
This package is auto-updated.
Last update: 2024-09-10 12:46:25 UTC
README
Rebelo SAFT-PT是一个PHP库/框架,用于处理葡萄牙税务审计文件。社区版允许通过程序或命令行生成、解析、导入和验证葡萄牙税务审计文件SAFT-PT。此库还可以创建法律要求的所有在葡萄牙发行的发票、运输文件和工作文件的数字签名。企业版还可以将SAFT-PT文件提交给葡萄牙税务当局的电子发票网站。
安装
composer require joaomfrebelo/saft-pt_4_php
示例
https://github.com/joaomfrebelo/Saft-PT_4_PHP/tree/master/examples
法律文件,葡萄牙税法
https://github.com/joaomfrebelo/Saft-PT_4_PHP/tree/master/legal_documentation
解析和验证SAFT-PT文件
$auditFile = \Rebelo\SaftPt\AuditFile\AuditFile::loadFile("/path/to/file"); $auditFile->validate(); if ($auditFile->getErrorRegistor()->hasErrors()) { // Do stuff } else { // read and integrate data to you database ERP }
创建签名哈希
$sign = new Rebelo\SaftPt\Sign\Sign(); $sign->setPrivateKey($privatekey); $hash = $sign->createSignature($docDate, $systemEntryDate, $doc, $grossTotal, $lastHash);
验证哈希签名
$sign = new Rebelo\SaftPt\Sign\Sign(); $sign->setPublicKey($publicKey); $isValid = $sign->verifySignature($hash, $docDate, $systemEntryDate, $doc, $grossTotal, $lastHash);
创建SAFT-PT文件
$audit = new AuditFile(); $header = $audit->getHeader(); $header->setCompanyID($companyID); $header->setTaxRegistrationNumber($taxRegistrationNumber); $header->setTaxAccountingBasis(Rebelo\SaftPt\AuditFile\TaxAccountingBasis::FACTURACAO()); $header->setCompanyName($companyName); $header->setBusinessName($businessName); (...) // Expoert to file $audit->toFile("/path/to/file");
命令行文件验证
./vendor/bin/saft4php validate -g=en -p=/path/to/Public_Key.txt" -- /path/saft.xml
./vendor/bin/saft4php validate /path/saft.xml
更多选项,如delta,帮助
./vendor/bin/saft4php validate --help
作为独立SAFT-PT验证器使用
首先克隆或下载项目
git clone https://github.com/joaomfrebelo/Saft-PT_4_PHP.git
在项目根目录(已安装php >= 7.4)
php saft4php validate /path/saft.xml
一些类型的验证
-
XML模式
-
文档值
-
总值
-
文件编号序列
-
签名
-
必填地址
-
日期
-
以及其他内容
API文档
https://joaomfrebelo.github.io/Saft-PT_4_PHP/
专业支持
许可证
MIT许可证

