Skip to content

Payouts

Manage payout drafts, submission, approval, and the Xendit disbursement dialog.

For users

Payout actions have a financial impact and require the super_admin role.

Payout lifecycle

  1. Generate drafts: create drafts for beauticians with eligible earnings.
  2. Submit: submit a selected draft for approval.
  3. Approve: approve the payout under the appropriate authority.
  4. Disburse: open a confirmation dialog with read-only bank identity. Only confirmation submits a request to the provider; cancelling leaves the payout unchanged. If Xendit is not configured, the request is rejected before a disbursement status/attempt is written.

Before disbursement

  • Match the beautician, amount, and latest status.
  • Check the bank identity; the dialog warns and disables confirmation when required bank data is incomplete.
  • Do not repeat an action before checking the latest status.
  • Use CSV for reconciliation; export retains the active status filter.

Approval is not proof of transfer. Do not report funds sent until the disbursement status and reference are confirmed. Admin E2E does not send a real transfer.

Payout lifecycle ledger
Show draft and approval statuses with the disbursement dialog.
Disbursement dialog
Redact the bank account number and bank identity.

Video walkthroughs

English Admin Web recordings from isolated demo data, slowed down so the steps are easier to follow. Secret values are masked. No external payment or provider delivery is performed.

Recorded:

admin generates, approves, and fails closed on payout disbursement without provider configuration 0:14

Covered steps

  1. Generate an eligible payout draft, submit it, and approve it.
  2. Inspect and cancel the complete-bank disbursement dialog without initiating a transfer.
  3. With provider configuration absent, confirm the request and verify the UI rejects it while the payout and provider references remain unchanged.
  4. Filter the list by approved status and click the filtered CSV export.
admin cannot disburse an approved payout with incomplete bank details 0:07

Covered steps

  1. Open the incomplete-bank payout dialog and verify the required bank warning and disabled confirmation.
  2. Cancel the dialog and verify payout status and provider references are unchanged.
regular admin cannot generate payout drafts without elevated authorization 0:04

Covered steps

  1. Attempt to generate payout drafts as a regular admin.
  2. Verify access is denied and the payout count is unchanged.
admin exports each operational finance list with its CSV schema 0:06

Covered steps

  1. Open the payouts list and click its visible CSV export control.
  2. Verify the export response schema and that it contains data.

Testing boundaries

  • The complete-bank confirmation journey runs with XENDIT_SECRET_KEY empty, so service configuration rejection prevents the provider call; no external transfer success is attempted. The separate incomplete-bank fixture disables confirmation and also makes no provider call.
Navigation

Type to search…

↑↓ navigate↵ selectEsc close