Lewati ke konten utama

Templat Faktur Excel di Power Automate: Isi dari Daftar SharePoint dan Arsipkan Setiap Faktur sebagai PDF/A dengan PDF4me

· Satu menit membaca
SEO and Content Writer

PDF4me Excel - Populate adalah tindakan Power Automate yang mengisi templat faktur Excel dengan data JSON. Di sini, item daftar SharePoint baru menyediakan data, Populate menuliskannya ke dalam penanda pintar templat, dan tiga tindakan PDF4me lainnya mengubah buku kerja menjadi faktur PDF/A terkompresi yang disimpan SharePoint secara otomatis.

Cari templat faktur Excel dan halaman pertama akan menampilkan galeri. Microsoft, Vertex42, QuickBooks, dan Square semuanya menawarkan buku kerja kosong yang dirancang dengan baik, dan semuanya berhenti pada tahap pengunduhan. Tak satu pun dari mereka menjelaskan bagaimana templat tersebut diisi, yang dalam praktiknya berarti seseorang menyalin detail pelanggan ke dalam sel, mengekspor ke PDF, memberi nama file, dan memasukkannya ke dalam folder, satu faktur per satu. Alur ini mempertahankan bagian yang sudah tepat dari halaman-halaman tersebut, yaitu templat yang dapat dirancang siapa pun di Excel, dan menghilangkan setiap langkah yang terjadi setelah pengunduhan.

Alur secara sekilas
1. When an item is created
Trigger SharePoint pada daftar bernama Excel Template. Setiap baris baru mewakili satu faktur.
2. Compose
Mengubah bentuk baris daftar datar menjadi JSON RootData bersarang yang diharapkan oleh template.
3. Get file content using path
Membaca templat faktur Excel dari Shared Documents pada setiap eksekusi.
4. Excel - Populate
PDF4me Excel. Menulis JSON ke dalam penanda pintar di lembar 1.
5. Convert to PDF
PDF4me Convert. Merender buku kerja yang telah diisi sebagai Invoice.pdf.
6. PDF - Compress
Optimize Profile Web. Berjalan sebelum standar pengarsipan diterapkan.
7. PDF - Create PdfA
Compliance PdfA2b. Langkah yang mengubah faktur menjadi catatan.
8. Create file
SharePoint menulis ExcelArchived.pdf ke dalam /Shared Documents/ArchivedExcel.
Versi singkatnya

Sebuah baris masuk ke dalam daftar SharePoint. Power Automate mengubahnya menjadi JSON, mengisi templat faktur Excel dengannya, mengkonversi buku kerja ke PDF, mengompresnya, mengkonversinya ke PDF/A-2b, dan menulis hasilnya ke folder SharePoint. Delapan langkah, sekitar tiga puluh enam detik per faktur, dan tidak ada yang membuka Excel.

Tanya Jawab Berbasis Alasan

Mengapa menggunakan buku kerja Excel sebagai templat faktur? Karena di situlah faktur sudah dirancang. Lebar kolom, sel yang digabungkan, font, dan batas semuanya diatur di Excel, sehingga orang yang memiliki tata letak dapat mengubahnya tanpa menyentuh alur atau mempelajari HTML. Satu-satunya persyaratan adalah setiap sel yang berisi nilai harus memiliki penanda pintar (smart marker) alih-alih teks contoh, dan langkah 4 menunjukkan persis seperti apa tampilannya.

Mengapa alur kerja membutuhkan tindakan Compose? Karena baris daftar SharePoint bersifat datar dan templatnya tidak. Daftar tersebut menyimpan dua item baris sebagai sepuluh kolom terpisah, Item1Description hingga Item2TaxRate. Templat memiliki satu baris item yang berulang untuk setiap entri dalam larik Items. Compose adalah tempat sepuluh kolom menjadi larik dua elemen, dan larik itulah yang membuat baris tersebut berulang.

Mengapa mengkonversi faktur ke PDF/A alih-alih mempertahankan format .xlsx? Sebuah buku kerja adalah dokumen yang dinamis. Siapa pun yang membukanya dapat mengubah kuantitas, dan rumus dapat menghitung ulang total yang berbeda di mesin yang berbeda. PDF memperbaiki apa yang sebenarnya tercantum dalam faktur. PDF/A selangkah lebih maju dan menyematkan semua yang dibutuhkan untuk menampilkan halaman, termasuk font, yang merupakan hal yang Anda inginkan untuk dokumen yang biasanya harus tetap terbaca selama bertahun-tahun setelah dikirim.

