Lewati ke konten utama

Faktur Elektronik ZUGFeRD dari Basis Airtable: Buat JSON dan Kirim Email PDF Hibrida di Make dengan PDF4me

· Satu menit membaca
SEO and Content Writer

PDF4me Create a ZUGFeRD invoice adalah modul Make yang mengubah data faktur terstruktur menjadi faktur elektronik hibrida PDF/A-3. Dengan terhubung ke basis data Airtable, modul ini membaca satu baris, mengonversinya ke XML EN 16931, mengembalikan file yang dapat dibaca dan diurai oleh mesin, dan mengembalikannya ke dalam catatan.

Cari perangkat lunak faktur elektronik dan Anda akan mendapatkan perbandingan vendor: platform, paket perangkat lunak, harga per dokumen. Cari apakah Airtable dapat membuat faktur dan Anda akan mendapatkan penjelasan panjang lebar bahwa Airtable tidak bisa. Di antara kedua hasil tersebut, terdapat sebuah tim yang sudah menggunakan Airtable, baru saja diberi tahu bahwa faktur mereka harus dapat dibaca mesin, dan tidak ingin memindahkan operasional mereka ke platform faktur lain hanya untuk memenuhi persyaratan format. Skenario ini ditujukan untuk mereka.

Gambaran umum situasi
1. Watch records
Airtable mengambil baris dalam ZUGFeRD Requests di mana Status adalah Baru.
2. Create a ZUGFeRD invoice
PDF4me. Mengonversi JSON faktur ke XML EN 16931 di dalam PDF/A-3.
3. Upload an attachment
Airtable. Mengembalikan PDF hibrida ke dalam catatan yang sama.
4. Update a record
Airtable. Menuliskan kembali hasilnya sehingga baris tersebut menjelaskan apa yang terjadi.
5. Send an email
Gmail. Mengirimkan faktur elektronik kepada pembeli pada baris tersebut.
Versi singkatnya

Sebuah baris masuk ke dalam tabel Airtable yang berisi penjual, pembeli, satu item baris, dan total. Make mengambilnya, membangun objek JSON yang ringkas dari kolom-kolom tersebut, dan PDF4me mengubahnya menjadi PDF/A-3 dengan XML EN 16931 yang tertanam di dalamnya. File tersebut dikembalikan ke catatan sebagai lampiran dan dikirimkan ke pembeli melalui email. Lima modul, dan tidak ada yang menulis XML.

Tanya Jawab Berbasis Alasan​

Why run this from Airtable rather than an invoicing product?Karena data faktur biasanya merupakan produk sampingan dari pekerjaan yang sudah dilacak di suatu tempat. Jika proyek, klien, dan tarif yang disepakati tersimpan dalam sebuah basis data, maka basis data tersebut adalah sumber kebenaran yang paling mendekati. Memindahkannya ke dalam sebuah produk untuk memenuhi format file berarti menyimpan pelanggan yang sama di dua tempat selamanya.

Why describe the invoice as JSON instead of writing the XML?Karena sintaks Faktur Lintas Industri itu panjang, sangat bertingkat, dan tidak toleran terhadap letak setiap kode. Objek JSON mengatakan hal yang sama dalam sebagian kecil ruang dengan kunci yang terbaca seperti istilah bisnis, dan PDF4me menghasilkan XML yang sesuai darinya. Bagian yang mudah salah adalah bagian yang tidak Anda kelola.

Why does the hybrid file matter?Karena faktur tersebut memiliki dua audiens. Sistem akuntansi pembeli membaca XML yang tertanam dan mencatat dokumen tersebut tanpa perlu ada yang memasukkannya secara manual; orang di bagian hutang usaha membuka file yang sama dan melihat sebuah halaman. Satu artefak memenuhi kebutuhan keduanya, itulah sebabnyaFeRD, forum Jerman yang berada di balik format tersebut, membangunnya dengan cara itu daripada hanya menentukan XML saja.

Why attach the result back to the record?Karena faktur elektronik yang tidak dapat Anda temukan kemudian hanyalah masalah yang Anda tunda. Menempatkan PDF di kolom Document pada baris tersebut mengaitkan artefak dengan data yang menghasilkannya, yang persis seperti yang Anda inginkan ketika pembeli mempermasalahkan angka tersebut delapan belas bulan kemudian.


Apa yang Akan Anda Dapatkan​

