Langganan dan Sales Order Odoo

Membuat, memperpanjang, dan meng-upgrade langganan berbayar lewat sales order Odoo — dan kapan langganan itu benar-benar aktif.

Uang langganan berbayar kini lahir di Odoo, bukan di License Admin. Tim sales membuat dan mengonfirmasi sales order (SO) di Odoo, finance menerbitkan invoice dan mencatat pembayarannya di sana. License Admin menautkan langganan ke SO itu, membaca invoicenya, lalu mengaktifkan langganan begitu invoicenya lunas.

Karena itu tidak ada lagi kolom nominal atau metode pembayaran di form langganan. Nilai kontrak selalu datang dari SO, dan invoice tidak pernah dibuat dari License Admin — lihat Invoice dari Odoo.

Tiga jenis langganan

Setiap langganan punya Jenis langganan, dipilih saat dibuat:

JenisButuh sales orderStatus awalKapan aktif
BerbayarWajibPendingSaat invoice SO-nya lunas di Odoo
TrialTidak bolehAktifLangsung
InternalTidak bolehAktifLangsung

Trial dan Internal tidak punya uang yang ditunggu, jadi keduanya tidak menyentuh Odoo sama sekali — tetap bisa dibuat walaupun Odoo sedang tidak bisa dihubungi.

Membuat langganan berbayar

Buka Subscriptions, lalu Buat Subscription.

Form Buat Subscription Baru dengan jenis Berbayar dan sales order S00015 terpilih
  1. Pilih Pelanggan, Plan, dan Workspace.
  2. Pada Jenis langganan, pilih Berbayar.
  3. Pada Sales order Odoo, ketik nomor SO atau nama pelanggannya. Yang muncul hanya SO yang sudah dikonfirmasi di Odoo — penawaran (quotation) dan SO yang dibatalkan tidak bisa dipilih.
  4. Setelah dipilih, ringkasan SO tampil di bawahnya: Nilai kontrak, Tanggal SO, dan Project. Ketiganya hanya untuk dibaca — nilai kontrak mengikuti Odoo dan tidak bisa diubah di sini.
  5. Isi Tanggal Mulai dan Tanggal Berakhir sebagai masa kontrak yang disepakati. Odoo tidak menyimpan masa kontrak, jadi masa kontrak ditentukan di sini — dan setiap invoice SO itu akan diberi masa yang sama.
  6. Buat Subscription.

Status untuk langganan berbayar selalu Pending dan tidak bisa dipilih. Langganan itu tercatat, tetapi belum bisa dipakai sampai invoicenya lunas.

Satu sales order, satu langganan

Sebuah SO hanya bisa tertaut ke satu langganan. Mencoba menautkannya lagi ditolak dengan pesan "sales order S000xx sudah tertaut ke sebuah langganan" — kalau tidak, invoice lunasnya akan terhitung dua kali di dashboard. SO yang salah tautan bisa dilepas dengan menghapus langganannya.

Kalau pelanggan di Odoo berbeda

License Admin membandingkan nama pelanggan pada SO dengan nama pelanggan langganan. Kalau namanya tidak mirip, muncul peringatan Pelanggan di Odoo berbeda, dan langganan baru bisa disimpan setelah kotak konfirmasinya dicentang.

Peringatan Pelanggan di Odoo berbeda dengan kotak konfirmasi

Ini hanya peringatan, bukan penolakan. Pelanggan di Odoo dan pelanggan di License Admin tidak berbagi kunci apa pun, jadi yang bisa dibandingkan hanya namanya — dan nama bisa berbeda karena alasan yang sah. Bentuk badan usaha (PT, CV, Tbk) diabaikan, dan satu kata umum yang sama seperti "Jaya" atau "Bersama" tidak dianggap cukup mirip.

Peringatan yang sama muncul saat memperpanjang dan meng-upgrade.

Kapan langganan menjadi aktif

License Admin membaca invoice dari setiap SO yang tertaut: saat server menyala, lalu setiap 15 menit (bisa diubah lewat ODOO_SYNC_INTERVAL_MINUTES). Begitu sebuah invoice SO itu lunas di Odoo, langganan menjadi Aktif dan tanggal berakhirnya diisi akhir masa kontrak SO itu.

Tidak perlu menunggu jadwalnya — buka detail langganan, lalu klik Tarik ulang dari Odoo pada kartu Invoice dari Odoo.

Kartu Invoice dari Odoo dengan waktu sinkron terakhir dan tombol Tarik ulang dari Odoo

Beberapa hal yang perlu diketahui:

  • SO bertermin: invoice termin pertama yang lunas sudah membuka seluruh masa kontraknya.
  • Tanggal berakhir hanya maju. Invoice masa lama yang baru dilunasi belakangan tidak memotong masa yang lebih baru.
  • Pembayaran yang dibatalkan di Odoo mengubah status invoicenya di License Admin, tetapi tidak mencabut akses pelanggan — itu keputusan manusia.

Mengaktifkan secara manual

Tombol Aktifkan tetap tersedia untuk langganan berbayar, misalnya ketika kontrak sudah ditandatangani tetapi invoicenya belum dibayar. Kalau belum ada invoice lunas untuk masa yang sedang berjalan, alasannya wajib diisi, dan alasan itu tercatat di riwayat langganan.

Dialog Aktifkan Subscription dengan kolom Alasan mengaktifkan manual

Membaca detail langganan

Detail langganan dengan dua sales order Odoo dan tanda pelanggan berbeda