Mengapa menyimpan templat di pustaka SharePoint dan bukan di dalam alur kerja? Karena alur kerja membacanya ulang setiap kali dijalankan. Ubah logo, warna, atau urutan kolom di SharePoint, dan faktur berikutnya akan menggunakan tata letak baru tanpa perlu ada yang mengedit alur kerja. Riwayat versi SharePoint juga menyimpan setiap salinan templat sebelumnya, sehingga perubahan tata letak yang buruk dapat dikembalikan dari sana.


Apa yang Akan Anda Dapatkan

Input: baris daftar SharePoint yang berisi header faktur, detail pelanggan, dan dua item baris. Output: faktur PDF/A-2b terkompresi, ExcelArchived.pdf, di folder /Shared Documents/ArchivedExcel pada situs yang sama.

Daftar SharePoint bernama Templat Excel dengan empat baris faktur, Shyam Prasad-INV, Sarah Brown - INV 01, Larry Wheels - 01 dan Morris - INV, dan kolom Judul, Tanggal dan waktu, Tanggal jatuh tempo, Nomor PO, Syarat pembayaran, Email Perusahaan, Alamat Perusahaan, Nama Pelanggan, Email Pelanggan, Perusahaan Pelanggan, Alamat Pelanggan, Kota, Negara Bagian, Kode Pos Pelanggan, kemudian Deskripsi, Kuantitas, Harga Satuan, Diskon dan Tarif Pajak untuk Item1 dan Item2

Sumber data: satu baris daftar per faktur, dengan lebar dua puluh dua kolom. Baris terakhir, Morris - INV, adalah baris yang menghasilkan contoh output.

Pustaka Dokumen SharePoint terbuka di folder ArchivedExcel, menampilkan ExcelArchived.pdf yang dimodifikasi beberapa detik yang lalu oleh akun Pdf4me Flow.

ExcelArchived.pdf di folder ArchivedExcel, ditulis oleh akun alur beberapa detik setelah baris ditambahkan.


Apa yang Anda Butuhkan

  • Power Automate. Buka Power Automate. Alur kerja berbasis cloud dengan konektor standar. SharePoint dan konektor PDF4me tidak memerlukan paket premium.
  • Kunci API PDF4me. Dapatkan kunci API Anda. Alur ini menggunakan tiga koneksi PDF4me, PDF4me Excel, PDF4me Convert, dan PDF4me PDF. Satu kunci mengotorisasi ketiga koneksi tersebut.
  • Situs SharePoint dengan daftar yang kolomnya sesuai dengan pemetaan Compose, ditambah pustaka dokumen untuk templat dan output. Alur yang ditangkap menggunakan daftar Excel Template, folder /Shared Documents/Excel Template untuk buku kerja, dan /Shared Documents/ArchivedExcel untuk faktur.
  • Templat faktur Excel pdf4me-excel-invoice-template.xlsx. Satu lembar, penanda pintar sudah terpasang.
  • File Compose JSON. compose-rootdata.json. Pemetaan RootData yang tepat dari langkah 2, siap untuk ditempel.
  • Faktur yang sudah jadi. excel-archived-invoice.pdf. PDF/A-2b, persis seperti yang dihasilkan dari proses yang direkam.

Ambil sampelnya terlebih dahulu. Unggah templat ke pustaka SharePoint Anda, tempel JSON ke dalam tindakan Compose, lalu bandingkan hasil percobaan pertama Anda dengan faktur yang sudah jadi. Buka properti dokumennya dan Anda akan melihat deklarasi PDF/A-2b. Mengetahui seperti apa output yang benar adalah cara tercepat untuk mengetahui apakah percobaan Anda benar-benar berhasil.


Gambaran Alur Secara Singkat

  1. When an item is created (pemicu SharePoint), sistem akan memantau daftar bernama Excel Template.
  2. Compose membangun JSON RootData dari baris baru.
  3. Get file content using path membaca templat dari /Shared Documents/Excel Template.
  4. Excel - Populate (PDF4me Excel) menggabungkan JSON ke dalam lembar kerja 1.
  5. Convert to PDF (PDF4me Convert) akan menghasilkan buku kerja sebagai Invoice.pdf.
  6. PDF - Compress (PDF4me PDF) dengan Optimize Profile Web.
  7. PDF - Create PdfA (PDF4me PDF) dengan Compliance PdfA2b.
  8. Create file (SharePoint) ke dalam /Shared Documents/ArchivedExcel.