Input: sebuah baris Airtable yang berisi nomor faktur, tanggal, blok penjual, blok pembeli, satu item baris, dan total, dengan Status diatur ke Baru. Output: sebuah PDF/A-3 ZUGFeRD yang dilampirkan pada catatan tersebut, dan sebuah email kepada pembeli yang berisi file yang sama.

Airtable base PDF4me Live Automations with the ZUGFeRD Requests table open, showing rows RE-2026-0007 to RE-2026-0010 with InvoiceDate 2026-10-12, DueDate 2026-11-11, Currency EUR, SellerName Muster GmbH at Hauptstrasse 1, 10115 Berlin DE with SellerVATID DE123456789, BuyerName Test Kunde AG at Bahnhofstrasse 5, 80331 Muenchen DE, ItemDescription Consulting, Quantity 10.00, UnitPrice 100.50, VATRate 19.00, NetTotal 1005, VATAmount 191, GrossTotal 1196 and Status Generated

Satu baris per faktur. Setiap kolom di sini menjadi kunci dalam JSON yang dibangun oleh skenario.

Gmail showing the received message with subject Your e-invoice RE-2026-0009, the body reading Hello Test Kunde AG, Please find your ZUGFeRD e-invoice RE-2026-0009 attached, Total 1195.95 EUR, and one PDF attachment whose thumbnail shows the rendered German invoice

Pembeli melihat faktur biasa. Perangkat lunak mereka membaca XML di dalamnya.


Apa yang Anda Butuhkan​

  • A Make account.Open Make Lima modul tentang aplikasi standar.
  • PDF4me API key.Get your API key Satu koneksi PDF4me mencakup skenario tersebut.
  • An Airtable baseBasis data yang digunakan adalah PDF4me Live Automations dengan tabel bernama ZUGFeRD Requests, yang memuat header faktur, blok penjual termasuk ID PPN, blok pembeli, kolom item baris, total, kolom Email, kolom Status, dan kolom lampiran bernama Document.
  • A Gmail accountuntuk pengiriman, terhubung ke Make.
  • Your seller details including a VAT ID. Tagihan tersebut berasal dari kolom, sehingga satu basis data dapat digunakan untuk menagih lebih dari satu badan hukum.
Lihat artikel lengkapnya terlebih dahulu.
Ini adalah file persis yang dihasilkan oleh skenario yang direkam untuk baris RE-2026-0009. Buka file ini di pembaca untuk melihat halamannya, dan di validator ZUGFeRD untuk melihat XML yang tertanam di dalamnya.
Unduh sample-output-zugferd-re-2026-0009.pdf

Gambaran Skenario Secara Singkat​

  1. Watch records (Airtable) mengambil baris baru di ZUGFeRD Requests.
  2. Create a ZUGFeRD invoice (PDF4me) yang mengkonversi JSON menjadi PDF hibrida.
  3. Upload an attachment (Airtable) akan melampirkannya ke kolom Document pada baris yang sama.
  4. Update a record (Airtable) akan menuliskan hasilnya kembali.
  5. Send an email (Gmail) akan mengirimkan faktur elektronik kepada pembeli.

Gambaran umum skenario lengkap​

The Make scenario canvas showing five connected modules in order: Airtable Watch records with a clock icon, PDF4me Create a ZUGFeRD invoice, Airtable Upload an attachment, Airtable Update a record, and Gmail Send an email, each marked with a green tick and one operation

Bentuk lima modulnya sama seperti skenario QR Swiss. Hanya modul PDF4me di tengah yang berbeda.


Langkah 1: Bagaimana cara memicu skenario dari baris Airtable?​

Alur sejauh ini: belum ada apa-apa, ini pemicunya.

Baris yang ditandai "siap" adalah permintaan untuk menerbitkan faktur.

  1. Tambahkan Airtable > Watch records sebagai pemicu.
  2. Konfigurasi:
    • Basis: PDF4me Live Automations
    • Meja: ZUGFeRD Requests
    • Trigger field: Created
    • Label field: Title
    • Membatasi: 10
    • Rumus: {Status}='New'

Konfigurasi Watch records​

Make Airtable Watch records module with Base set to PDF4me Live Automations, Table ZUGFeRD Requests, Trigger field Created, Label field Title, Limit 10, View left empty and Formula braces Status equals New

Status adalah saklarnya. Tidak ada yang diterbitkan sampai seseorang mengubah status baris menjadi Baru.


