joaomfrebelo/saft-pt_4_php

用于处理SAF-T (PT)的PHP核心库。一个用于生成、解析、导入和验证葡萄牙税务审计文件SAF-T (PT)的库/框架,可以通过程序或命令行进行

2.1.2 2023-02-10 09:29 UTC

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/

专业支持

https://www.pchouse.pt

joao.rebelo@pchouse.pt

许可证

MIT许可证