Gambaran alur lengkap

Riwayat eksekusi Power Automate menunjukkan delapan tindakan yang berhasil secara berurutan: Saat item dibuat pada 0,3 detik, Compose pada 0 detik, Dapatkan konten file menggunakan jalur pada 0,5 detik, Excel Populate pada 0,8 detik, Konversi ke PDF pada 10 detik, Kompres PDF pada 11 detik, Buat PDFA pada 11 detik, dan Buat file pada 2 detik.

Proses yang menghasilkan contoh faktur ini meliputi Convert, Compress dan Create PdfA yang masing-masing membutuhkan waktu sepuluh hingga sebelas detik, dan semua proses lainnya selesai dalam waktu kurang dari satu detik kecuali penulisan ke SharePoint yang memakan waktu dua detik. Alokasikan sekitar tiga puluh enam detik per faktur.


Langkah 1: Bagaimana cara memicu alur kerja (flow) saat item daftar SharePoint dibuat?

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

Setiap baris baru dalam daftar adalah satu faktur, jadi pemicunya adalah daftar itu sendiri.

  1. Buat Automated cloud flow dan pilih SharePoint > When an item is created.
  2. Konfigurasi:
    • Site Address: PDF4me Sharepoints - https://ynoox1.sharepoint.com/sites/PDF4meSharepoints
    • List Name: Excel Template

Konfigurasi pemicu SharePoint

Panel pemicu SharePoint saat item dibuat dengan Alamat Situs diatur ke PDF4me Sharepoints di ynoox1.sharepoint.com/sites/PDF4meSharepoints dan Nama Daftar diatur ke Templat Excel, parameter lanjutan menunjukkan 0 dari 1, terhubung ke SharePoint.

Satu daftar, satu pemicu. Kolom Title bawaan daftar tersebut berisi nomor faktur, itulah sebabnya langkah selanjutnya memetakan Nomor ke Title.

Tip. Ekspresi menggunakan nama internal kolom, bukan nama yang Anda lihat di daftar. Daftar menunjukkan kolom bernama Date and time, tetapi pemicu mengembalikannya sebagai Dateandtime, dan itulah nama yang harus digunakan oleh Compose. Nama yang salah tidak akan menyebabkan eksekusi gagal. Tanda tanya ? dalam triggerBody()?['Dateandtime'] diam-diam mengembalikan null, sehingga faktur hanya akan muncul dengan tanggal kosong.


Langkah 2: Bagaimana cara mengubah baris SharePoint biasa menjadi JSON untuk templat Excel?

Alur sejauh ini: Pemicu SharePoint.

Templat ini mengharapkan struktur bersarang: header faktur, blok perusahaan, blok pelanggan, dan daftar item. Baris daftar bersifat datar. Compose adalah lapisan penerjemahan antara keduanya.

  1. Data Operation > Compose.
  2. Tempelkan ini ke Inputs. Setiap nilai adalah ekspresi triggerBody()?['<column>'] yang menunjuk ke satu kolom daftar.
{
"RootData": {
"Invoice": [
{
"Number": "@{triggerBody()?['Title']}",
"Date": "@{triggerBody()?['Dateandtime']}",
"DueDate": "@{triggerBody()?['DueDate']}",
"PONumber": "@{triggerBody()?['PONumber']}",
"PaymentTerms": "@{triggerBody()?['PaymentTerms']}"
}
],
"Company": [
{
"Email": "@{triggerBody()?['CompanyEmail']}",
"Address": "@{triggerBody()?['CompanyAddress']}"
}
],
"Customer": [
{
"Name": "@{triggerBody()?['CustomerName']}",
"Email": "@{triggerBody()?['CustomerEmail']}",
"Company": "@{triggerBody()?['CustomerCompany']}",
"Address": "@{triggerBody()?['CustomerAddress']}",
"CityStateZIP": "@{triggerBody()?['CustomerCityStateZIP']}"
}
],
"Items": [
{
"Description": "@{triggerBody()?['Item1Description']}",
"Qty": "@{triggerBody()?['Item1Qty']}",
"UnitPrice": "@{triggerBody()?['Item1UnitPrice']}",
"Discount": "@{triggerBody()?['Item1Discount']}",
"TaxRate": "@{triggerBody()?['Item1TaxRate']}"
},
{
"Description": "@{triggerBody()?['Item2Description']}",
"Qty": "@{triggerBody()?['Item2Qty']}",
"UnitPrice": "@{triggerBody()?['Item2UnitPrice']}",
"Discount": "@{triggerBody()?['Item2Discount']}",
"TaxRate": "@{triggerBody()?['Item2TaxRate']}"
}
]
}
}