Langkah 2: Bagaimana cara mengubah baris menjadi faktur ZUGFeRD?​

Alur sejauh ini: pemicu Airtable.

Ini adalah modul yang menghasilkan faktur elektronik. Pengaturan menentukan format; JSON menentukan kontennya.

  1. Tambahkan PDF4me > Create a ZUGFeRD invoice.
  2. Konfigurasikan output:
    • File Name: ZUGFeRD_ ditambah InvoiceNumber ditambah .pdf
    • Input Format: JSON
    • Output Mode: XML With PDF
    • ZUGFeRD Version: 2*
    • Conformance Level: EN16931
    • Render Invoice on PDF: Yes
  3. Tempelkan objek faktur ke dalam Invoice JSON Data dan petakan kolom-kolomnya di:
{
"InvoiceId": "{{1.InvoiceNumber}}",
"TypeCode": "380",
"InvoiceType": "RECHNUNG",
"IssueDate": "{{formatDate(1.InvoiceDate; "YYYY-MM-DD")}}T00:00:00",
"DeliveryDate": "{{formatDate(1.InvoiceDate; "YYYY-MM-DD")}}T00:00:00",
"IsTest": false,
"Seller": {
"Name": "{{1.SellerName}}",
"VatId": "{{1.SellerVATID}}",
"Address": {
"Street": "{{1.SellerStreet}}",
"PostalCode": "{{1.SellerPostalCode}}",
"City": "{{1.SellerCity}}",
"Country": "{{1.SellerCountry}}"
}
},
"Buyer": {
"Name": "{{1.BuyerName}}",
"Address": {
"Street": "{{1.BuyerStreet}}",
"PostalCode": "{{1.BuyerPostalCode}}",
"City": "{{1.BuyerCity}}",
"Country": "{{1.BuyerCountry}}"
}
},
"LineItems": [
{
"ProductName": "{{1.ItemDescription}}",
"Quantity": {{1.Quantity}},
"UnitCode": "C62",
"UnitPrice": {{1.UnitPrice}},
"LineTotal": {{parseNumber(1.NetTotal; ".")}}
}
],
"Totals": {
"Currency": "{{1.Currency}}",
"LineTotal": {{parseNumber(1.NetTotal; ".")}},
"TaxBasisTotal": {{parseNumber(1.NetTotal; ".")}},
"TaxPercent": {{1.VATRate}},
"TaxTotal": {{parseNumber(1.VATAmount; ".")}},
"GrandTotal": {{parseNumber(1.GrossTotal; ".")}},
"ChargeTotal": 0,
"AllowanceTotal": 0
},
"Payment": {
"Currency": "{{1.Currency}}",
"PaymentReference": "{{1.InvoiceNumber}}",
"DueDate": "{{formatDate(1.DueDate; "YYYY-MM-DD")}}T00:00:00"
}
}

Tiga bagian dari objek tersebut layak untuk diperhatikan. TypeCode 380 adalah kode untuk faktur komersial dan bersifat tetap, tidak diturunkan dari apa pun di basis data. UnitCode C62 adalah kode UN/ECE untuk "satu dari sesuatu", yang Anda butuhkan untuk jam atau unit layanan. Dan blok Payment di bagian akhir berisi PaymentReference, teks yang dikutip pembeli saat mereka membayar, yang di sini hanyalah nomor faktur.

Create a ZUGFeRD invoice​

Make PDF4me Create a ZUGFeRD invoice module showing File Name ZUGFeRD_ plus the InvoiceNumber token plus .pdf, an empty Document slot for a base PDF, Input Format JSON, an Invoice JSON Data block containing InvoiceId, TypeCode 380, InvoiceType RECHNUNG, IssueDate and DeliveryDate from formatDate expressions, Seller and Buyer objects with addresses, a LineItems array with UnitCode C62, a Totals object, then Output Mode XML With PDF, ZUGFeRD Version 2 star, Conformance Level EN16931 and Render Invoice on PDF set to Yes

Bidang tersebut dapat digulir di editor, sehingga hanya sebagian objek yang terlihat sekaligus. Blok di atas adalah keseluruhan objek tersebut.

Apa yang diputuskan oleh setiap pengaturan​

