Faktur dari SpreadsheetPengembangan & Kustomisasi

Google Apps Script yang mengubah baris Google Spreadsheet Anda menjadi PDF faktur dengan templat Anda lewat satu tombol

Biasanya selesai dalam 15 menitTermasuk revisiPemeriksaan kualitas
Paket
Perlindungan pembayaranSelengkapnya
  • Revisi dalam batas paket tidak dikenai biaya.
  • Jika Anda tidak merespons dalam 3 hari setelah penyerahan hasil, hasil kerja diterima secara otomatis.

Uang ditahan saat Anda membayar dan diteruskan hanya setelah Anda menerima hasil kerja.

Google Apps Script yang mengubah baris Google Spreadsheet Anda menjadi PDF faktur dengan templat Anda lewat satu tombol

Contoh hasil

Contoh untuk paket Standar

Menggabungkan file penjualan bulanan 9 toko menjadi satu laporan Excel

Cara menjalankannya

python merge_sales.py --month 2026-10
2026-11-02 09:14:03 INFO  Folder: sales/2026-10, ditemukan 9 file
2026-11-02 09:14:03 INFO  shop-01.csv: 1.284 baris
2026-11-02 09:14:04 INFO  shop-02.xlsx: 967 baris
2026-11-02 09:14:04 WARN  shop-07.csv: 3 baris tanpa harga dilewati (baris 88, 412, 913)
2026-11-02 09:14:05 INFO  Selesai: 10.412 baris -> report-2026-10.xlsx (sheet "Penjualan" dan "Total")

Pengaturan, bukan kode

Nama kolom setiap toko disimpan di settings.ini, jadi toko baru atau kolom yang berganti nama cukup ditambahkan satu baris di sana:

[columns]
date = Tanggal, Tanggal penjualan, Hari
product = Produk, Barang, Nama
quantity = Qty, Jumlah, Pcs
price = Harga, Harga satuan

Sebagian kode

def read_shop_file(path: Path, columns: dict[str, list[str]]) -> pd.DataFrame:
    """Membaca file satu toko dan memberinya nama kolom laporan."""
    table = pd.read_excel(path) if path.suffix == ".xlsx" else pd.read_csv(path, encoding="utf-8-sig")
    renamed = {}
    for name, variants in columns.items():
        found = next((c for c in table.columns if c.strip() in variants), None)
        if found is None:
            raise ReportError(f"{path.name}: tidak ada kolom untuk '{name}' (dicari: {', '.join(variants)})")
        renamed[found] = name
    table = table.rename(columns=renamed)[list(columns)]
    table["shop"] = path.stem
    return table

File: arsip ZIP berisi merge_sales.py (310 baris), settings.ini, requirements.txt, dan README tentang cara memasang Python, menjalankan skrip, dan arti setiap pesan di log. Klien menjalankannya di komputernya sendiri.

Klien: jaringan kecil 9 toko alat tulis; setiap toko mengirim penjualan bulanannya sebagai file CSV atau Excel, dengan nama kolom yang sedikit berbeda. Tugas: satu skrip yang membaca setiap file di sebuah folder, menyeragamkan kolomnya, dan menulis satu laporan Excel berisi semua penjualan serta sheet total per toko.

Klien dan semua datanya fiktif.

Tentang layanan ini

Jika Anda mencatat pesanan atau jam kerja di Google Spreadsheet, membuat setiap faktur secara manual berarti menyalin klien, item, dan total ke sebuah dokumen lalu menyimpan PDF. Google Apps Script ini menambahkan tombol ke spreadsheet Anda: mengisi templat faktur Anda sendiri di Google Dokumen atau Spreadsheet dengan data baris itu, menyimpan PDF dengan nama sesuai keinginan Anda ke folder Drive, dan memasukkan tautannya kembali ke baris tersebut. Mulai Standar, skrip menangani beberapa baris item dan penomoran; Premium bisa mengirim setiap PDF lewat Gmail Anda kepada klien. Total, pajak, dan kata-katanya berasal dari spreadsheet dan templat Anda: skrip melakukan perhitungan yang Anda jelaskan dan tidak memberi saran pajak atau akuntansi, jadi periksa faktur-faktur pertama. Anda memasang dan menjalankannya di akun Google Anda.

Yang termasuk

  • Yang Anda dapatkanArsip ZIP berisi kode Apps Script dan README yang menunjukkan cara menambahkannya ke spreadsheet dan templat Anda; kodenya juga ditampilkan di halaman pesanan.
  • Templat Anda sendiriTata letak, logo, dan kata-kata Anda di Google Dokumen atau Spreadsheet
  • PDF ke DriveDinamai berdasarkan nomor, klien, dan tanggal, di folder yang Anda tetapkan
  • Tautan di barisAnda melihat baris mana yang sudah punya faktur
  • PenomoranMulai Standar, nomor berikutnya diambil dari spreadsheet Anda
  • Kode yang mudah dibacaDengan komentar, kolom mudah diubah nanti