Compose: tampilan kode

Aksi Power Automate Compose dalam tampilan kode dengan input RootData yang berisi array Invoice, Company, Customer, dan Items, setiap nilai dipetakan ke ekspresi triggerBody seperti Title, Dateandtime, DueDate, PONumber, PaymentTerms, CompanyEmail, CustomerName, dan Item1Description hingga Item2TaxRate.

Invoice, Company, dan Customer adalah array yang masing-masing berisi satu elemen. Items memiliki dua elemen, satu untuk setiap set kolom item dalam daftar.

Bagaimana setiap sel templat mendapatkan nilainya

Sel templatPenanda pintar di dalam selCompose jalurKolom SharePoint
Invoice No. (B12)&=RootData.Invoice.Number(noadd)Invoice[0].NumberTitle
Tanggal (B13)&=RootData.Invoice.Date(noadd)Invoice[0].DateDateandtime
Due Date (B14)&=RootData.Invoice.DueDate(noadd)Invoice[0].DueDateDueDate
PO Number (B15)&=RootData.Invoice.PONumber(noadd)Invoice[0].PONumberPONumber
Payment Terms (B16)&=RootData.Invoice.PaymentTerms(noadd)Invoice[0].PaymentTermsPaymentTerms
Email dan Alamat (B4, B5)&=RootData.Company.Email(noadd) dan .AddressCompany[0]CompanyEmail, CompanyAddress
Blok Customer (B6 hingga B10)&=RootData.Customer.Name(noadd) dan empat lagiCustomer[0]CustomerName menjadi CustomerCityStateZIP
Baris item (A19 hingga E19)&=RootData.Items.Description, .Qty, .UnitPrice, .Discount, .TaxRateItems[0] dan Items[1]Kolom Item1 dan Item2

Blok From (B3) berupa teks biasa, PDF4me, sehingga sama di setiap faktur. Ganti dengan nama perusahaan Anda sendiri di templat.


Langkah 3: Dari mana alur kerja membaca templat Excel?

Alur sejauh ini: Pemicu SharePoint ditambah Compose.

Templat tersebut adalah file biasa di pustaka dokumen. Alur kerja membacanya setiap kali dijalankan, jadi apa pun yang ada di SharePoint pada saat itu adalah tata letak yang akan digunakan.

  1. Tambahkan SharePoint > Get file content using path.
  2. Konfigurasi:
    • Site Address: PDF4me Sharepoints - https://ynoox1.sharepoint.com/sites/PDF4meSharepoints
    • File Path: /Shared Documents/Excel Template/PDF4me_Excel_SharePoint_Template_.xlsx
    • Infer content type (lanjutan): Yes

Get file content using path: konfigurasi

SharePoint Dapatkan konten file menggunakan tindakan jalur dengan Alamat Situs PDF4me Sharepoints, Jalur File /Shared Documents/Excel Template/PDF4me_Excel_SharePoint_Template_.xlsx dan parameter lanjutan Infer content type diatur ke Ya, terhubung ke SharePoint

Daftar dan folder templat sama-sama bernama Excel Template. Keduanya adalah hal yang berbeda: yang satu adalah daftar, yang lainnya adalah folder di Shared Documents.


Langkah 4: Bagaimana Excel - Populate mengisi templat faktur Excel?

Alur sejauh ini: Pemicu SharePoint ditambah Compose ditambah Get file content using path.

Ini adalah langkah yang melakukan pekerjaan yang biasanya dilakukan oleh galeri templat. Excel - Populate mengambil buku kerja dan JSON, menemukan setiap penanda cerdas, dan menulis nilai yang cocok ke dalam selnya.

  1. Tambahkan Excel - Populate dari koneksi PDF4me Excel.
  2. Konfigurasi:
    • File Content: Token Body dari Get file content using path
    • JSON Data: output dari Compose (token ditampilkan sebagai Body)
    • File Name: Populate.xlsx
    • Worksheet Indexes: 1
  3. Buka Advanced parameters dan atur tiga dari empat opsi berikut:
    • Strict JSON Strings: Yes
    • Culture & Language Settings: en-US
    • Calculate Formulas: Yes

Excel - Populate: konfigurasi