Bagian Sales order Odoo mendaftar setiap SO yang pernah menjual langganan ini, dari masa pertama sampai perpanjangan terbaru. Untuk tiap SO:

  • Nomornya membuka SO itu di Odoo.
  • Tanggal di sebelahnya adalah masa kontrak yang dibayar SO itu.
  • Pelanggan di Odoo menyebut nama pelanggan pada SO. Segitiga kuning berarti namanya tidak mirip dengan pelanggan langganan ini — seperti pada contoh di atas.
  • Upgrade ke … menandai SO upgrade, beserta keadaannya: menunggu invoice lunas atau diterapkan dengan tanggalnya.
  • Masa ini memakai plan … menandai perpanjangan yang membawa plan lain; plan itu berganti saat masanya dimulai dan lunas.

Langganan berbayar yang belum punya SO sama sekali ditandai Belum bertaut ke Odoo.

Memperpanjang

Perpanjangan langganan berbayar adalah SO baru di Odoo, satu per termin. Klik Perpanjang.

Dialog Perpanjang Langganan dengan pilihan plan untuk masa berikutnya dan sales order
  • Termin baru berakhir — akhir masa perpanjangan. Masa baru dimulai dari akhir masa terakhir, termasuk perpanjangan yang sudah ditautkan tetapi belum lunas, sehingga dua masa tidak pernah tumpang tindih.
  • Plan untuk masa berikutnya — default-nya plan sekarang, atau plan downgrade yang sudah dijadwalkan.
  • Sales order Odoo — SO untuk termin ini.

Tautkan & Perpanjang hanya menautkan SO-nya. Tanggal langganan belum berubah; ia bergeser saat invoice SO itu lunas. License key pelanggan tidak perlu diterbitkan ulang.

Langganan Trial dan Internal diperpanjang langsung tanpa SO, dan plan barunya langsung berlaku.

Upgrade plan

Upgrade langganan berbayar di tengah masa kontrak juga dijual sebagai SO baru untuk selisihnya. Klik Upgrade Plan, pilih Plan tujuan dan Sales order Odoo-nya, lalu Tautkan Upgrade.

Dialog Upgrade Plan untuk langganan berbayar
  • Plan dan quota belum berubah saat SO ditautkan. Keduanya naik saat invoice SO upgrade itu lunas, dan tanggal kontrak tidak berubah — upgrade membeli plan yang lebih besar, bukan waktu tambahan.
  • SO upgrade dihitung untuk sisa masa kontrak yang sedang berjalan, sehingga nilainya ikut terjumlah ke nilai kontrak masa itu di Dashboard Finansial.
  • Quota baru sampai ke instance pelanggan pada phone-home berikutnya (paling lama 24 jam).

Langganan Trial dan Internal di-upgrade langsung tanpa SO. Upgrade hanya bisa dilakukan pada langganan berstatus Aktif.

Downgrade plan

Downgrade tidak mengubah plan saat itu juga. Plan barunya dipakai mulai masa kontrak berikutnya: perpanjangan berikutnya otomatis memakai plan itu, dan plan berganti saat masa itu dimulai (untuk langganan berbayar, sesudah lunas). Sampai saat itu header langganan menampilkan Downgrade dijadwalkan ke …, dan quota lama tetap berlaku.

Daftar langganan

Daftar Subscriptions dengan filter Belum bertaut ke Odoo aktif
  • Pencarian mencocokkan nama pelanggan dan nomor SO — SO mana pun yang pernah menjual langganan itu, bukan hanya yang terbaru.
  • Filter Belum bertaut ke Odoo hanya menampilkan langganan berbayar yang belum punya SO: kontrak dari sebelum integrasi Odoo yang belum dipetakan ke sales order-nya. Trial dan Internal tidak pernah muncul di sini.
  • Export CSV mengikuti filter yang sedang aktif.

Menghapus langganan

Hapus Subscription menyembunyikan langganan dari daftar. Pada saat yang sama:

  • Tautan SO-nya dilepas, sehingga SO itu bisa ditautkan ke langganan lain — begini cara membetulkan SO yang salah tautan.
  • Invoice dari Odoo milik langganan itu ikut dihapus dari License Admin. Invoice aslinya tetap ada di Odoo, dan muncul lagi begitu SO-nya ditautkan ke langganan lain.
  • Invoice lama (dari sebelum Odoo) tetap tersimpan dengan label Langganan dihapus, tetapi tidak lagi dihitung di dashboard.
  • Dashboard tidak lagi menghitung apa pun dari langganan itu.

License key tidak ikut dicabut

Menghapus langganan tidak mencabut license key yang sudah diterbitkan untuknya, dan instance pelanggan tetap berjalan. Cabut dulu license key-nya di menu License Keys bila memang itu tujuannya.

Riwayat langganan

Kartu Riwayat Subscription di bagian bawah detail mencatat setiap peristiwa, beserta perubahan plan-nya (misalnya "Starter → Pro") dan alasannya bila ada:

PeristiwaArtinya
DiaktifkanLangganan menjadi aktif secara manual — alasannya tercatat bila diisi
DiperpanjangSO perpanjangan ditautkan (untuk berbayar) atau masa diperpanjang (trial/internal)
Upgrade dipesanSO upgrade ditautkan; plan belum berubah
Di-upgradePlan naik — untuk berbayar, karena invoice SO upgrade-nya lunas
Di-downgradeDowngrade dijadwalkan untuk masa berikutnya
Plan bergantiMasa baru dimulai dengan plan yang dibeli SO-nya
Masa tenggang, Kedaluwarsa, DisuspendPerubahan status oleh sistem atau admin