Dalam lanskap bisnis saat ini, organisasi terus mencari cara untuk mengoptimalkan proses keuangan mereka, meningkatkan efisiensi, dan mendorong penghematan biaya. Salah satu bidang yang memiliki potensi perbaikan yang signifikan adalah utang usaha. Pada tingkat tinggi, proses hutang mencakup penerimaan dan pemindaian faktur, ekstraksi data yang relevan dari faktur yang dipindai, validasi, persetujuan, dan pengarsipan. Langkah kedua (ekstraksi) bisa jadi rumit. Setiap faktur dan kwitansi terlihat berbeda. Labelnya tidak sempurna dan tidak konsisten. Informasi terpenting seperti harga, nama vendor, alamat vendor, dan ketentuan pembayaran sering kali tidak diberi label secara eksplisit dan harus ditafsirkan berdasarkan konteks. Pendekatan tradisional yang menggunakan peninjau manusia untuk mengekstraksi data memakan waktu, rawan kesalahan, dan tidak terukur.
Dalam posting ini, kami menunjukkan cara mengotomatiskan proses hutang menggunakan Teks Amazon untuk ekstraksi data. Kami juga menyediakan arsitektur referensi untuk membangun jalur otomatisasi faktur yang memungkinkan ekstraksi, verifikasi, pengarsipan, dan pencarian cerdas.
Ikhtisar solusi
Diagram arsitektur berikut menunjukkan tahapan alur kerja pemrosesan tanda terima dan faktur. Ini dimulai dengan tahap pengambilan dokumen untuk mengumpulkan dan menyimpan pindaian faktur dan kwitansi dengan aman. Tahap berikutnya adalah tahap ekstraksi, di mana Anda meneruskan faktur dan tanda terima yang dikumpulkan ke Amazon Textract AnalyzeExpense
API untuk mengekstrak hubungan terkait keuangan antar teks seperti nama vendor, tanggal penerimaan faktur, tanggal pemesanan, jumlah jatuh tempo, jumlah yang dibayarkan, dan sebagainya. Pada tahap berikutnya, Anda menggunakan aturan pengeluaran yang telah ditentukan sebelumnya untuk menentukan apakah Anda harus menyetujui atau menolak tanda terima secara otomatis. Dokumen yang disetujui dan ditolak masuk ke foldernya masing-masing di dalam Layanan Penyimpanan Sederhana Amazon (Amazon S3) ember. Untuk dokumen yang disetujui, Anda dapat mencari semua bidang dan nilai yang diekstraksi menggunakan Layanan Pencarian Terbuka Amazon. Anda dapat memvisualisasikan metadata yang diindeks menggunakan OpenSearch Dashboards. Dokumen yang disetujui juga disiapkan untuk dipindahkan Tingkat Cerdas Amazon S3 untuk penyimpanan dan pengarsipan jangka panjang menggunakan kebijakan siklus hidup S3.
Bagian berikut membawa Anda melalui proses pembuatan solusi.
Prasyarat
Untuk menerapkan solusi ini, Anda harus memiliki hal berikut:
- Akun AWS.
- An AWS Cloud9 lingkungan. AWS Cloud9 adalah lingkungan pengembangan terintegrasi (IDE) berbasis cloud yang memungkinkan Anda menulis, menjalankan, dan men-debug kode hanya dengan browser. Ini mencakup editor kode, debugger, dan terminal.
Untuk membuat lingkungan AWS Cloud9, berikan nama dan deskripsi. Pertahankan yang lainnya sebagai default. Pilih tautan IDE di konsol AWS Cloud9 untuk menavigasi ke IDE. Anda sekarang siap menggunakan lingkungan AWS Cloud9.
Terapkan solusinya
Untuk menyiapkan solusinya, Anda menggunakan Kit Pengembangan AWS Cloud (AWS CDK) untuk menerapkan Formasi AWS Cloud tumpukan.
- Di terminal AWS Cloud9 IDE Anda, kloning Repositori GitHub dan instal dependensinya. Jalankan perintah berikut untuk menyebarkan
InvoiceProcessor
tumpukan:
Penerapannya memakan waktu sekitar 25 menit dengan pengaturan konfigurasi default dari repo GitHub. Informasi output tambahan juga tersedia di konsol AWS CloudFormation.
- Setelah penerapan AWS CDK selesai, buat aturan validasi pengeluaran di Amazon DynamoDB meja. Anda dapat menggunakan terminal AWS Cloud9 yang sama untuk menjalankan perintah berikut:
- Di bucket S3 yang dimulai dengan
invoiceprocessorworkflow-invoiceprocessorbucketf1-*
, buat folder unggahan.
In Amazon Kognito, Anda seharusnya sudah memiliki kumpulan pengguna yang dipanggil OpenSearchResourcesCognitoUserPool*
. Kami menggunakan kumpulan pengguna ini untuk membuat pengguna baru.
- Di konsol Amazon Cognito, navigasikan ke kolam pengguna
OpenSearchResourcesCognitoUserPool*
. - Buat pengguna Amazon Cognito baru.
- Berikan nama pengguna dan kata sandi pilihan Anda dan catat untuk digunakan nanti.
- Unggah dokumen acak_faktur1 dan acak_faktur2 ke S3
uploads
folder untuk memulai alur kerja.
Sekarang mari selami setiap langkah pemrosesan dokumen.
Pengambilan Dokumen
Pelanggan menangani faktur dan kwitansi dalam berbagai format dari vendor berbeda. Dokumen-dokumen ini diterima melalui saluran seperti salinan cetak, salinan pindaian yang diunggah ke penyimpanan file, atau perangkat penyimpanan bersama. Pada tahap pengambilan dokumen, Anda menyimpan semua salinan tanda terima dan faktur yang dipindai dalam penyimpanan yang sangat skalabel seperti dalam bucket S3.
Pencabutan
Tahap berikutnya adalah tahap ekstraksi, di mana Anda meneruskan faktur dan tanda terima yang dikumpulkan ke Amazon Textract AnalyzeExpense
API untuk mengekstrak hubungan terkait keuangan antar teks seperti Nama Vendor, Tanggal Penerimaan Faktur, Tanggal Pemesanan, Jumlah Jatuh Tempo/Dibayar, dll.
AnalisisBiaya adalah API yang didedikasikan untuk memproses dokumen faktur dan kwitansi. Ini tersedia sebagai API sinkron atau asinkron. API sinkron memungkinkan Anda mengirim gambar dalam format byte, dan API asinkron memungkinkan Anda mengirim file dalam format JPG, PNG, TIFF, dan PDF. Itu AnalyzeExpense
Respons API terdiri dari tiga bagian berbeda:
- Bidang ringkasan โ Bagian ini mencakup kunci yang dinormalisasi dan kunci yang disebutkan secara eksplisit beserta nilainya.
AnalyzeExpense
menormalkan kunci untuk informasi terkait kontak seperti nama vendor dan alamat vendor, kunci terkait ID pajak seperti ID pembayar pajak, kunci terkait pembayaran seperti jumlah jatuh tempo dan diskon, dan kunci umum seperti ID faktur, tanggal pengiriman, dan nomor akun. Kunci yang tidak dinormalisasi masih muncul di kolom ringkasan sebagai pasangan nilai kunci. Untuk daftar lengkap bidang pengeluaran yang didukung, lihat Menganalisis Faktur dan Tanda Terima. - Item baris โ Bagian ini mencakup kunci item baris yang dinormalisasi seperti deskripsi item, harga satuan, kuantitas, dan kode produk.
- blok OCR โ Blok berisi ekstrak teks mentah dari halaman faktur. Ekstrak teks mentah dapat digunakan untuk pascapemrosesan dan mengidentifikasi informasi yang tidak tercakup dalam bidang ringkasan dan item baris.
Posting ini menggunakan Konstruksi Amazon Textract IDP CDK (Komponen AWS CDK untuk menentukan infrastruktur alur kerja pemrosesan dokumen cerdas (IDP)), yang memungkinkan Anda membangun alur kerja IDP yang spesifik kasus penggunaan dan dapat disesuaikan. Konstruksi dan sampel adalah kumpulan komponen untuk memungkinkan definisi proses IDP di AWS dan dipublikasikan ke GitHub. Konsep utama yang digunakan adalah konstruksi AWS CDK, sebenarnya Tumpukan AWS CDK, dan Fungsi Langkah AWS.
Gambar berikut menunjukkan alur kerja Step Functions.
Alur kerja ekstraksi mencakup langkah-langkah berikut:
- Pengambil Keputusan Faktur - Sebuah AWS Lambda fungsi yang memverifikasi apakah format dokumen input didukung oleh Amazon Textract. Untuk detail lebih lanjut tentang format yang didukung, lihat Dokumen Masukan.
- Pemisah Dokumen โ Fungsi Lambda yang menghasilkan potongan dokumen sepanjang 2,500 halaman (maks) dan dapat memproses dokumen multi-halaman berukuran besar.
- Negara Peta โ Fungsi Lambda yang memproses setiap potongan secara paralel.
- TeksAsinkron โ Tugas ini memanggil Amazon Textract menggunakan API asinkron berikut Praktik Terbaik dengan Layanan Pemberitahuan Sederhana Amazon Pemberitahuan dan penggunaan (Amazon SNS).
OutputConfig
untuk menyimpan output Amazon Textract JSON ke bucket S3 yang Anda buat sebelumnya. Ini terdiri dari dua fungsi Lambda: satu untuk mengirimkan dokumen untuk diproses dan satu lagi dipicu pada notifikasi SNS. - TeksractAsyncToJSON2 - Karena
TextractAsync
tugas dapat menghasilkan beberapa file keluaran yang diberi nomor halaman, yaituTextractAsyncToJSON2
proses menggabungkannya menjadi satu file JSON.
Kami membahas rincian tiga langkah selanjutnya di bagian berikut.
Verifikasi dan persetujuan
Untuk tahap verifikasi adalah SetMetaData
Fungsi Lambda memverifikasi apakah file yang diunggah merupakan pengeluaran yang valid sesuai aturan yang dikonfigurasi sebelumnya di tabel DynamoDB. Untuk postingan ini, Anda menggunakan contoh aturan berikut:
- Verifikasi berhasil jika
INVOICE_RECEIPT_ID
hadir dan cocok dengan regex(?i)[0-9]{3}[a-z]{3}[0-9]{3}$
dan ifPO_NUMBER
hadir dan cocok dengan regex(?i)[a-z0-9]+$
- Verifikasi juga tidak berhasil
PO_NUMBER
orINVOICE_RECEIPT_ID
salah atau hilang dalam dokumen.
Setelah file diproses, fungsi verifikasi pengeluaran memindahkan file input ke salah satunya approved
or declined
folder dalam bucket S3 yang sama.
Untuk keperluan solusi ini, kami menggunakan DynamoDB untuk menyimpan aturan validasi pengeluaran. Namun, Anda dapat memodifikasi solusi ini untuk diintegrasikan dengan solusi validasi atau manajemen pengeluaran Anda sendiri atau komersial.
Indeks dan pencarian cerdas
Dengan OpenSearchPushInvoke
Fungsi Lambda, metadata pengeluaran yang diekstraksi didorong ke indeks Layanan OpenSearch dan tersedia untuk pencarian.
Final TaskOpenSearchMapping
langkah ini menghapus konteksnya, yang jika tidak, bisa melebihi Kuota Fungsi Langkah ukuran input atau output maksimum untuk tugas, status, atau alur kerja yang dijalankan.
Setelah indeks OpenSearch Service dibuat, Anda dapat mencari kata kunci dari teks yang diekstraksi melalui OpenSearch Dashboards.
Pengarsipan, audit, dan analitik
Untuk mengelola siklus hidup dan pengarsipan faktur dan tanda terima, Anda dapat mengonfigurasi aturan siklus hidup S3 untuk mentransisikan objek S3 dari kelas penyimpanan Standar ke Tingkat Cerdas. S3 Intelligent-Tiering memantau pola akses dan secara otomatis memindahkan objek ke tingkat Akses Jarang ketika objek tersebut belum diakses selama 30 hari berturut-turut. Setelah 90 hari tidak ada akses, objek dipindahkan ke tingkat Arsip Akses Instan tanpa dampak kinerja atau overhead operasional.
Untuk audit dan analitik, solusi ini menggunakan Layanan OpenSearch untuk menjalankan analitik pada permintaan faktur. Layanan OpenSearch memungkinkan Anda dengan mudah menyerap, mengamankan, mencari, menggabungkan, melihat, dan menganalisis data untuk sejumlah kasus penggunaan, seperti analisis log, pencarian aplikasi, pencarian perusahaan, dan banyak lagi.
Masuk ke Dasbor OpenSearch dan navigasikan ke Manajemen Tumpukan, Objek yang disimpan, Lalu pilih impor. Memilih faktur.ndjson file dari repositori yang dikloning dan pilih impor. Ini mengisi indeks terlebih dahulu dan membangun visualisasi.
Segarkan halaman dan navigasikan ke Beranda, Menu Utama, dan buka Faktur. Anda sekarang dapat memilih dan menerapkan filter serta memperluas jangka waktu untuk menjelajahi faktur sebelumnya.
Membersihkan
Ketika Anda selesai mengevaluasi Amazon Textract untuk memproses tanda terima dan faktur, kami menyarankan untuk membersihkan semua sumber daya yang mungkin telah Anda buat. Selesaikan langkah-langkah berikut:
- Hapus semua konten dari bucket S3
invoiceprocessorworkflow-invoiceprocessorbucketf1-*
. - Di AWS Cloud9, jalankan perintah berikut untuk menghapus sumber daya Amazon Cognito dan tumpukan CloudFormation:
- Hapus lingkungan AWS Cloud9 yang Anda buat dari konsol AWS Cloud9.
Kesimpulan
Dalam postingan ini, kami memberikan gambaran umum tentang bagaimana kami dapat membangun jalur otomatisasi faktur menggunakan Amazon Textract untuk ekstraksi data dan membuat alur kerja untuk validasi, pengarsipan, dan pencarian. Kami menyediakan contoh kode tentang cara menggunakan AnalyzeExpense
API untuk ekstraksi bidang penting dari faktur.
Untuk memulai, masuk ke konsol Amazon Textract untuk mencoba fitur ini. Untuk mempelajari selengkapnya tentang kemampuan Amazon Textract, lihat Panduan Pengembang Amazon Textract or Sumber Teks. Untuk mempelajari lebih lanjut tentang IDP, lihat IDP dengan layanan AWS AI bagian 1 dan bagian 2 posting.
Tentang Penulis
Sushant Pradan adalah Sr. Solutions Architect di Amazon Web Services, membantu pelanggan perusahaan. Minat dan pengalamannya meliputi container, teknologi tanpa server, dan DevOps. Di waktu luangnya, Sushant senang menghabiskan waktu di luar ruangan bersama keluarganya.
Shibin Michaelraj adalah Sr. Product Manager dengan tim AWS Texttract. Dia fokus membangun produk berbasis AI/ML untuk pelanggan AWS.
Suprakash Dutta adalah Arsitek Solusi Senior di Amazon Web Services. Dia berfokus pada strategi transformasi digital, modernisasi dan migrasi aplikasi, analitik data, dan pembelajaran mesin. Dia adalah bagian dari komunitas AI/ML di AWS dan merancang solusi pemrosesan dokumen cerdas.
Maran Chandrasekaran adalah Arsitek Solusi Senior di Amazon Web Services, bekerja dengan pelanggan perusahaan kami. Di luar pekerjaan, dia suka bepergian dan mengendarai sepeda motornya di Texas Hill Country.
- Konten Bertenaga SEO & Distribusi PR. Dapatkan Amplifikasi Hari Ini.
- PlatoData.Jaringan Vertikal Generatif Ai. Berdayakan Diri Anda. Akses Di Sini.
- PlatoAiStream. Intelijen Web3. Pengetahuan Diperkuat. Akses Di Sini.
- PlatoESG. Karbon, teknologi bersih, energi, Lingkungan Hidup, Tenaga surya, Penanganan limbah. Akses Di Sini.
- PlatoHealth. Kecerdasan Uji Coba Biotek dan Klinis. Akses Di Sini.
- Sumber: https://aws.amazon.com/blogs/machine-learning/build-a-receipt-and-invoice-processing-pipeline-with-amazon-textract/
- :adalah
- :bukan
- :Di mana
- $NAIK
- 1
- 100
- 25
- 30
- 7
- 8
- 9
- a
- Tentang Kami
- mengakses
- diakses
- Akun
- Akun
- akun hutang
- sebenarnya
- Tambahan
- alamat
- Setelah
- agregat
- AI
- Layanan AI
- AI / ML
- Semua
- memungkinkan
- sepanjang
- sudah
- juga
- Amazon
- Amazon Kognito
- Teks Amazon
- Amazon Web Services
- jumlah
- an
- analisis
- menganalisa
- dan
- Apa pun
- api
- muncul
- Aplikasi
- Mendaftar
- pendekatan
- persetujuan
- menyetujui
- disetujui
- arsitektur
- arsip
- ADALAH
- DAERAH
- sekitar
- AS
- At
- Audit
- audit
- mengotomatisasikan
- secara otomatis
- Otomatisasi
- tersedia
- AWS
- AWS Cloud9
- Formasi AWS Cloud
- berdasarkan
- BE
- karena
- menjadi
- antara
- Memblokir
- Bootstrap
- kedua
- Browser
- membangun
- Bangunan
- membangun
- bisnis
- by
- bernama
- Panggilan
- CAN
- kemampuan
- menangkap
- kasus
- saluran
- memeriksa
- pilihan
- Pilih
- kelas-kelas
- Pembersihan
- awan
- Cloud9
- kode
- mengumpulkan
- koleksi
- menggabungkan
- komersial
- masyarakat
- lengkap
- kompleks
- komponen
- konsep
- konfigurasi
- dikonfigurasi
- berturut-turut
- terdiri
- konsul
- terus-menerus
- konstruksi
- Wadah
- mengandung
- Konten
- konteks
- Biaya
- penghematan biaya
- bisa
- negara
- tercakup
- membuat
- dibuat
- membuat
- kritis
- pelanggan
- disesuaikan
- dasbor
- dasbor
- data
- Data Analytics
- Tanggal
- Hari
- dedicated
- Default
- menetapkan
- definisi
- pengiriman
- ketergantungan
- menyebarkan
- penyebaran
- deskripsi
- desain
- menghancurkan
- rincian
- Menentukan
- Pengembang
- Pengembangan
- Devices
- diagram
- berbeda
- digital
- Transformasi digital
- Diskon
- membahas
- berbeda
- menyelam
- dokumen
- dokumen
- mendorong
- dua
- dutta
- setiap
- Terdahulu
- gema
- editor
- efisiensi
- mudah
- antara
- lain
- aktif
- memungkinkan
- mempertinggi
- Enterprise
- Lingkungan Hidup
- dll
- mengevaluasi
- segala sesuatu
- melebihi
- ada
- Lihat lebih lanjut
- pengalaman
- secara eksplisit
- menyelidiki
- ekstrak
- ekstraksi
- keluarga
- Fitur
- bidang
- Fields
- Angka
- File
- File
- filter
- terakhir
- keuangan
- secara finansial
- terfokus
- berfokus
- berikut
- Untuk
- format
- dari
- fungsi
- fungsi
- Umum
- menghasilkan
- mendapatkan
- pergi
- GitHub
- Go
- menangani
- Sulit
- Memiliki
- he
- membantu
- High
- sangat
- -nya
- memegang
- Seterpercayaapakah Olymp Trade? Kesimpulan
- How To
- Namun
- HTML
- http
- HTTPS
- manusia
- i
- ID
- mengidentifikasi
- if
- gambar
- Dampak
- mengimpor
- penting
- perbaikan
- in
- memasukkan
- termasuk
- salah
- indeks
- diindeks
- indeks
- informasi
- Infrastruktur
- memasukkan
- install
- saat
- mengintegrasikan
- terpadu
- Cerdas
- Pemrosesan dokumen cerdas
- kepentingan
- ke
- faktur
- pemrosesan faktur
- faktur
- IT
- jpg
- json
- hanya
- Menjaga
- kunci-kunci
- kata kunci
- Label
- pemandangan
- besar
- kemudian
- BELAJAR
- pengetahuan
- Lets
- Tingkat
- siklus hidup
- 'like'
- baris
- LINK
- Daftar
- mencatat
- jangka panjang
- melihat
- mencintai
- mesin
- Mesin belajar
- Utama
- mengelola
- pengelolaan
- manajer
- korek api
- max
- maksimum
- tersebut
- Metadata
- mungkin
- migrasi
- menit
- hilang
- memodifikasi
- monitor
- lebih
- paling
- sepeda motor
- terharu
- bergerak
- beberapa
- banyaknya
- harus
- nama
- Arahkan
- New
- berikutnya
- tidak
- mencatat
- pemberitahuan
- pemberitahuan
- sekarang
- jumlah
- objek
- of
- sering
- on
- ONE
- Buka
- operasional
- Optimize
- or
- urutan
- organisasi
- jika tidak
- kami
- di luar rumah
- keluaran
- di luar
- atas
- ikhtisar
- sendiri
- halaman
- dibayar
- pasang
- Paralel
- bagian
- lulus
- Kata Sandi
- lalu
- pola
- membayar
- pembayaran
- untuk
- prestasi
- tahap
- potongan-potongan
- pipa saluran
- plato
- Kecerdasan Data Plato
- Data Plato
- PO
- Kebijakan
- kolam
- Pos
- Posts
- potensi
- sudah ditentukan sebelumnya
- menyajikan
- sebelumnya
- harga pompa cor beton mini
- proses
- Diproses
- proses
- pengolahan
- menghasilkan
- Produk
- manajer produk
- Produk
- memberikan
- disediakan
- diterbitkan
- tujuan
- terdorong
- kuantitas
- Mentah
- siap
- penerimaan
- diterima
- menerima
- sarankan
- lihat
- referensi
- regex
- Ditolak..
- terkait
- Hubungan
- relevan
- gudang
- permintaan
- Persyaratan
- Sumber
- itu
- tanggapan
- penyimpanan
- Mengendarai
- aturan
- Run
- berjalan
- sama
- mencicipi
- Tabungan
- terukur
- pemindaian
- Pencarian
- Kedua
- Bagian
- bagian
- aman
- aman
- pencarian
- memilih
- mengirim
- senior
- Tanpa Server
- layanan
- Layanan
- set
- pengaturan
- berbagi
- harus
- Menunjukkan
- Pertunjukkan
- menandatangani
- penting
- Sederhana
- Ukuran
- So
- larutan
- Solusi
- Pengeluaran
- tumpukan
- Tumpukan
- Tahap
- magang
- standar
- awal
- mulai
- dimulai
- Negara
- Langkah
- Tangga
- Masih
- penyimpanan
- menyimpan
- Penyelarasan
- menyerahkan
- sukses
- seperti itu
- RINGKASAN
- Didukung
- tabel
- Mengambil
- Dibutuhkan
- tugas
- pajak
- tim
- Teknologi
- terminal
- istilah
- texas
- teks
- bahwa
- Grafik
- The Block
- mereka
- Mereka
- kemudian
- Ini
- mereka
- ini
- tiga
- Melalui
- tingkat
- waktu
- membuang-buang waktu
- untuk
- hari ini
- tradisional
- Transformasi
- Strategi Transformasi
- transisi
- perjalanan
- dipicu
- mencoba
- dua
- mengetik
- satuan
- upload
- menggunakan
- bekas
- Pengguna
- kegunaan
- menggunakan
- sah
- pengesahan
- nilai
- Nilai - Nilai
- penjaja
- vendor
- Verifikasi
- melalui
- View
- visualisasi
- membayangkan
- cara
- we
- jaringan
- layanan web
- ketika
- apakah
- yang
- jendela
- dengan
- dalam
- tanpa
- Kerja
- alur kerja
- Alur kerja
- kerja
- menulis
- Kamu
- Anda
- zephyrnet.dll