Aksi PDF4me Excel Populate dengan Konten File diatur ke token Body dari SharePoint, Data JSON diatur ke token Body dari Compose, Nama File Populate.xlsx, Indeks Lembar Kerja 1, dan parameter lanjutan String JSON Ketat Ya, Pengaturan Budaya dan Bahasa en-US dan Hitung Rumus Ya, terhubung ke PDF4me Excel

Dua input yang menjalankan tugas ini adalah: byte template dari SharePoint dan JSON dari Compose. Selebihnya hanyalah pemformatan dan cakupan.

Templat ini menggunakan dua jenis spidol, dan perbedaan di antara keduanya adalah kunci utamanya:

  • Sel header seperti Invoice No. berisi &=RootData.Invoice.Number(noadd). Pengubah (noadd) menulis nilai di tempatnya dan tidak pernah menyisipkan baris.
  • Baris item berisi &=RootData.Items.Description, &=RootData.Items.Qty, dan seterusnya, tanpa pengubah. Baris tersebut ditulis sekali untuk setiap elemen dari array Items, sehingga dua item menghasilkan dua baris, dan item ketiga akan menghasilkan baris ketiga.

Tata bahasa lengkap, termasuk pengubah, jalur bersarang, dan penanganan rumus, terdapat dalam ikhtisar sintaksis Excel Populate. Untuk tindakan Isi saja, dengan templat Dropbox dan muatan JSON sebaris, lihat mengisi templat Excel dari JSON di Power Automate.

Tips. Setiap nilai dalam Compose berada di dalam tanda kutip sebagai interpolasi string, sehingga kuantitas dan harga masuk ke templat sebagai teks. Dengan Strict JSON Strings diatur ke Yes, nilainya tetap berupa teks, yang akan tercetak dengan benar dan sudah cukup untuk templat ini. Jika Anda menambahkan total baris atau SUM, atur ke No agar string yang terlihat numerik menjadi angka sebenarnya. Jika tidak, SUM akan melewatinya, karena Excel tidak menjumlahkan angka yang disimpan sebagai teks.


Langkah 5: Bagaimana cara mengkonversi buku kerja yang sudah terisi ke PDF?

Alur sejauh ini: Pemicu SharePoint ditambah Compose ditambah Get file content using path ditambah Excel - Populate.

Buku kerja yang sudah terisi hanya ada di dalam proses eksekusi. Buku kerja tersebut tidak pernah disimpan sebagai file .xlsx; melainkan langsung masuk ke konverter.

  1. Tambahkan Convert to PDF dari koneksi PDF4me Convert.
  2. Konfigurasi:
    • File Content: token Output File Content dari Excel - Populate
    • File Name: Invoice.pdf

Convert to PDF: konfigurasi

Tindakan PDF4me Konversi ke PDF dengan Konten File diatur ke token Konten File Output dari Excel Populate dan Nama File diatur ke Invoice.pdf, terhubung ke PDF4me Convert

Output File Content adalah buku kerja yang telah diisi. File ini tidak pernah diproses di SharePoint sebagai file .xlsx.

Tips. Alur yang ditangkap menggunakan Invoice.pdf sebagai File Name dan tetap mengkonversi dengan benar. Namun, referensi Convert to PDF meminta ekstensi file sumber, jadi Invoice.xlsx adalah nilai yang lebih aman saat Anda membuat sendiri.

Atur tata letak halaman di templat, bukan di alur kerja. Convert to PDF mengikuti pengaturan halaman buku kerja. Templat contoh sedikit lebih lebar dari satu halaman Letter, sehingga faktur yang diambil memiliki kolom A hingga D di halaman satu dan hanya kolom Tax % di halaman dua. Buka templat di Excel, buka Page Layout dan atur Scale to Fit > Width menjadi 1 page, lalu simpan kembali ke SharePoint. Setiap faktur setelah itu akan sesuai dengan satu halaman.


Langkah 6: Bagaimana cara Anda mengompres faktur dan mengonversinya ke PDF/A?

Alur sejauh ini: semuanya melalui Convert to PDF.

Dua tindakan dari koneksi PDF4me PDF, kompresi pertama dan sertifikasi kedua. Membalikkan kedua tindakan tersebut akan memungkinkan kompresi untuk menulis ulang file yang telah dibuat sesuai standar.

  1. Tambahkan PDF - Compress.
    • File Content: token Body dari Convert to PDF
    • File Name: token headers/FileName yang dibawa dari tindakan sebelumnya
    • Optimize Profile: Web
  2. Tambahkan PDF - Create PdfA.
    • File Content: token Body dari PDF - Compress
    • File Name: token headers/FileName
    • Compliance: PdfA2b
    • Allow Upgrade: Yes
    • Allow Downgrade: Yes

