Skip to main content

Payments

BrikSync PropOS gives landlords and property managers a clear, real-time view of rent payments across their portfolio. Tenants can pay rent online through their portal and both parties have instant access to payment records.

How Payments Work

Each active lease in BrikSync PropOS generates an expected rent payment based on the rent amount and due date set in the lease. Payments are tracked against these expected amounts, giving you a clear picture of what has been collected and what is outstanding.

Payment statuses

StatusMeaning
pendingPayment expected but not yet received.
processingPayment submitted by tenant and being processed.
succeededFull payment received and confirmed.
failedPayment attempt failed.
refundedPayment was refunded to the tenant.
disputedPayment is under dispute.
Overdue payments are derived from pending or processing payments where the due date has passed. “Overdue” is a display label, not a stored status.

Viewing Payment History

For Managers and Landlords

  1. Go to Payments in the left sidebar.
  2. You will see a full list of all rent payments across your properties.
  3. Use the filters to narrow by:
    • Property — view payments for one property.
    • Tenant — view all payments from a specific tenant.
    • Status — filter by succeeded, pending, processing, failed, refunded, or disputed.
    • Date range — view payments within a specific period.
  4. Click any payment record to see full details.
You can also view payment history from an individual Tenant record or Lease record.

For Tenants

Tenants can view their own payment history by going to Payments in their portal. They will see:
  • All past payments with dates, amounts, and status.
  • The next upcoming payment — amount and due date.
  • A Pay with Stripe button for any pending payment.
  • A Download Receipt button for any succeeded payment.

Paying rent online (tenants)

Tenants can pay rent directly through BrikSync PropOS using Stripe.
  1. Go to Payments in the tenant portal.
  2. Find the pending payment and click Pay with Stripe.
  3. You will be redirected to a secure Stripe Checkout page.
  4. Complete the payment using your preferred payment method.
  5. After payment, you are redirected back to the Payments page.
While the payment is being confirmed, the status changes to processing. Once Stripe confirms the payment via webhook, the status updates to succeeded and you can download a receipt.
Only tenants can initiate a Stripe checkout for their own payments. The system enforces ownership — you cannot pay another tenant’s rent. If the payment amount is zero or the payment has already succeeded, the checkout button will not be available.

Downloading a receipt

After a payment has been confirmed as succeeded, you can download a PDF receipt. Tenants can download receipts for their own payments, while brokers, property managers, landlords, and admins can download receipts for any payment within their organisation.
  1. Go to Payments in the tenant portal.
  2. Find the succeeded payment.
  3. Click Download Receipt.
The receipt includes:
  • Receipt ID
  • Tenant name and email
  • Property and unit
  • Payment amount and any late fee
  • Due date and payment date
  • Payment status
Receipts are only available for payments in succeeded status. Tenants can only access receipts for their own payments; brokers, property managers, landlords, and admins can access any receipt within their organisation.
You can also download receipts programmatically via GET /api/payments/receipt?paymentId={uuid}. See the API overview for details.

Recording a Manual Payment

If a tenant pays by bank transfer, cheque, or cash, you can record the payment manually.
  1. Go to Payments and click Record Payment.
  2. Select the tenant and lease.
  3. Enter the amount (0.01–1,000,000) and payment date (YYYY-MM-DD).
  4. Enter the due date (YYYY-MM-DD).
  5. Select the payment method — one of: stripe, bank_transfer, cash, check, or other (defaults to other).
  6. Enter late fee charged if applicable (0–10,000, defaults to 0).
  7. Add any reference notes (up to 1,000 characters).
  8. Click Save Payment.
The payment will be reflected in both your dashboard and the tenant’s portal.
BrikSync PropOS records and tracks payment history. For integrated online payment processing, configure your payment gateway in Settings → Payments.

Managing Arrears

Tenants with overdue payments are flagged automatically in your dashboard. From Payments → Overdue, you can see all tenants with outstanding rent. For each:
  • View the exact amount overdue and how many days late.
  • Send a payment reminder email directly from the platform.
  • Record any payment arrangements made with the tenant.
  • Add internal notes for your records.
Set up automated rent reminders in Settings → Notifications so tenants receive email reminders 5 days before rent is due, reducing late payments.

Exporting Payment Records

You can export payment records for accounting or reporting purposes. Exports respect all active filters — including date range, property, tenant, and status — so the exported file matches exactly what you see on screen.
  1. Go to Payments.
  2. Apply any filters you need (date range, property, tenant, status, etc.).
  3. Click Export and choose your format — CSV or PDF.
Exported records include tenant name, property, unit, amount, date, status, and payment method.

Waiving a payment

Payment waiving is not yet available via the API. To waive a payment, record a refund using the refunded status or contact support for assistance.

Stripe webhook integration

BrikSync PropOS processes Stripe events automatically via webhook. The webhook endpoint handles the following event types:
Event typeDescription
checkout.session.completedTenant completed a Stripe Checkout session for a rent payment.
customer.subscription.updatedA subscription was updated (e.g. plan change or renewal).
customer.subscription.deletedA subscription was cancelled or expired.
invoice.payment_succeededA subscription invoice payment succeeded.
invoice.payment_failedA subscription invoice payment failed.
Unrecognized event types are acknowledged but not processed.

How webhook processing works

  1. Stripe sends an event to the webhook endpoint.
  2. The webhook handler reads the request body as raw text (required for signature verification) and verifies the Stripe signature.
  3. Duplicate events are detected and short-circuited for idempotency.
  4. For checkout.session.completed events with rent payment metadata, the corresponding payment record is updated to succeeded with the Stripe PaymentIntent ID and payment timestamp.
  5. An audit log entry is created for payment confirmations.

Webhook response status values

The webhook endpoint returns a JSON response with a status field indicating the processing outcome:
StatusMeaning
processedEvent was handled successfully.
duplicateEvent was already processed (idempotent — safely ignored).
skippedUnrecognized event type — acknowledged but not processed.
failedEvent processing failed (returned with a 500 status code).
Webhook processing is signature-verified and idempotent. Duplicate event deliveries from Stripe are safely ignored via the stripe_webhook_events deduplication table.

Built by Errsol Technologies LLP · Karan · BrikSync PropOS
Last modified on April 7, 2026