2017年10月19日 星期四

C# 簡易電子發票資料Turnkey交換範例

 C# 簡易電子發票資料Turnkey交換範例

        雖然財政部所提供的Turnkey軟體中 tv-gateway-einv-1.2.11.jar( 2020/12/25 更新:Tunkey 2.0.2版位於 cht-gateway-einv-2.0.0.0.jar )已經有建立各版本的資料交換完整的物件,考慮到java在目前公司尚未有人可以協助維護,所以想了一個比較簡易型套用樣版的方式來執行為了簡單快速,省去物件的建模,一切從簡有些XSD中的選填元素沒有一定得上拋就直接省略。

2020/12/25 補充: XSD 可以透過工具轉成 XML,可google關鍵字  XSD to XML

樣版工具使用:Mustache sharp 可至NuGet下載

程式碼參考如下:

主程式:Program.cs

其中利用 XmlReader 物件載入xsd來進行驗證xml產出是否符合規範

電子發票資料交換xsd檔可在tv-gateway-einv-1.2.11.jar中找到(參考附註)


樣版檔:templateA0401.txt

A0401物件:InvoiceA0401.csInvoiceA0401ProductItem.cs

完整程式可至GitHub下載



附註:安裝完Turnkey程式後可在 C:\Program Files\EINVTurnkey\lib 下找到 tv-gateway-einv-1.2.11.jar ( 2020/12/25 更新:Tunkey 2.0.2版位於 cht-gateway-einv-2.0.0.0.jar )

透過解壓縮工具解開後的xsd資料夾中可發現各版本的xsd都位於此