Compress dan Create PdfA: parameter

TindakanParameterNilai yang digunakan di siniApa yang dikendalikannya
PDF - CompressOptimize ProfileWebUkuran berbanding terbalik dengan keakuratan. Faktur berupa teks dan tabel tanpa gambar tidak akan mengalami penurunan kualitas yang signifikan.
PDF - Create PdfACompliancePdfA2bISO 19005-2, level B. Halaman ini akan ditampilkan dengan cara yang sama pada penampil mana pun, bertahun-tahun kemudian.
PDF - Create PdfAAllow UpgradeYesMemungkinkan tindakan untuk beralih ke tingkat yang lebih tinggi ketika tingkat yang diminta tidak dapat dicapai.
PDF - Create PdfAAllow DowngradeYesBiarkan saja stabil di level yang lebih rendah daripada gagal total.
Aksi kompresi PDF4me PDF dengan Konten File diatur ke token Body, Nama File diatur ke token FileName di header, dan Profil Optimasi diatur ke Web, terhubung ke PDF4me PDF

Compress bekerja pada faktur yang telah dikonversi, sebelum ada yang disertifikasi.

Tindakan PDF4me PDF Create PdfA dengan Konten File diatur ke token Body, Nama File diatur ke token FileName header, Kepatuhan PdfA2b, Izinkan Peningkatan Ya dan Izinkan Penurunan Ya, terhubung ke PDF4me PDF

Create PdfA adalah tindakan terakhir yang menyentuh dokumen, dan memang seharusnya berada di tempat tersebut.

Pasangan yang sama melakukan pekerjaan yang sama pada file yang sudah ada di SharePoint dalam pengarsipan PDF di Power Automate dengan folder SharePoint tanpa pengawasan.


Langkah 7: Di mana faktur yang sudah selesai disimpan?

Alur sejauh ini: semuanya melalui Create PdfA.

Tindakan terakhir akan menulis kembali faktur yang telah disertifikasi ke situs SharePoint yang sama.

  1. Tambahkan SharePoint > Create file.
  2. Konfigurasi:
    • Site Address: PDF4me Sharepoints - https://ynoox1.sharepoint.com/sites/PDF4meSharepoints
    • Folder Path: /Shared Documents/ArchivedExcel
    • File Name: ExcelArchived.pdf
    • File Content: token Body dari PDF - Create PdfA

SharePoint Create file: konfigurasi

Tindakan Buat berkas SharePoint dengan Alamat Situs PDF4me Sharepoints, Jalur Folder /Shared Documents/ArchivedExcel, Nama Berkas ExcelArchived.pdf dan Konten Berkas diatur ke token Body dari PDF Create PdfA, terhubung ke SharePoint

Setiap aksi PDF4me menghasilkan token bernama Body, jadi label saja tidak memberi tahu Anda mana yang Anda pilih. Arahkan kursor ke sana, atau periksa tampilan kode untuk body('PDF_-_Create_PdfA').

Ubah ini sebelum Anda menayangkannya. ExcelArchived.pdf adalah nama tetap, jadi setiap item daftar baru akan ditulis ke file yang sama dan folder tersebut tidak akan pernah menyimpan lebih dari faktur terbaru. Buat nama dari barisnya saja. ID item daftar bersifat unik berdasarkan definisinya, jadi concat('Invoice-', triggerBody()?['ID'], '.pdf') selalu berfungsi. Nomor faktur di Title juga berfungsi, selama tidak pernah mengandung karakter yang ditolak SharePoint dalam nama file, seperti garis miring, titik dua, tanda bintang, atau tanda tanya.


Jalankan Alur dan Verifikasi

  1. Save alur di pojok kanan atas.
  2. Tambahkan item baru ke daftar bernama Excel Template dan isi setiap kolom yang digunakan templat tersebut.
  3. Buka riwayat eksekusi. Kedelapan tindakan tersebut seharusnya berwarna hijau, dengan Convert, Compress, dan Create PdfA membutuhkan waktu paling lama.
  4. Buka /Shared Documents/ArchivedExcel dan periksa apakah PDF tersebut ada di sana, dengan Modified By menunjukkan akun yang bertanggung jawab atas alur kerja.
  5. Buka file tersebut dan bandingkan dengan baris dalam daftar, lalu periksa properti dokumennya untuk deklarasi PDF/A.

