horstoeko/zugferdublbridge

将 Factur-X/ZUGFeRD (CII-Syntax) 转换为 PEPPOL (UBL-Syntax) 以及相反方向

v1.0.3 2024-09-15 11:23 UTC

This package is auto-updated.

Last update: 2024-09-20 04:00:28 UTC


README

CI (Ant, PHP 7.3) CI (Ant, PHP 7.4) CI (Ant, PHP 8.0) CI (Ant, PHP 8.1) CI (Ant, PHP 8.2) CI (Ant, PHP 8.3)

目录

许可

本项目的代码在 MIT 许可下提供。

概述

注意

此库目前仍被视为实验性的,因此应谨慎使用。如果发现错误,我会很高兴看到有相关的问题被提交。

使用 horstoeko/zugferdublbridge,您可以转换 Factur-X/ZUGFeRD-CII-Syntax 到 PEPPOL UBL-Syntax 以及相反方向。

更多信息

相关项目

依赖

此软件包没有依赖。

安装

您可以通过将依赖添加到 composer.json 文件来通过 Composer 安装 horstoeko/zugferdublbridge

  • composer.json 文件中添加依赖
  "require": {
      ..
      "horstoeko/zugferdublbridge":"^1",
      ..
  },

使用

有关详细说明,您可以查看此软件包的 示例 以及每个版本附带的文档。

将 CII 转换为 UBL

从 XML 文件到 XML 文件

use horstoeko\zugferdublbridge\XmlConverterCiiToUbl;

$sourceXmlFilename = '/path/to/cii.xml.file';
$destinationXmlFilename = '/path/to/ubl.xml.file'

XmlConverterCiiToUbl::fromFile($sourceXmlFilename)->convert()->saveXmlFile($destinationXmlFilename);

从 XML 字符串到 XML 文件

use horstoeko\zugferdublbridge\XmlConverterCiiToUbl;

$xmlContent = '<xml>....</xml>';
$destinationXmlFilename = '/path/to/ubl.xml.file'

XmlConverterCiiToUbl::fromString($xmlContent)->convert()->saveXmlFile($destinationXmlFilename);

从 XML 文件到 XML 字符串

use horstoeko\zugferdublbridge\XmlConverterCiiToUbl;

$sourceXmlFilename = '/path/to/cii.xml.file';

$converterXmlString = XmlConverterCiiToUbl::fromFile($sourceXmlFilename)->convert()->saveXmlString();

将 UBL 转换为 CII

从 XML 文件到 XML 文件

use horstoeko\zugferdublbridge\XmlConverterUblToCii;

$sourceXmlFilename = '/path/to/ubl.xml.file';
$destinationXmlFilename = '/path/to/cii.xml.file'

XmlConverterUblToCii::fromFile($sourceXmlFilename)->convert()->saveXmlFile($destinationXmlFilename);

从 XML 字符串到 XML 文件

use horstoeko\zugferdublbridge\XmlConverterUblToCii;

$xmlContent = '<xml>....</xml>';
$destinationXmlFilename = '/path/to/cii.xml.file'

XmlConverterUblToCii::fromString($xmlContent)->convert()->saveXmlFile($destinationXmlFilename);

从 XML 文件到 XML 字符串

use horstoeko\zugferdublbridge\XmlConverterUblToCii;

$sourceXmlFilename = '/path/to/ubl.xml.file';

$converterXmlString = XmlConverterUblToCii::fromFile($sourceXmlFilename)->convert()->saveXmlString();

horstoeko/zugferd 一起使用

CII 到 UBL

您可以使用此库将 horstoko/zugferd 的输出转换为 UBL

use horstoeko\zugferd\ZugferdDocumentBuilder;
use horstoeko\zugferd\ZugferdProfiles;
use horstoeko\zugferd\codelists\ZugferdPaymentMeans;
use horstoeko\zugferdublbridge\XmlConverterCiiToUbl;

$document = ZugferdDocumentBuilder::CreateNew(ZugferdProfiles::PROFILE_EN16931);
$document
    ->setDocumentInformation("471102", "380", \DateTime::createFromFormat("Ymd", "20180305"), "EUR")
    ----

$destinationXmlFilename = '/path/to/ubl.xml.file'

XmlConverterCiiToUbl::fromString($document->getContent())->convert()->saveXmlFile($destinationXmlFilename);

UBL 到 CII

您可以使用此库将 UBL 文档转换为 horstoko/zugferd 可以处理的格式

use horstoeko\zugferd\ZugferdDocumentReader;
use horstoeko\zugferdublbridge\XmlConverterUblToCii;

$sourceXmlFilename = '/path/to/ubl.xml.file';

$converterXmlString = XmlConverterUblToCii::fromFile($sourceXmlFilename)->convert()->saveXmlString();

$document = ZugferdDocumentReader::readAndGuessFromContent($converterXmlString);

$document->getDocumentInformation(
    $documentno,
    $documenttypecode,
    $documentdate,
    $duedate,
    $invoiceCurrency,
    $taxCurrency,
    $documentname,
    $documentlanguage,
    $effectiveSpecifiedPeriod
);

echo "The Invoice No. is {$documentno}" . PHP_EOL;