Panduan Integrasi Xero untuk Penjadwalan Produksi dengan SkyPlanner APS
Panduan integrasi Xero ini menjelaskan cara menghubungkan Xero ke SkyPlanner APS bagi penasihat Xero, konsultan, dan tim TI. SkyPlanner terintegrasi dua arah dengan Xero melalui Xero Accounting API dan Projects API:
- Data kontak, barang yang stoknya dilacak beserta jumlah stok tersedia, penawaran yang telah diterima, serta pesanan pembelian beserta tanggal kedatangannya dikirim ke SkyPlanner.
- Tanggal selesai yang direncanakan dikirim kembali sebagai catatan dalam riwayat setiap penawaran.
- Pesanan yang telah selesai dikirim kembali sebagai draf faktur penjualan dengan rincian item dan referensi dari penawaran, lalu status penawaran berubah menjadi Invoiced.
- Jam kerja proyek yang tercatat dikirim kembali sebagai entri waktu di Xero Projects.
- Webhook Xero melaporkan perubahan kontak dan faktur, sedangkan webhook SkyPlanner mengirim perubahan jadwal saat perubahan terjadi.
Xero adalah perangkat lunak akuntansi, sehingga tidak menyimpan daftar kebutuhan bahan, routing, mesin, atau perintah produksi. Stasiun kerja, tahapan proses, sif, dan waktu penyiapan dikelola di SkyPlanner. Tim SkyPlanner mengonfigurasi integrasi dengan organisasi Xero Anda selama proses penyiapan awal dan memberikan dukungan setelah sistem mulai digunakan. Panduan ini ditujukan bagi penasihat dan pengembang yang ingin ikut terlibat, atau mengembangkan integrasi sendiri menggunakan REST API SkyPlanner yang telah didokumentasikan (referensi API).
Xero Accounting API
Xero merupakan satu produk cloud multitenan, dan semua organisasi menggunakan API yang sama. Accounting API adalah REST API di https://api.xero.com/api.xro/2.0/ yang menggunakan JSON atau XML. Setiap panggilan mencantumkan organisasi dalam header Xero-tenant-id. (sumber)
Endpoint yang dibutuhkan untuk penjadwalan:
- Master data:
/Contacts(pelanggan dan pemasok),/Items(Code, IsTrackedAsInventory, QuantityOnHand). - Permintaan:
/Quotes(Status ACCEPTED, LineItems), serta/Invoicesdengan Type ACCREC untuk bengkel produksi yang menerbitkan faktur terlebih dahulu. - Pasokan:
/PurchaseOrders(DeliveryDate, ExpectedArrivalDate, LineItems dengan ItemCode). - Penulisan balik:
/Quotes/{QuoteID}/History,/Invoices,/Quotes, serta Projects API dihttps://api.xero.com/projects.xro/2.0/projects/{projectId}/time.
Setiap endpoint daftar menerima header If-Modified-Since, sehingga setiap sinkronisasi hanya membaca data yang berubah. Pembuatan dan pembaruan data dilakukan secara batch. Tidak ada endpoint untuk daftar kebutuhan bahan, routing, atau perintah produksi.
Autentikasi, scope, dan batas penggunaan
Xero menggunakan OAuth 2.0. Admin Xero cukup masuk sekali, menyetujui aplikasi, lalu memilih organisasi. Aplikasi meminta offline_access agar koneksi tetap terjaga menggunakan refresh token. (sumber)
Xero sedang mengganti scope yang luas dengan scope yang lebih terperinci, dan aplikasi baru mendapatkan scope terperinci. Integrasi penjadwalan membutuhkan:
accounting.invoicesuntuk penawaran, faktur, pesanan pembelian, dan barangaccounting.contactsuntuk pelanggan dan pemasokaccounting.settings.readuntuk pengaturan barangprojectsuntuk entri waktuoffline_access
Xero membatasi panggilan per organisasi (secara bersamaan, per menit, dan per hari) serta per aplikasi. Jika aplikasi melampaui batas, Xero mengembalikan HTTP 429 dengan header Retry-After. Kuota harian dan jumlah organisasi yang dapat terhubung bergantung pada tingkat kemitraan aplikasi. Keduanya tercantum di halaman batas API Xero. Dengan webhook, pembacaan melalui If-Modified-Since, dan penulisan secara batch, penggunaan integrasi penjadwalan tetap jauh di bawah batas tersebut.
Di sisi SkyPlanner, autentikasi REST API menggunakan token API dalam header Authorization-Token (SkyPlanner Settings > API), dan dokumentasinya tersedia dalam Swagger/OpenAPI. Tutorial integrasi memandu Anda melakukan panggilan pertama.
Webhook
“Webhooks allow you to subscribe to certain events that happen in Xero.” (Webhook memungkinkan Anda berlangganan notifikasi peristiwa tertentu di Xero.) (sumber) Peristiwa yang relevan untuk penjadwalan adalah Contact dan Invoice, masing-masing dengan CREATE dan UPDATE.
Cara kerjanya:
- Satu webhook per aplikasi mencakup semua organisasi yang terhubung.
- Setiap pengiriman memuat array events dengan ID sumber daya dan jenis peristiwanya. Penerima kemudian membaca sumber daya tersebut.
- Setiap pengiriman ditandatangani melalui header
x-xero-signatureyang dibuat dari kunci webhook aplikasi. Xero mengirim pemeriksaan “Intent to receive” sebelum mulai mengirim notifikasi. - Xero mencoba ulang pengiriman yang gagal dan menonaktifkan webhook yang terus gagal. Karena itu, penerima merespons dengan cepat lalu memprosesnya setelah itu.
Penawaran, barang, dan pesanan pembelian tidak memiliki peristiwa webhook. SkyPlanner membacanya melalui polling berkala dengan interval singkat menggunakan If-Modified-Since. Jika tidak ada perubahan, polling ini membutuhkan satu panggilan per entitas.
Pemetaan data
| Objek Xero (endpoint) | Objek SkyPlanner | Arah | Frekuensi |
|---|---|---|---|
Contact, IsCustomer (/Contacts) | Customer (external_identifier, delivery_priority) | Xero → SkyPlanner | Pemuatan awal, lalu saat webhook diterima |
Item yang stoknya dilacak maupun tidak, dengan QuantityOnHand (/Items) | Produk dan bahan, stok | Xero → SkyPlanner | Pemuatan awal, lalu melalui If-Modified-Since |
Quote dengan Status ACCEPTED dan LineItems (/Quotes) | Order (external_order_number, delivery_date), job per baris item | Xero → SkyPlanner | Polling melalui If-Modified-Since |
Invoice, Type ACCREC (bengkel produksi yang menagih terlebih dahulu) (/Invoices) | Order dan job | Xero → SkyPlanner | Secara real-time melalui webhook |
PurchaseOrder dengan ExpectedArrivalDate atau DeliveryDate (/PurchaseOrders) | Bahan yang akan datang (estimated_delivery_date) | Xero → SkyPlanner | Polling melalui If-Modified-Since |
Catatan riwayat penawaran (PUT /Quotes/{QuoteID}/History) | Tanggal selesai yang direncanakan | SkyPlanner → Xero | Saat jadwal berubah |
Invoice, Type ACCREC, Status DRAFT, Reference = nomor penawaran (POST /Invoices) | Pesanan yang telah selesai | SkyPlanner → Xero | Saat pesanan selesai |
Quote dengan Status INVOICED (POST /Quotes) | Pesanan yang telah selesai | SkyPlanner → Xero | Saat faktur dibuat |
Entri waktu Projects (POST /projects/{projectId}/time) | Mobile Confirmations, catatan waktu | SkyPlanner → Xero | Saat pekerjaan dicatat |
| Tidak tersedia di Xero | Stasiun kerja, tahapan proses, sif, ketidakhadiran, matriks waktu penyiapan, perkakas, jumlah operator, stasiun kerja alternatif | Dikelola di SkyPlanner | Dikonfigurasi selama penyiapan awal |
Pola integrasi
1. Pemuatan awal master data. Baca kontak dan barang halaman demi halaman, lalu pesanan pembelian yang masih terbuka dan penawaran yang telah diterima. Buat pelanggan di SkyPlanner dengan ContactID Xero sebagai external_identifier, serta produk dan bahan dengan kode barang sebagai kunci. Selanjutnya, siapkan data yang tidak disimpan Xero: stasiun kerja, tahapan proses per produk, sif, cuti, dan waktu penyiapan. Impor CSV atau Excel adalah cara tercepat untuk memasukkan tahapan proses.
2. Sinkronisasi pesanan. Lakukan polling penawaran menggunakan If-Modified-Since. Saat status penawaran menjadi ACCEPTED, SkyPlanner membuat pesanan dengan nomor penawaran sebagai external_order_number. Nilai delivery_date diambil dari field yang digunakan bengkel produksi Anda untuk tanggal yang dijanjikan. Field ini dipetakan selama penyiapan awal. Setiap baris item diubah menjadi job sesuai tahapan proses produk. Setiap baris pesanan pembelian dicatat sebagai penerimaan bahan pada tanggal perkiraan kedatangannya, sehingga job menunggu bahan tersebut tiba. Setiap malam, semua penawaran dan pesanan pembelian yang masih terbuka dibaca ulang untuk menemukan data yang terlewat.
3. Penulisan balik jadwal dan data penyelesaian. Tiga panggilan mengirim hasilnya ke Xero:
- PUT
/Quotes/{QuoteID}/Historymenambahkan catatan berisi tanggal selesai yang direncanakan. Penawaran yang telah diterima hanya mengizinkan perubahan kontak dan catatan, sehingga tanggal tersebut disimpan dalam catatan riwayat. (sumber) - Saat pesanan selesai, POST
/Invoicesmembuat faktur penjualan dengan Type ACCREC, Status DRAFT, kontak dan rincian item dari penawaran, serta nomor penawaran sebagai Reference. Staf pembukuan Anda menyetujui dan mengirimkannya di Xero. - POST
/Quotesdengan QuoteID dan Status INVOICED menutup penawaran. Perubahan status dari Accepted ke Invoiced diperbolehkan dalam Accounting API.
4. Konfirmasi di lantai produksi dan waktu proyek. Operator mencatat pekerjaan menggunakan SkyPlanner Mobile Confirmations, Production Timer, atau Quick Log Mode. Kemajuan pekerjaan langsung memperbarui jadwal, lalu Autopilot menjadwalkan ulang sisanya. Untuk pekerjaan proyek, SkyPlanner mengirim jam kerja sebagai entri waktu pada tugas proyek, lengkap dengan pengguna Xero, tanggal, dan durasi. (sumber)
5. Aturan kepemilikan data dan penanganan konflik. Dokumentasikan aturan ini sebelum sistem mulai digunakan:
| Data | Pemilik |
|---|---|
| Kontak, barang, harga, penawaran, pesanan pembelian, faktur, akuntansi | Xero |
| Stasiun kerja, tahapan proses, sif, ketidakhadiran, matriks waktu penyiapan, perkakas, sumber daya produksi alternatif | SkyPlanner |
| Urutan job, waktu mulai dan selesai, stasiun kerja untuk setiap job | SkyPlanner |
| Catatan tanggal selesai yang direncanakan pada penawaran | SkyPlanner, ditulis ke Xero |
| Draf faktur untuk pesanan yang selesai, waktu kerja proyek | Dibuat oleh SkyPlanner, menjadi data milik Xero setelah disetujui |
Tahapan proyek pada umumnya
Implementasi biasanya selesai dalam beberapa minggu setelah proses orientasi dimulai. Sebelumnya, Anda dapat menjalankan uji coba gratis selama 30 hari dengan data Anda sendiri dari ekspor CSV Xero yang berisi kontak, produk, dan penawaran yang masih terbuka.
Proyek ini mencakup:
- Koneksi. Admin Xero menyetujui akses SkyPlanner dan memilih organisasi.
- Objek permintaan. Sepakati apakah produksi dimulai dari penawaran yang diterima atau faktur penjualan.
- Pemetaan. Tetapkan tabel pemetaan, kode item, akun untuk faktur, pengaturan pajak default, serta aturan kepemilikan data.
- Pemuatan awal. Kontak, item, pesanan pembelian yang masih terbuka, dan penawaran yang diterima.
- Model produksi. Stasiun kerja, tahapan proses per produk, sif, matriks waktu penyiapan, perkakas, dan jumlah operator di SkyPlanner.
- Sinkronisasi. Webhook untuk kontak dan faktur, polling dengan
If-Modified-Sinceuntuk penawaran, item, dan pesanan pembelian, serta rekonsiliasi setiap malam. - Penulisan balik. Mulai dari catatan penawaran, lalu draf faktur dan status penawaran, kemudian waktu kerja proyek jika digunakan.
- Pengujian paralel dan mulai operasional. Bandingkan tanggal di SkyPlanner dengan rencana Anda saat ini, minta staf pembukuan memeriksa draf faktur pertama, lalu aktifkan penulisan balik.
Hal yang perlu direncanakan dalam integrasi Xero
- Xero tidak memiliki objek produksi. Simpan tahapan proses per produk di SkyPlanner dengan kode item Xero sebagai kuncinya. Jangan mengubah kode item tersebut.
- Penawaran tidak memiliki webhook. Lakukan polling dengan
If-Modified-Sincepada interval pendek, tanpa melampaui batas per menit dan per hari. - Penawaran yang diterima dikunci. Setelah diterima, hanya detail kontak dan catatan yang dapat diubah. Karena itu, tanggal yang dijanjikan dibaca satu kali saat penawaran diterima, sedangkan tanggal yang direncanakan ditulis sebagai catatan riwayat.
- Stok mengikuti faktur penjualan dan tagihan pembelian. Xero memperbarui jumlah stok yang tersedia melalui faktur penjualan, tagihan pembelian, dan nota kredit untuk item yang stoknya dilacak. Sepakati dengan staf pembukuan cara mencatat barang jadi dan bahan yang digunakan.
- Pencatatan waktu proyek memerlukan pengguna Xero. Setiap entri waktu terkait dengan pengguna Xero. Tentukan operator mana yang mencatat waktu ke Xero Projects, dan simpan catatan operator lainnya di SkyPlanner.
- Cakupan izin terperinci. Minta cakupan izin yang terperinci sejak awal karena cakupan izin yang luas sedang dihentikan.
- Tingkat aplikasi. Tingkat kemitraan menentukan jumlah organisasi yang dapat dihubungkan oleh aplikasi dan jumlah panggilan API yang diizinkan per hari. Rencanakan tingkat tersebut sesuai jumlah pabrik.
Integrasi Xero: siapa yang mengonfigurasi dan mendukungnya
Pekerjaan ini mencakup item, penawaran, pesanan pembelian, dan alur penagihan untuk pekerjaan yang telah selesai. Integrasi ini juga menambahkan data yang tidak disimpan Xero: stasiun kerja, tahapan proses, sif, matriks waktu penyiapan, perkakas, jumlah operator, dan sumber daya produksi alternatif.
- Tim SkyPlanner mengonfigurasinya selama proses orientasi dan memberikan dukungan setelah mulai operasional. Setiap bengkel produksi memiliki cara sendiri untuk mengatur item, penawaran, dan stok di Xero. Pengetahuan tentang pengaturan tersebut diterapkan pada tahap ini.
- Konsultan Xero atau mitra integrasi Anda dapat membangunnya. SkyPlanner menyediakan REST API, dokumentasi Swagger/OpenAPI, dan webhook.
- Pengembang internal Anda dapat mengembangkan integrasi ini dengan token API. Token API sudah cukup untuk memulai, dan tim SkyPlanner siap membantu saat diperlukan. Dokumentasi produk, termasuk pesanan pembelian serta API produk dan bahan, tersedia di dokumentasi SkyPlanner.
Harga SkyPlanner mulai dari 199 € per bulan, termasuk 5 stasiun kerja, dengan penagihan bulanan. Penawaran biaya integrasi diberikan di awal sesuai proses dan kebutuhan Anda, bersamaan dengan paket Anda, sehingga seluruh biaya sudah diketahui sebelum Anda mulai. Lihat harga, fitur, dan kemampuan bawaan Xero dalam Apakah Xero memiliki penjadwalan produksi? Gambaran umumnya tersedia di halaman Xero, sedangkan sistem lainnya dapat dilihat di semua integrasi.
Ulasan SkyPlanner dari perusahaan manufaktur
2 jamdihemat setiap minggu
“SkyPlanner telah mengubah perencanaan produksi kami dari lembar kerja Excel menjadi optimasi produksi secara real-time.”
Kalle Kalliomäki, Spesialis Rantai Pasok
UTU · Panel distribusi dan perangkat hubung listrik
Perencanaan produksi menghemat 2 jam kerja setiap minggu, dan antrean kerja baru sampai ke lini produksi dalam hitungan detik.
+90%efisiensi produksi
“Efisiensi produksi meningkat 90%.”
Abdul Rucyinga, Kepala TI
Laboratory & Allied · Manufaktur farmasi
Efisiensi produksi meningkat 90%, dan penyusunan rencana optimal untuk tiga bulan di seluruh stasiun kerja membutuhkan waktu kurang dari 30 menit.
Lebih sedikitpenghentian produksi akibat kekurangan bahan
“Nilai SkyPlanner bagi kami terletak pada fungsinya sebagai alat yang bekerja dengan baik dalam kegiatan sehari-hari, terutama untuk menetapkan tanggal pengiriman.”
Tommi Männistö, Manajer Perencanaan Produksi
Eskomatic · Jasa pemesinan kontrak
Penjadwalan beban kerja otomatis menghasilkan tanggal pengiriman yang lebih akurat, dan penghentian produksi akibat kekurangan bahan telah berkurang tajam.
1.000-anperintah kerja dijadwalkan otomatis
“Kini kami mengendalikan produksi dengan cara yang berbeda, dan pemahaman kami tentang kapasitas sudah berada pada tingkat yang sama sekali berbeda.”
Hannu Ryynänen, Direktur Utama
Mamec · Mesin pencampur industri, pompa, dan manufaktur kontrak berteknologi tinggi
Ribuan perintah kerja dijadwalkan secara otomatis, dan seluruh organisasi dapat memantau produksi secara real-time.
Pertanyaan umum
Apakah Xero memiliki API untuk data produksi?
Xero memiliki Accounting API dan Projects API, keduanya berbasis REST dengan OAuth 2.0. Keduanya mencakup kontak, item, penawaran, faktur, pesanan pembelian, dan entri waktu. Data produksi seperti stasiun kerja dan tahapan proses disimpan di SkyPlanner.
Bisakah SkyPlanner menulis data kembali ke Xero?
Ya. SkyPlanner menambahkan tanggal selesai yang direncanakan ke riwayat setiap penawaran, membuat draf faktur penjualan berisi baris item dari penawaran saat pesanan selesai, mengubah status penawaran menjadi Invoiced, dan mengirim entri waktu kerja proyek.
Apakah Xero mengirim perubahan secara real-time?
Webhook Xero mencakup kontak dan faktur. SkyPlanner membaca penawaran, item, dan pesanan pembelian yang berubah sejak sinkronisasi terakhir menggunakan If-Modified-Since, lalu melakukan rekonsiliasi setiap malam. Dengan demikian, penawaran baru yang diterima dapat segera masuk ke jadwal.
Dari mana daftar kebutuhan bahan, routing, dan data mesin diperoleh jika Xero tidak memilikinya?
Dari SkyPlanner. Anda cukup mengatur stasiun kerja, tahapan proses per produk, sif, dan waktu penyiapan satu kali, secara manual atau melalui impor CSV maupun Excel. Setiap produk ditautkan ke kode item Xero sehingga penawaran baru yang diterima akan dijadwalkan secara otomatis.
Bisakah kami mencoba SkyPlanner sebelum membangun integrasi?
Ya. Uji coba gratis selama 30 hari mendukung hingga 20 stasiun kerja dengan impor CSV dari Xero, tanpa memerlukan kartu kredit. Mulai uji coba, atau hubungi tim penjualan untuk menentukan cakupan integrasi.