Invoice Payment Processing and Tracking in BreezeDoc

BreezeDoc invoices support multiple payment methods including Stripe and PayPal, with automatic payment tracking and confirmation emails. This guide explains how to accept payments, record transactions, track payment status, and manage invoice activity logs.

Payment Processing Overview

Supported Payment Platforms

BreezeDoc supports two primary payment platforms:

  • Stripe: Credit/debit card processing via Stripe Checkout
  • PayPal: PayPal account and credit card processing
  • Manual payments: Record offline payments (cash, check, wire transfer)

Note: You must connect Stripe or PayPal accounts before customers can pay online. Manual payment recording is always available.

Prerequisites

  • Account: Active BreezeDoc account
  • Invoice created: Invoice sent to customer with line items
  • Payment integration: Stripe or PayPal connected (for online payments)
  • Plan: Invoicing available on all plans

Online Payment Processing

Stripe Payment Processing

Connecting Stripe Account

  1. Go to SettingsIntegrations.
  2. Find the Stripe Connect section.
  3. Click Connect Stripe.
  4. Complete Stripe OAuth authorization.
  5. Grant BreezeDoc permission to process payments.
  6. Return to BreezeDoc – connection confirmed.

Requirements:

  • Active Stripe account (sign up at stripe.com)
  • Completed Stripe verification (identity, bank details)
  • Activated Stripe account (not pending review)

How Stripe Payments Work

  1. Customer receives invoice email with payment link.
  2. Customer clicks Pay Invoice button.
  3. Redirected to Stripe Checkout page.
  4. Customer enters credit/debit card details.
  5. Stripe processes payment securely.
  6. Customer redirected back to BreezeDoc confirmation page.
  7. Payment recorded automatically in BreezeDoc.
  8. Payment confirmation email sent to customer.

Code Reference: Stripe checkout creation is in app/Http/Controllers/InvoiceController.php:336 .

PayPal Payment Processing

Connecting PayPal Account

  1. Go to SettingsIntegrations.
  2. Find the PayPal section.
  3. Click Connect PayPal.
  4. Log in to PayPal and authorize BreezeDoc.
  5. Grant permission to process payments.
  6. Return to BreezeDoc – connection confirmed.

How PayPal Payments Work

  1. Customer receives invoice email with payment link.
  2. Customer clicks Pay with PayPal button.
  3. PayPal order created with invoice total.
  4. Customer logs into PayPal or pays as guest.
  5. PayPal processes payment.
  6. Payment captured and recorded in BreezeDoc.
  7. Customer sees confirmation message.
  8. Payment confirmation email sent.

Code Reference: PayPal payment flow is in app/Http/Controllers/InvoiceController.php:412-504 .

Payment Confirmation Process

When payment completes successfully:

  • InvoicePayment record created: Stores payment_id, amount, currency, platform
  • Invoice marked paid: Status updated to "Paid"
  • PAID event tracked: Activity log records payment timestamp
  • Confirmation email sent: Customer receives payment receipt
  • Notification to owner: You receive notification of payment

Code Reference: Payment confirmation is in app/Models/InvoicePayment.php:45-48 .

Recording Manual Payments

When to Record Manual Payments

Use manual payment recording for offline transactions:

  • Cash payments: Customer paid in person
  • Check payments: Customer sent check by mail
  • Wire transfers: Bank transfer or ACH payment
  • Other methods: Venmo, Zelle, or custom payment arrangements
  • Stripe/PayPal unavailable: Payment platforms not connected

How to Record Manual Payment

  1. Go to Invoices and open the paid invoice.
  2. Click Record Payment or Add Payment.
  3. Enter payment details:
    • Payment ID: Transaction reference (check number, confirmation code, etc.)
    • Amount: Payment amount (can be partial or full)
    • Payment Date: When payment was received
    • Payment Platform: Select platform (Cash, Check, Wire Transfer, Other)
    • Notes: Optional notes about payment
  4. Click Save Payment.
  5. Payment recorded and confirmation email sent to customer.