BidangNilai di siniApa yang dikendalikannya
Input FormatJSONBahwa Anda menyediakan objek terstruktur, bukan XML atau baris CSV yang sudah jadi.
Output ModeXML With PDFMengembalikan satu file hibrida. XML Only mengembalikan XML faktur saja.
ZUGFeRD Version2*Generasi 2.x, yang sesuai dengan EN 16931 Versi lama 1.0 tidak sesuai.
Conformance LevelEN16931Profil yang diklaim dipenuhi oleh faktur, dan oleh karena itu kunci mana yang harus disediakan oleh JSON.
Render Invoice on PDFYesBuatlah halaman faktur yang mudah dibaca dari data yang sama. Tanpa PDF dasar yang disediakan, inilah yang memberikan sisi manusiawi pada file tersebut.
DocumentkosongDi sinilah seharusnya terdapat PDF dasar dengan kop surat Anda. Biarkan kosong dan PDF4me akan menampilkan halaman polos.

Tip.Kunci uang dan kuantitas harus datang sebagai angka mentah, bukan string yang dikutip, itulah sebabnya kunci tersebut diproses.parseNumber sementara kolom teks dibungkus dalam tanda kutip. Sebuah kutipan"1005" akan ditolak jika polos1005 diterima, dan kesalahan yang Anda dapatkan akan membahas skema, bukan tanda kutip. Perhatikan argumen kedua:parseNumber(1.NetTotal; ".") memberi tahu Make pemisah desimalnya berupa titik. Hilangkan saja dan gunakan locale yang menulis1005,00 akan menghasilkan angka yang salah daripada gagal, yang merupakan hasil terburuk.


Langkah 3: Bagaimana cara Anda memasukkan kembali faktur elektronik ke dalam catatan?​

Alur sejauh ini: pemicu ditambah modul PDF4me.

  1. Tambahkan Airtable > Upload an attachment.
  2. Konfigurasi:
    • Base dan Table: seperti pada langkah 1
    • Record ID: id dari pemicu.
    • Attachment field: Document
    • File: hasil keluaran PDF4me - Create a ZUGFeRD invoice
    • File name: ZUGFeRD_ ditambah InvoiceNumber ditambah .pdf
    • Data: Keluaran Document modul 2
    • Content type: PDF file

Upload an attachment​

Make Airtable Upload an attachment module with Base PDF4me Live Automations, Table ZUGFeRD Requests, Record ID mapped from the trigger id, Attachment field Document, File set to the PDF4me Create a ZUGFeRD invoice output, File name ZUGFeRD_ plus the InvoiceNumber token plus .pdf, Data set to the module 2 Document output and Content type PDF file

Content type di sini adalah PDF file. Skenario QR Swiss menggunakan gambar PNG di slot yang sama.


Langkah 4: Bagaimana cara Anda mencatat hasilnya pada baris tersebut?​

Alur sejauh ini: semuanya melalui pengunggahan lampiran.

  1. Tambahkan Airtable > Update a record.
  2. Konfigurasi:
    • Base dan Table: seperti pada langkah 1
    • Record ID: id dari pemicu.
    • Record: isi hanya apa yang ingin Anda tulis kembali, yang biasanya berupa Status dan OutputLink

Update a record​

Make Airtable Update a record module with Base PDF4me Live Automations, Table ZUGFeRD Requests, Record ID mapped from the trigger, and the Record section listing the table fields Title, InvoiceNumber, InvoiceDate, DueDate, Currency with its Map toggle enabled, SellerName, SellerStreet, SellerPostalCode, SellerCity and SellerCountry as empty inputs

Setiap kolom dalam tabel muncul di sini. Tangkapan layar menunjukkan kolom-kolom tersebut kosong dan panelnya digulir, jadi atur Status dengan sengaja.

Tip.Kolom yang dipetakan tetapi kosong akan menghapus isi sel. Pada tabel faktur, ini berarti ID PPN kosong atau tanggal jatuh tempo yang hilang pada proses yang sebelumnya dilaporkan berhasil, jadi biarkan saja semua yang tidak Anda tulis secara sengaja.


Langkah 5: Bagaimana cara Anda mengirimkan faktur elektronik kepada pembeli?​

Alur sejauh ini: semuanya melalui pembaruan catatan.