Faktur dari hasil pemrosesan yang ditangkap berukuran 37.876 byte. Faktur tersebut menampilkan baris Morris - INV: pelanggan Morris Luma di Invoicing.co, tertanggal 2026-09-01 dan jatuh tempo 2026-09-20, dengan dua item baris, PDF to Excel (kuantitas 60) dan PDFA (kuantitas 45). Metadata XMP-nya menyatakan pdfaid:part sebagai 2 dan pdfaid:conformance sebagai B, yang merupakan PDF/A-2b jika dilihat dari dalam. Faktur ini terdiri dari dua halaman, bukan satu, karena alasan pengaturan halaman yang dibahas pada langkah 5.

Apa yang sebenarnya Anda bangun? Sebuah alur kerja pembuatan faktur di mana satu-satunya langkah manual adalah memasukkan data. Tata letaknya tersimpan dalam file Excel yang dapat diedit siapa pun, datanya tersimpan dalam daftar, dan hasilnya adalah file PDF arsip mandiri yang disimpan tanpa perlu diputuskan oleh siapa pun. Pola ini juga tidak terikat pada Power Automate: pola ini berlaku untuk Make, Zapier, dan n8n di mana pun tindakan PDF4me Excel dan PDF/A tersedia.


Variasi Umum yang Dapat Anda Tambahkan Tanpa Membangun Ulang

Kirim faktur melalui email kepada pelanggan
Tambahkan Office 365 Outlook Send an email (V2) setelah Create file. Letakkan kolom CustomerEmail di To dan lampirkan output Body dari PDF - Create PdfA, sehingga pelanggan menerima file PDF/A yang sama yang telah diarsipkan.
Format tanggal sesuai dengan cara pelanggan Anda membacanya
Contoh tersebut mencetak 2026-09-01 karena itulah cara pemicu mengembalikan tanggal. Bungkus ekspresi Date dan DueDate di dalam Compose dengan formatDateTime dan pola seperti 'dd MMM yyyy'.
Jumlahkan total per baris dan total keseluruhan
Masukkan rumus ke dalam templat, atur Strict JSON Strings ke No agar kuantitas dan harga masuk sebagai angka, dan biarkan Calculate Formulas tetap Yes agar totalnya sudah dihitung sebelum konversi.
Verifikasi standar tersebut, jangan berasumsi
Tambahkan Validate PDFA setelah Create PdfA dan buat percabangan berdasarkan hasilnya. Konversi yang gagal kemudian akan muncul di riwayat eksekusi, bukan di audit.

Bagaimana perbandingannya dengan cara lain dalam membuat faktur?

Setiap baris menjelaskan alternatifnya. Baris terakhir adalah alur ini.

PerbandinganSiapa yang bisa mengubah tata letak?Bagaimana templat diisiFormat arsip
Templat Excel yang diisi secara manual vs alur iniSiapa pun yang menggunakan ExcelSalin dan tempel, satu faktur sekaligusPDF biasa kecuali jika seseorang mengatur opsi ekspor PDF/A
Makro VBA Excel vs alur iniSiapa pun yang memelihara makro tersebutSecara otomatis, di komputer desktop dengan buku kerja terbukaPDF biasa kecuali jika ekspor diatur untuk PDF/A
Template HTML plus Convert HTML ke PDF vs alur iniSeseorang yang mahir dalam HTML dan CSSSecara otomatis, di cloudPDF
Alur iniSiapa pun yang menggunakan ExcelSecara otomatis, pada setiap item daftar baruPDF/A-2b

Perbedaan yang penting: dua yang pertama mempertahankan tata letak di Excel tetapi tetap melibatkan manusia, dan yang ketiga menghilangkan peran manusia tetapi memindahkan tata letak ke dalam kode. Hanya alur ini yang melakukan keduanya.


Pertanyaan umum

Apakah ada templat faktur dalam format Excel?

Ya. Excel menyediakan templat faktur: di aplikasi desktop, pilih File > New dan cari faktur, dan Microsoft menerbitkan lebih banyak lagi di galeri templat daringnya. Templat tersebut dirancang untuk diisi secara manual.

Templat yang digunakan dalam posting ini dibuat untuk pekerjaan yang berbeda. Sel nilainya berisi penanda cerdas alih-alih teks contoh, sehingga alur kerja dapat mengisinya. Anda dapat mengkonversi templat faktur apa pun yang sudah Anda sukai dengan cara yang sama: pertahankan desainnya, dan ganti setiap nilai dengan penanda seperti &=RootData.Invoice.Number(noadd).

