Skip to main content

Documentation Index

Fetch the complete documentation index at: https://memberpulseptyltd.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Automate the creation, delivery, and management of invoices for memberships, events, and other billable items.

Capabilities

ActionROLE_CLIENT_ADMINROLE_CLIENT_USER
View invoices
Generate invoices
Configure automation
Process refunds
Export invoices

Features

Automatic Invoice Generation

Invoices are automatically generated for:
  • Membership Renewals - Generated X days before expiry
  • Event Registrations - Generated at registration
  • Course Purchases - Generated at enrollment
  • Resource Downloads - Generated for paid resources
  • Job Postings - Generated when posting is submitted
  • Sponsorship Plans & Promotions - Generated for sponsorship tiers, ad placements, and sponsored promotions

Acceptance Criteria

Frontend
  • Invoice list with status filtering
  • Invoice detail view with PDF preview
  • Manual invoice creation form
  • Bulk invoice generation
  • Invoice export (PDF, CSV)
  • Refund processing workflow
Backend / API
  • Backend behavior supports this feature as documented.
Permissions
  • Access is restricted per the Capabilities matrix on this page (or equivalent role rules).
Business Rules
  • Invoice numbers must be unique and sequential
  • Cannot edit invoice after payment received
  • Refund cannot exceed invoice amount
  • Due date calculated from invoice date + payment terms
  • Overdue status set automatically based on due date
  • Voided invoices retained for audit purposes
  • Tax calculated based on organization settings
Error Handling
  • Error states return clear messages and appropriate HTTP status codes.

Invoice Configuration

  • Invoice number format (e.g., INV-YYYYMMDD-####)
  • Organization details (name, address, ABN)
  • Payment terms (due date calculation)
  • Tax configuration (rate, inclusion)

Acceptance Criteria

Frontend
  • Invoice settings configuration
  • Reminder schedule configuration
Backend / API
  • Backend behavior supports this feature as documented.
Permissions
  • Access is restricted per the Capabilities matrix on this page (or equivalent role rules).
Business Rules
  • All business rules for this feature are enforced.
Error Handling
  • Error states return clear messages and appropriate HTTP status codes.

Invoice Lifecycle

Draft → Sent → Viewed → Paid

              Overdue → Reminder → Paid/Written Off

Acceptance Criteria

Frontend
  • UI supports the workflows described in this feature.
Backend / API
  • Backend behavior supports this feature as documented.
Permissions
  • Access is restricted per the Capabilities matrix on this page (or equivalent role rules).
Business Rules
  • All business rules for this feature are enforced.
Error Handling
  • Error states return clear messages and appropriate HTTP status codes.

Payment Reminders

Configure automatic reminders:
ReminderDefault Timing
First reminder3 days before due
Second reminderOn due date
Overdue notice7 days after due
Final notice14 days after due

Acceptance Criteria

Frontend
  • Payment recording interface
Backend / API
  • Backend behavior supports this feature as documented.
Permissions
  • Access is restricted per the Capabilities matrix on this page (or equivalent role rules).
Business Rules
  • All business rules for this feature are enforced.
Error Handling
  • Error states return clear messages and appropriate HTTP status codes.

Data Model Cross‑Reference (Entities)

Implementation Contracts

Backend (API)

GET    /api/invoices                         # List all invoices
POST   /api/invoices                         # Create manual invoice
GET    /api/invoices/{id}                    # Get invoice details
PUT    /api/invoices/{id}                    # Update invoice
DELETE /api/invoices/{id}                    # Void invoice

GET    /api/invoices/{id}/pdf                # Download PDF
POST   /api/invoices/{id}/send               # Send/resend invoice
POST   /api/invoices/{id}/record-payment     # Record manual payment
POST   /api/invoices/{id}/refund             # Process refund

GET    /api/invoices/settings                # Get invoice settings
PUT    /api/invoices/settings                # Update settings

POST   /api/invoices/bulk-generate           # Generate multiple invoices
POST   /api/invoices/export                  # Export invoices

Data Model

interface Invoice {
  id: string;
  invoiceNumber: string;
  memberId: string;
  memberName: string;
  memberEmail: string;
  
  // Line items
  items: InvoiceItem[];
  
  // Amounts
  subtotal: number;
  taxRate: number;
  taxAmount: number;
  total: number;
  
  // Dates
  invoiceDate: string;
  dueDate: string;
  paidDate?: string;
  
  // Status
  status: 'draft' | 'sent' | 'viewed' | 'paid' | 'overdue' | 'voided';
  
  // Payment
  paymentMethod?: string;
  transactionId?: string;
  
  // Related
  relatedType: 'membership' | 'event' | 'course' | 'resource' | 'job' | 'sponsorship';
  relatedId: string;
  
  createdAt: string;
  updatedAt: string;
}

interface InvoiceItem {
  description: string;
  quantity: number;
  unitPrice: number;
  amount: number;
}

Error Handling

ErrorHTTP StatusMessage
Already paid400”Cannot modify paid invoice”
Refund exceeds amount400”Refund amount exceeds invoice total”
Invalid due date400”Due date must be after invoice date”
Voided invoice400”Invoice has been voided”