Faktur elektronik yang tersimpan di basis data belum diterbitkan.

  1. Tambahkan Gmail > Send an email.
  2. Konfigurasi:
    • To: kolom Email dari pemicu
    • Subject: Your e-invoice beserta InvoiceNumber
    • Body type: Raw HTML
    • Content: sebuah teks HTML singkat yang menyebutkan nama pembeli, faktur, dan total.
  3. Tambahkan lampiran:
    • File: PDF4me - Create a ZUGFeRD invoice
    • File name: ZUGFeRD_ ditambah InvoiceNumber ditambah .pdf
    • Data: Keluaran Document modul 2

Send an email​

Make Gmail Send an email module with the recipient mapped from the Email column, Subject Your e-invoice plus the InvoiceNumber token, Body type Raw HTML, an HTML content block greeting the buyer and stating the gross total and currency, and one attachment taking the PDF4me module output with the file name ZUGFeRD_ plus InvoiceNumber plus .pdf

Lampiran tersebut berasal dari modul 2, jadi Airtable tidak pernah membaca kembali file tersebut.


Jalankan Skenario dan Verifikasi​

  1. Save skenario dan jalankan sekali.
  2. Tambahkan baris ke ZUGFeRD Requests dengan penjual, pembeli, satu item baris, kedua tanggal, dan Status New.
  3. Kelima modul tersebut masing-masing harus melaporkan satu operasi.
  4. Buka baris tersebut: kolom Document seharusnya berisi file PDF yang diberi nama sesuai dengan nomor faktur.
  5. Buka lampirannya. Anda akan melihat halaman faktur yang dapat dibaca, dan validator ZUGFeRD akan menemukan XML EN 16931 di dalam file yang sama.
  6. Periksa kotak masuk pembeli untuk pesan dan lampirannya.

Dalam proses yang tercatat, baris RE-2026-0009 menghasilkan faktur dari Muster GmbH di Berlin dengan ID PPN DE123456789 kepada Test Kunde AG di Muenchen, sepuluh unit Consulting seharga 100,50, dan email tersebut melaporkan total sebesar 1195,95 EUR.

Do not trust the grid for decimals.Tabel Airtable menunjukkan VATAmount 191 dan GrossTotal 1196, sedangkan faktur dan email sama-sama menunjukkan 190.95 dan 1195.95. Tidak ada yang dihitung ulang: TaxTotal dan GrandTotal dibaca langsung dari kedua kolom tersebut. Tabel hanya menampilkannya dengan presisi yang telah diatur pada kolom angka. Perluas presisi tersebut sebelum ada yang mencoba mencocokkan kolom dengan faktur, karena angka-angka tersebut hanya terlihat tidak konsisten.


Variasi Umum yang Dapat Anda Tambahkan Tanpa Membangun Ulang​

Faktur lebih dari satu baris
LineItems sudah berupa array. Simpan baris-baris tersebut dalam tabel tertaut kedua, ambil data tersebut dengan Search records, dan buat array dengan aggregator sebelum modul PDF4me.
Cantumkan di kop surat Anda.
Slot Document di modul 2 menerima PDF dasar. Masukkan halaman bermerek, dan Render Invoice on PDF akan menggambar faktur di atas halaman tersebut, bukan di halaman kosong.
Simpan juga file XML secara terpisah.
Beberapa pembeli menginginkan file terstruktur tersebut secara terpisah. Jalankan modul untuk kedua kalinya dengan Output Mode diatur ke XML Only dan lampirkan hasilnya bersamaan dengan PDF.
Ubah format sesuai kebutuhan pembeli
Tambahkan kolom format dan perute. Pembeli sektor publik di Jerman biasanya menginginkan XRechnung daripada file hibrida, dan itu adalah keputusan perutean, bukan pembangunan ulang.

Bagaimana perbandingannya dengan cara lain untuk membuat faktur elektronik?​

Setiap baris menjelaskan alternatifnya. Baris terakhir adalah skenario ini.

PerbandinganSiapa yang menjalankannya?Dari mana data tersebut berasal?Apa yang Anda pertahankan
Platform e-invoicing vs skenario iniKeuangan, melalui sebuah portalUnggahan atau integrasiKontrak per dokumen dan keterkaitannya dengan kontrak tersebut.
Modul ERP vs skenario iniKeuangan, di dalam ERPBuku besar internal ERPLisensi, dan migrasi untuk memasukkan data Anda.
Pustaka pengembang vs skenario iniSeorang pengembang, di dalam sebuah aplikasi.Basis data Anda, melalui kode.Kode, pembaruan skema, dan rilisnya
Skenario iniSiapa pun yang dapat menambahkan baris AirtableBasis yang sudah dimiliki timLima modul dan satu objek JSON