Code Reference: Manual payment recording is in app/Http/Controllers/InvoicePaymentController.php:33-68 .

Partial Payments

BreezeDoc supports multiple payments per invoice:

  • Record each payment separately: Add payment for each installment
  • Track total paid: System calculates total from all payments
  • Outstanding balance shown: Invoice displays remaining amount due
  • Multiple platforms: Mix Stripe, PayPal, and manual payments

Payment Tracking and Activity

Invoice Event Types

BreezeDoc tracks four invoice event types:

  • SENT: Invoice sent to customer
  • OPENED: Customer opened invoice email (tracking pixel)
  • VIEWED: Customer viewed invoice payment page
  • PAID: Payment received and recorded

Code Reference: Event types are defined in app/Models/InvoiceEvent.php:22-28 .

Viewing Invoice Activity

  1. Go to Invoices and select an invoice.
  2. Click Activity tab or button.
  3. View timeline of all events:
    • Timestamp for each event
    • Event type (Sent, Opened, Viewed, Paid)
    • Customer email
    • IP address and user agent
  4. Download activity log as PDF for records.

Payment History

View all payments for an invoice:

  • Payment date: When payment was received
  • Payment ID: Transaction reference (Stripe charge ID, PayPal order ID, check number)
  • Amount paid: Payment amount in invoice currency
  • Payment platform: Stripe, PayPal, or manual method
  • Notes: Optional payment notes

Invoice Status Management

Invoice Status Types

Unpaid (Default)

  • Definition: Invoice sent but no payment received
  • Characteristics: Payment link active, reminders can be sent
  • Next action: Wait for payment or send reminder

Paid

  • Definition: Full payment received
  • Characteristics: Cannot be edited or deleted, payment link disabled
  • Automatically set: When payment recorded
  • Next action: Download for records or mark as void if refund needed

Void

  • Definition: Invoice cancelled or refunded
  • Characteristics: Cannot be paid or edited, marked as invalid
  • Manual action: Set by invoice owner
  • Use cases: Cancelled orders, refunded payments, duplicate invoices

Changing Invoice Status

  1. Go to Invoices and open invoice.
  2. Click MoreMark as Paid or Mark as Void.
  3. Confirm action.
  4. Status updated immediately.

Note: Paid and void invoices cannot be deleted to maintain financial records.

Customer Payment Experience

Receiving Invoice Email

Customers receive email notification with:

  • Invoice number and date
  • Line items with descriptions and prices
  • Total amount due
  • Payment due date
  • Pay Invoice button (links to payment page)
  • Invoice details (customer name, description)

Invoice Payment Page

When customer clicks Pay Invoice:

  • View invoice details: Line items, totals, payment due date
  • Select payment method: Stripe or PayPal buttons (if connected)
  • Secure payment processing: Redirected to payment platform
  • Confirmation: Success message after payment
  • Receipt email: Automatic payment confirmation sent

Payment Confirmation Email

After successful payment, customer receives:

  • Payment confirmation: "Your payment has been received"
  • Transaction details: Amount, date, payment method
  • Receipt information: For tax/accounting records
  • Invoice PDF: May include PDF attachment

Multi-Currency Support

Supported Currencies

BreezeDoc invoices support multiple currencies:

  • USD – United States Dollar ($)
  • EUR – Euro (€)
  • GBP – British Pound (£)
  • CAD – Canadian Dollar ($)
  • AUD – Australian Dollar ($)
  • JPY – Japanese Yen (¥)
  • CHF – Swiss Franc (CHF)

Currency Display and Formatting

Payment amounts are formatted based on:

  • Invoice currency: Set when creating invoice
  • Account language: Affects number formatting
  • Localized display: Proper currency symbols and decimal places

Code Reference: Currency formatting is in app/Models/InvoicePayment.php:31-39 .

Best Practices for Payment Processing

Setup Best Practices

  • Connect both Stripe and PayPal: Give customers payment flexibility
  • Test payment flow: Create test invoice and process test payment
  • Verify bank connections: Ensure Stripe/PayPal accounts are fully activated
  • Set payment terms: Include clear payment due dates on invoices
  • Configure invoice branding: Upload logo for professional appearance