Bagaimana cara membuat faktur dari data Excel?

Simpan data dalam baris, simpan tata letak dalam templat, dan biarkan sesuatu menggabungkan keduanya. Di dalam Excel saja, sesuatu itu adalah penggabungan surat Word atau makro VBA, dan keduanya berjalan di desktop seseorang.

Dalam alur ini, baris-baris tersebut berada dalam daftar SharePoint, Compose mengubah satu baris menjadi JSON, dan Excel - Populate menggabungkannya ke dalam templat. Jika data Anda sudah berupa tabel Excel di OneDrive atau SharePoint, tindakan List rows present in a table konektor Excel Online (Business) dapat memasukkan Compose yang sama di dalam perulangan Apply to each baris, dengan items('Apply_to_each') sebagai pengganti triggerBody(). Semua langkah dari langkah 3 dan seterusnya tetap sama.

Bagaimana cara mengotomatiskan pembuatan faktur di Excel?

Mengotomatiskan pembuatan faktur berarti menghilangkan setiap langkah yang dilakukan seseorang untuk setiap faktur: mengetik nilai, mengekspor ke PDF, memberi nama file, dan menyimpannya. Templatnya sendiri tetap berupa file Excel biasa.

Alur ini menghapus keempatnya. Baris daftar adalah satu-satunya input. Templat diisi oleh Excel - Populate, diekspor oleh Convert to PDF, diarsipkan oleh PDF - Create PdfA, dan disimpan oleh Create file. Setelah nama file dibuat dari baris, seperti yang dijelaskan pada langkah 7, tidak ada lagi yang perlu dilakukan secara manual.

Bisakah Power Automate mengkonversi Excel ke PDF?

Ya. Dalam alur kerja berbasis cloud, tindakan Convert file pada konektor OneDrive for Business mengubah file .xlsx menjadi PDF, tetapi hanya untuk file yang tersimpan di OneDrive, sehingga alur kerja SharePoint sering kali menyalin buku kerja ke sana terlebih dahulu dan menghapusnya setelahnya.

PDF4me Convert to PDF mengambil konten file langsung dari tindakan sebelumnya. Itulah mengapa buku kerja yang telah diisi dalam alur ini tidak pernah disimpan di mana pun: file tersebut langsung masuk dari Excel - Populate ke konverter, dan satu-satunya file yang sampai ke SharePoint adalah faktur PDF/A yang sudah jadi.


Penyelesaian Masalah

Salah satu kolom pada faktur menjadi kosong

Periksa nama kolom di dalam ekspresi Compose. Nama tersebut harus berupa nama internal, Dateandtime, bukan Date and time. Tanda tanya di triggerBody()?['Dateandtime'] mengubah nama yang salah menjadi null, bukan error, sehingga proses tetap berjalan dan sel tetap kosong. Jika namanya benar, periksa jalur JSON terhadap penanda: RootData, lalu Customer, lalu Name, dengan ejaan yang sama di keduanya.

Faktur tersebut terdiri dari dua halaman, dengan satu kolom di halaman kedua

Templat ini lebih lebar dari satu halaman cetak. Convert to PDF mengikuti pengaturan halaman buku kerja, jadi perbaiki di sana: Page Layout, Scale to Fit, Lebar 1 page. Simpan templat kembali ke SharePoint dan proses selanjutnya akan menyesuaikannya menjadi satu halaman.

Hanya satu berkas faktur yang tersimpan di ArchivedExcel

File Name Create file adalah teks tetap ExcelArchived.pdf, sehingga setiap eksekusi menargetkan nama yang sama. Buat nama file unik untuk setiap baris dengan ID item daftar, seperti yang dijelaskan pada langkah 7.

File PDF terbuka dengan baik tetapi bukan PDF/A

Create file membaca dari PDF - Compress or Convert to PDF, bukan PDF - Create PdfA. Ketiga token tersebut diberi label Body, sehingga kesalahan mudah terjadi dan tidak ada yang terlihat salah dalam riwayat eksekusi. Konfirmasikan bahwa ekspresinya adalah body('PDF_-_Create_PdfA').


Langkah Selanjutnya

Pola delapan langkah yang sama (daftar baris, ubah bentuk menjadi JSON, ambil templat, isi, konversi, kompres, sertifikasi, simpan) dapat digunakan untuk menangani dokumen apa pun yang awalnya berupa spreadsheet: penawaran harga, catatan pengiriman, laporan, dan sertifikat.