Pertanyaan umum​

Apa itu otomatisasi hutang usaha?​

Di sisi penerima, ini berarti faktur tiba, kolom-kolomnya dibaca tanpa ada yang memasukkan data secara manual, angka-angkanya diperiksa, dan hasilnya dikirim atau diteruskan untuk persetujuan. Faktur elektronik hibrida inilah yang membuat langkah pembacaan menjadi andal, karena data tersebut tertanam di dalamnya dan bukan diambil dari gambar halaman.

Skenario ini merupakan bagian pengiriman dari pengaturan tersebut. Menghasilkan file yang dapat diuraikan oleh sistem pembeli memungkinkan proses pembayaran hutang mereka berjalan tanpa pengawasan.

Bisakah Airtable membuat faktur?​

Yang tidak sesuai standar. Airtable dapat menyimpan data faktur dan menampilkannya dalam antarmuka atau tampilan yang dapat dicetak, tetapi tidak dapat menghasilkan PDF/A-3 yang memuat XML sesuai standar EN 16931, dan itulah yang diminta oleh mandat faktur elektronik.

Pembagian yang digunakan dalam skenario ini adalah pembagian praktis: Airtable adalah catatan, PDF4me menghasilkan artefak, dan artefak tersebut dikembalikan ke catatan sebagai lampiran.

Bagaimana cara kerja otomatisasi pembayaran hutang?​

Sistem ini bekerja dalam tiga bagian: penerimaan, ekstraksi, dan posting. Penerimaan adalah mengumpulkan dokumen di satu tempat; ekstraksi mengubahnya menjadi kolom; posting menulis kolom-kolom tersebut ke dalam buku besar, biasanya dengan gerbang kepercayaan atau persetujuan di depannya.

Faktur elektronik hibrida memangkas bagian tengah. Ketika XML sudah ada di dalam file, ekstraksi menjadi penguraian (parsing) dan bukan pengenalan (recognition), itulah sebabnya peraturan terus mendorong ke arah tersebut.

Apa itu otomatisasi Airtable?​

Airtable menyediakan pembuat otomatisasi sendiri untuk pemicu dan tindakan di dalam basis data, dan itu mencakup banyak pekerjaan internal. Namun, Airtable tidak dapat memanggil API dokumen dan mengembalikan file untuk bidang lampiran, yang merupakan langkah yang dibutuhkan dalam skenario ini.

Make berada di sampingnya justru karena alasan itu. Pemicunya masih memantau tabel Airtable, tetapi bagian tengah skenario dapat mengakses layanan yang tidak dapat dijangkau oleh otomatisasi Airtable sendiri.


Penyelesaian Masalah​

Modul tersebut menolak JSON faktur.

Buka bundel input modul di riwayat eksekusi dan baca sebagai JSON. Kolom Airtable yang kosong menyebabkan kunci kosong, dan nilai uang yang mempertahankan tanda kutipnya tiba sebagai teks di tempat yang seharusnya berupa angka. Keduanya menghasilkan objek yang terlihat baik tetapi tetap gagal dikonversi.

Validator menolak tingkat kesesuaian.

Conformance Level menentukan bidang mana yang dibutuhkan profil. Mengklaim EN16931 sementara JSON menghilangkan kunci yang diharapkan profil akan menyebabkan validasi gagal meskipun file terbuka secara normal. Berikan kunci yang hilang atau turun ke profil yang lebih rendah.

File PDF terbuka kosong.

Render Invoice on PDF diatur ke "Tidak" dan tidak ada PDF dasar yang diberikan, sehingga XML disematkan tanpa ada gambar apa pun. File tersebut masih merupakan faktur elektronik yang valid, tetapi bagian informasi manusianya kosong.

Pembeli mengatakan tidak ada XML dalam file tersebut.

Periksa apakah Output Mode adalah XML With PDF, lalu periksa apakah modul 3 dan 5 sama-sama mengambil data dari modul 2. Melampirkan hal lain akan mengirimkan halaman yang terlihat benar tetapi tidak berisi apa pun yang dapat dibaca oleh perangkat lunak mereka.


Langkah Selanjutnya​

Mandat biasanya muncul sebagai masalah format file. Ini sebenarnya pertanyaan tentang di mana data faktur Anda sudah tersimpan, dan apakah ada perangkat lunak yang dapat membacanya.