Payment Tracking Best Practices

  • Check activity regularly: Monitor which invoices customers opened
  • Follow up on viewed but unpaid: Customer saw invoice but didn't pay
  • Record manual payments immediately: Don't delay payment entry
  • Use payment IDs: Always record transaction references for tracking
  • Download payment receipts: Keep copies for accounting and taxes
  • Export activity logs: Maintain audit trail for financial records

Customer Communication Best Practices

  • Send payment reminders: Follow up politely on overdue invoices
  • Confirm receipt: Acknowledge manual payments via email
  • Provide payment instructions: Include clear steps in invoice description
  • Offer multiple methods: Connect both Stripe and PayPal for flexibility
  • Set realistic due dates: Allow 14-30 days for standard terms

Troubleshooting Payment Issues

Issue: Customer cannot see payment button

Fix: Verify Stripe or PayPal is connected in Settings ➜ Integrations. Check invoice has selected payment platforms enabled. Ensure invoice is not already marked as paid or void. Ask customer to refresh page or try different browser.

Issue: Payment failed during Stripe checkout

Fix: Customer's card may be declined – ask them to try different payment method. Check Stripe dashboard for specific error (insufficient funds, expired card, etc.). Verify Stripe account is active and not suspended. Ensure invoice amount is valid (>$0.50 for Stripe minimum).

Issue: PayPal payment not recording in BreezeDoc

Fix: Check PayPal connection in Settings ➜ Integrations. Verify webhook is properly configured. Look for payment in PayPal dashboard – may need manual recording. Contact support if payment completed but not recorded.

Issue: Cannot record manual payment

Fix: Verify invoice is not marked as void. Ensure amount is valid number (not negative or zero). Check Payment ID field is filled in (required). Try different payment platform selection. Refresh page and try again.

Issue: Customer didn't receive payment confirmation email

Fix: Check customer email address in invoice is correct. Ask customer to check spam/junk folder. Verify payment was actually recorded (check invoice activity). Resend payment confirmation manually if needed. Whitelist BreezeDoc domain in customer's email.

Issue: Partial payment not calculating correctly

Fix: Add up all payment amounts in payment history. Verify each payment was entered correctly. Check for duplicate payment entries. Outstanding balance = invoice total - sum of all payments. Contact support if math is incorrect.

Issue: Want to refund payment

Fix: Process refund through Stripe or PayPal dashboard (BreezeDoc doesn't process refunds). Mark invoice as void after refunding. Add note to invoice about refund for records. Record negative payment if needed for accounting. Contact payment platform support for refund issues.

FAQ

Q: Do I need Stripe or PayPal to use invoicing?

A: No. You can create and send invoices without payment integrations. Customers won't have online payment buttons, but you can record manual payments. Payment integrations are optional but recommended.

Q: What fees does BreezeDoc charge for payments?

A: BreezeDoc charges no fees. Stripe and PayPal charge their standard processing fees (typically 2.9% + $0.30 per transaction). Check their pricing for exact rates.

Q: Can customers pay with credit card without PayPal account?

A: Yes, if you use Stripe. Stripe Checkout accepts credit/debit cards directly. PayPal also allows guest checkout with cards in most regions.

Q: How long does it take for payment to show as received?

A: Online payments (Stripe, PayPal) are recorded immediately after processing. Manual payments appear as soon as you record them.

Q: Can I accept multiple payments for one invoice?

A: Yes. Record each payment separately using the Record Payment button. BreezeDoc tracks total paid and displays outstanding balance.

Q: What happens if customer pays more than invoice amount?

A: You can record the exact amount paid. If overpayment occurred, handle refund through payment platform or apply credit to future invoice. BreezeDoc doesn't automatically handle overpayments.

Q: Can I delete a payment record?

A: No. Payment records are permanent for financial integrity. If payment was entered incorrectly, contact support for assistance. For refunds, mark invoice as void and note the refund.


Need more help? Contact our support team – we're here to help!

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.