Enterprise 版本
發票
NextPDF Enterprise 會產生 ZUGFeRD / Factur-X / Peppol-UBL 結構化混合發票,並對照 EN 16931 資料模型與 Schematron 規則集驗證發票 XML。它產出符合 EN 16931 所定義資料模型的結構化發票;它不是稅務機關驗證器,也不對任何文件進行認證。
供應與授權
標題為「供應與授權」的區段此功能隨附於 NextPDF Enterprise(nextpdf/enterprise),並在 Enterprise 層級的授權封套下啟用。沒有該權利的部署不會載入此功能的類別。比較各版本並取得授權。
composer require nextpdf/enterprise:^3Schematron 引擎使用 PHP 的 ext-xsl 擴充功能。在執行 Schematron 驗證前,請先安裝並啟用它。
概念總覽
標題為「概念總覽」的區段Invoice 模組有三個獨立的介面:結構化發票嵌入、EN 16931 XML 驗證,以及 Schematron 規則執行。
嵌入。ZugferdEmbedder 會將呼叫端提供的 ZUGFeRD 2.4 / Factur-X 1.08 UN/CEFACT CII XML 酬載附加到 PDF/A 載體上,產生一份混合發票。支援兩種載體格式:PDF/A-4f(ISO 19005-4:2020),即偏好的現代載體,以及為向後相容而保留的 PDF/A-3b(ISO 19005-3:2012)。ZugferdXmpSchema 會注入該載體所需的 Factur-X XMP 擴充結構描述宣告。PeppolEmbedder 對呼叫端提供的 Peppol BIS Billing 3.0 UBL 2.1 發票或貸項通知單 XML 執行相同的角色,並以正確的關聯檔案關係與 MIME type 加以附加。NextPDF 不會合成發票 XML;由呼叫端提供有效的 XML,並仍然是發票的開立者。
驗證。InvoiceXmlValidator 會對照 EN 16931 語意資料模型以及 ZUGFeRD / Factur-X 容器期望檢查發票 XML,包含 EN 16931 業務規則 BR-1 所要求的 BT-24 規範識別碼。它以兩種模式之一執行:COMPAT(預設;臨界的 EN 16931 基數發現會以警告形式回報,以保留現有 fixture 的向後相容性)與 STRICT(BT-24 基數為硬性錯誤,對應外部驗證器的語意)。模式可逐次呼叫選擇、以環境覆寫設定,或依一致性原則決定。
Schematron。SchematronValidator 會使用行程內的 PHP XSLT 處理器,對發票 XML 執行預先編譯的 Schematron 規則集(CEN EN 16931 .sch 規則於建置時編譯為 XSLT),並將 SVRL 報告剖析為結構化發現。ZugferdProfile enum 對一致性設定檔建模——MINIMUM、BASIC WL、BASIC、EN 16931、EXTENDED,以及建構於 EN 16931 之上的德國 XRechnung B2G CIUS。
本模組主張與不主張的事項
標題為「本模組主張與不主張的事項」的區段本模組會產出並檢查結構化發票資料。它不主張任何文件是合法合規的發票、已獲稅務機關核可,或保證會被任何機關接受。
- 驗證器僅檢查 EN 16931 語意模型以及 ZUGFeRD / Factur-X / UBL 容器。它不是稅務機關驗證器。各國延伸與清算平台——例如義大利 SDI、法國 Chorus Pro、德國 XRechnung 傳輸——在傳輸層級皆不在範圍內。
- 正如 EN 16931-1 本身所述,核心語意模型承載電子發票支援法律與財稅合規所需的必要資訊;發票開立者有責任符合相關法規的規定。這不是稅務機關驗證器。
- 支援某項標準不等於符合該標準。請洽詢你的稅務與合規顧問,以判斷在你所在司法管轄區的法規充分性。
為何如此運作
標題為「為何如此運作」的區段本模組刻意絕不合成發票 XML。嵌入、EN 16931 驗證與 Schematron 執行,是建構於呼叫端提供並擁有的 XML 之上的三個獨立介面。這讓 NextPDF 始終是產出者與檢查者,而絕非開立者,因為法律責任無法委派給函式庫。驗證預設為 COMPAT,因此臨界的基數發現是警告而非回歸。當你需要外部驗證器的語意時,STRICT 為選擇性啟用。其結果是一種清晰的分工:NextPDF 回報它所觀察到的內容,而由開立者決定該文件是否符合法律。
設計背景:Invoices and e-invoicing。
API 介面
標題為「API 介面」的區段| 類別 | 職責 |
|---|---|
ZugferdEmbedder | 將 ZUGFeRD / Factur-X CII XML 附加到 PDF/A-4f 或 PDF/A-3b 載體。 |
ZugferdXmpSchema | 注入 Factur-X XMP 擴充結構描述宣告。 |
ZugferdProfile | 一致性設定檔 enum(MINIMUM … EXTENDED、XRECHNUNG)。 |
PeppolEmbedder | 將 Peppol BIS 3.0 UBL 發票/貸項通知單 XML 附加到 PDF/A 載體。 |
InvoiceXmlValidator | 對照 EN 16931 資料模型檢查 XML;COMPAT 或 STRICT 模式。 |
InvoiceValidatorMode | 驗證模式 enum:COMPAT(預設)或 STRICT。 |
SchematronValidator | 執行預先編譯的 Schematron 規則集;剖析 SVRL 發現。 |
InvoiceValidationResult / SchematronResult | 結構化結果:設定檔、發現、嚴重性。 |
程式碼範例——快速上手
標題為「程式碼範例——快速上手」的區段use NextPDF\Enterprise\Invoice\ZugferdEmbedder;use NextPDF\Enterprise\Invoice\ZugferdProfile;
$pdf = ZugferdEmbedder::basic($pdfAManager, $fileAttachment, $ciiXml) ->embed(ZugferdProfile::EN16931);程式碼範例——正式環境
標題為「程式碼範例——正式環境」的區段use NextPDF\Enterprise\Invoice\InvoiceXmlValidator;use NextPDF\Enterprise\Invoice\InvoiceValidatorMode;
$result = $validator->validate($ciiXml, InvoiceValidatorMode::STRICT);
foreach ($result->findings as $finding) { $logger->warning('invoice.finding', [ 'rule' => $finding->ruleId, 'severity' => $finding->severity->value, ]);}// A clean result is one input to your decision, not a compliance verdict.// The invoice issuer remains responsible for relevant legislation.邊界案例與陷阱
標題為「邊界案例與陷阱」的區段- 一份格式正確、但未承載任何可辨識發票酬載的 PDF,會得到「非發票」結果,而不是拋出例外。
COMPAT是預設的驗證模式:缺少 BT-24 規範識別碼會以警告形式回報,因此以布林有效性旗標作為閘門的呼叫位置不會發生回歸。請使用STRICT將 BT-24 設為對應外部 KoSIT / Mustang 語意的硬性錯誤。- 由呼叫端提供發票 XML。NextPDF 不會產生或更正它;一份空白的發現清單,並不會讓不符合規範的酬載變為符合規範。
- Schematron 引擎需要
ext-xsl。規則集於建置時編譯;執行階段僅執行預先編譯的 XSLT。
驗證成本會隨嵌入的 XML 大小與 Schematron 規則數量增加。嵌入成本會隨載體大小增加,並主要由 PDF/A 序列化主導。頁面效能預算反映的是文件渲染,而非發票吞吐量。
安全注意事項
標題為「安全注意事項」的區段所有 XML 剖析都會路由經過加固的 XML 防護:外部實體解析已停用(XXE-safe)、DOCTYPE 遭拒,且解壓縮有界限。XSLT 處理器在停用網路與檔案系統資源載入的情況下執行,且絕不註冊 PHP 函式,因此 document()、xsl:include、xsl:import 與 result-document 都無法觸及網路或磁碟。請將來自不可信來源的發票 XML 視為具敵意。
資料落地與 PII 緩解措施
標題為「資料落地與 PII 緩解措施」的區段發票 XML 可能含有個人、商業與財務資料。處理在行程內於本機進行;本模組在嵌入或驗證期間不進行任何對外網路呼叫。請對擷取出的 XML 與發現套用你自己的保留與最小化控制措施。
安全遙測與日誌清洗
標題為「安全遙測與日誌清洗」的區段發現與驗證日誌可能包含規則識別碼與標籤值。它們不包含完整的發票酬載。若那些值屬於敏感資訊,請在將日誌轉送到共用接收端之前先清洗或遮蔽欄位值。
一致性
標題為「一致性」的區段| 行為 | 參考 | 狀態 |
|---|---|---|
| 核心發票語意模型 | EN 16931-1:2026 §4 | 已依其建置;開立者仍須對相關法規負責 |
| 規範識別碼(BT-24) | EN 16931-1:2026 BR-1 | 已檢查(COMPAT 中為警告,STRICT 中為錯誤) |
| UN/CEFACT CII 語法繫結 | CEN/TS 16931-3-3:2020 | 支援嵌入 |
| UBL 2.1 語法繫結 | CEN/TS 16931-3-2:2020 | 支援嵌入 |
| PDF/A-3 關聯檔案 | ISO 19005-3:2012 §6.7.8 | 支援載體 |
| PDF/A-4f 嵌入檔案 | ISO 19005-4:2020 Annex A | 支援載體 |
這份表格記錄 NextPDF Enterprise 所依建置的規格以及它所檢查的內容。它不是關於認證、稅務機關核可或法規充分性的聲明。發票開立者有責任符合相關法規的規定;這不是稅務機關驗證器。
FIPS 模式行為
標題為「FIPS 模式行為」的區段本模組不進行任何加密簽署。簽署混合發票與 FIPS 模式金鑰保管不在此範圍內;請參閱 Signature 模組。
威脅模型
標題為「威脅模型」的區段不可信的發票 XML 是主要輸入。緩解措施:XXE-safe 剖析、拒絕 DOCTYPE、有界的解壓縮、停用網路與檔案資源載入的 XSLT 處理器,以及不進行任何主張合成——由呼叫端提供並擁有發票內容。
行為合約
標題為「行為合約」的區段ZugferdEmbedder/PeppolEmbedder會將呼叫端提供的發票 XML 附加到 PDF/A-4f 或 PDF/A-3b 載體;NextPDF 絕不會合成發票 XML。InvoiceXmlValidator以COMPAT(預設;臨界的 EN 16931 基數為警告)或STRICT(BT-24 基數為硬性錯誤)執行。SchematronValidator透過行程內的 XSLT 處理器執行預先編譯的規則集,並剖析 SVRL 發現;一份空白的發現清單並不會讓不符合規範的酬載變為符合規範。- 所有 XML 剖析皆為 XXE-safe:外部實體解析已停用、
DOCTYPE遭拒、解壓縮有界限。
發布邊界
標題為「發布邊界」的區段本頁僅記錄外部可觀察的行為以及受支援的公開 API 介面。內部命名空間路徑、輔助類別、機制表格、runbook 檔名與工單前綴皆不在範圍內。
Core 回退
標題為「Core 回退」的區段NextPDF Core 不會產生或驗證結構化發票。僅有 Core 的部署可以產出一份 PDF,但沒有任何 ZUGFeRD / Factur-X / Peppol 嵌入、沒有 EN 16931 驗證器,也沒有 Schematron 引擎。
Pro 回退
標題為「Pro 回退」的區段在僅有 Pro 的部署中,受支援的介面是 Pro 層級的 Factur-X / ZUGFeRD 酬載電子發票偵測與驗證。Pro 不會產生 ZUGFeRD / Factur-X 或 Peppol-UBL 混合載體、不加入 XRechnung CIUS 設定檔,也不執行行程內的 Schematron 引擎;在僅有 Pro 的部署中,請求產生、XRechnung CIUS 設定檔或 Schematron 的設定,沒有任何 Enterprise 元件能滿足它。Pro 的偵測與驗證介面請參閱 Pro Compliance。
Enterprise 邊界註記
標題為「Enterprise 邊界註記」的區段內部機制細節保留在來源儲存庫的內部文件中,不在本手冊範圍內。
部署邊界
標題為「部署邊界」的區段Schematron 引擎需要 ext-xsl PHP 擴充功能;佈建與啟用它是運維人員的責任。處理在行程內於本機進行;本模組在嵌入或驗證期間不進行任何對外網路呼叫。各國電子發票傳輸、清算平台與封存系統皆位於本模組之外,並屬於運維人員的責任。
法律合規邊界
標題為「法律合規邊界」的區段NextPDF 會產出符合 EN 16931 所定義資料模型的結構化發票,並回報規則發現。它不會產出「合法合規的發票」、不提供「稅務機關核可」的輸出,也不保證任何發票會被稅務機關、法院或登記機構接受。發票開立者有責任符合相關法規的規定;這不是稅務機關驗證器。各國電子發票平台、清算模型、封存規範與數位簽章要求因司法管轄區而異,並屬於開立者的責任。請洽詢你的稅務與法律顧問。
另請參閱
標題為「另請參閱」的區段- Invoice reference — 針對嵌入器、驗證器與 Schematron 引擎的 API 層級參考。
- Pro Compliance — Pro 層級的電子發票偵測與驗證。
- Document E-Filing — 法院/登記機構遞交最佳化。
- Enterprise 總覽
- Core、Pro 與 Enterprise 功能對照表