Cara kerja

  1. 1
    TemplatAnda mengirim kolom spreadsheet dan templat faktur Anda
  2. 2
    KodeKami menulis skrip dan panduan memasangnya
  3. 3
    CobaAnda membuat faktur uji di salinan spreadsheet dan memeriksa perhitungannya
  4. 4
    RevisiAnda meminta revisi sesuai paket dan mengirim pesan error jika ada

Yang kami butuhkan dari Anda

Nama kolom spreadsheet Anda dengan dua atau tiga baris data karangan, templat faktur Anda (Google Dokumen atau Spreadsheet, atau PDF faktur yang Anda kirim saat ini) beserta tempat setiap nilai dimasukkan, dan cara menghitung total: tarif pajak, diskon, mata uang, dan pembulatan, sesuai arahan akuntan Anda. Bagaimana faktur diberi nomor dan nama, folder Drive untuk PDF-nya, dan untuk Premium, isi email kepada klien.

Kami akan menanyakan:

  • Untuk apa Anda menagih?
  • Apa saja kolom spreadsheet-nya?
  • Seperti apa faktur Anda?
  • Bagaimana total dihitung?

Bandingkan paket

PaketDasarSatu faktur sekali jalanRp 272.000StandarFaktur dengan pengaturanRp 561.000PremiumAlat fakturRp 1.139.000
Tenggat1 hari2 hari3 hari
Revisi123
Kodehingga 150 barishingga 400 barishingga 1.000 baris
File kode1hingga 3hingga 8
File pengaturanTidakYaYa
Pesan error yang jelas dan logTidakYaYa
Opsi menjalankan dan panduan menjalankannya terjadwalTidakTidakYa
Panduan instalasi dan menjalankan (README)YaYaYa
BahasaGoogle Apps ScriptGoogle Apps ScriptGoogle Apps Script
Pesan DasarPesan StandarPesan Premium

Perlindungan pembayaran

Anda membayar saat memesan, tetapi uangnya diteruskan hanya untuk hasil kerja yang diterima.

  • Harga pastiHarga paket tidak berubah setelah Anda membayar.
  • Uang ditahanSaat Anda membayar, jumlahnya hanya ditahan. Dana diteruskan ke Dleex setelah Anda menerima hasil kerja.
  • Diperiksa sebelum penyerahanSetiap hasil melewati pemeriksaan kualitas sebelum sampai kepada Anda, dan Anda dapat melihatnya di halaman pesanan sebelum menerimanya.
  • Revisi gratisMinta revisi sesuai brief Anda sebanyak yang diizinkan paket.
  • Diterima setelah 3 hariJika dalam 3 hari setelah penyerahan hasil Anda tidak menerima hasil kerja maupun meminta revisi, hasil kerja diterima secara otomatis. Jika Anda menulis di chat pesanan setelah penyerahan hasil, pesanan akan menunggu; setelah kami menjawab, kami dapat memulai ulang hitungan 3 hari dan akan memberitahukannya di chat.
  • Dikerjakan ulang atau pengembalian dana penuhJika hasilnya tidak sesuai brief Anda dan revisi tidak memperbaikinya, atau pengerjaan memakan waktu lebih dari dua kali tenggatnya, tulis di chat pesanan: kami akan mengerjakan ulang atau mengembalikan pembayaran secara penuh.
Cara kerjanya →

Tanya jawab

Apakah fakturnya akan sah secara hukum?

Skrip mengisi apa yang ada di templat dan spreadsheet Anda dan menghitung sesuai cara yang Anda jelaskan. Apa yang wajib dimuat faktur di negara Anda, Anda atau akuntan Anda yang memutuskan; kami tidak memberi saran pajak atau hukum.

Bisakah skrip mengirim faktur lewat email?

Di Premium, bisa: dari Gmail Anda sendiri ke alamat di baris itu, dalam batas pengiriman harian yang ditetapkan Google untuk akun Anda. Anda bisa mematikan pengiriman dan hanya menyimpan PDF.

Bisakah skrip menerima pembayaran atau terhubung ke program akuntansi saya?

Tidak, skrip membuat PDF. Tautan pembayaran yang sudah Anda miliki bisa dicetak di faktur sebagai teks dari spreadsheet Anda.

Apakah Anda mendapat akses ke Drive saya?

Tidak. Anda menambahkan kode ke spreadsheet Anda sendiri dan memberi izin aksesnya sendiri. Kami tidak pernah masuk ke akun Google Anda.

Tidak menemukan jawabannya?

Paket