Generate invoices automatically and collect payments at checkout.

app.chartling.io C Chartling GETTING STARTED Quick start PATIENTS & CLIENTS Patients Clients CLINICAL Visits & SOAP AI scribe Medications & Rx Controlled subs. Lab orders Discharge & comms AI FEATURES Clinic Copilot Clinical support SCHEDULING Appointments BILLING Invoicing & pmts SERVICE MODULES Boarding Daycare Grooming Training TEAM & SETTINGS Team & permissions Clinic settings SMS & reminders Audit log Docs โ€บ Chartling โ€บ Invoicing & payments Invoicing & payments INV-0249 ยท Luna Rodriguez Unpaid SERVICE QTY PRICE TOTAL Wellness exam 1 $85.00 $85.00 Metronidazole 250 mg ร— 10 1 $18.00 $18.00 CBC panel (in-house) 1 $42.00 $42.00 Total due $145.00 Record payment Send invoice Refund
  1. Charges are captured during the visit

    Every service, medication, and procedure added to the SOAP plan automatically becomes a line item on the pending invoice. There's nothing separate to enter โ€” the clinical record and the financial record are the same document until finalized.

    You can also add ad-hoc charges (boarding, lab fees, retail) directly to the invoice before finalizing.

  2. Review line items before finalizing

    Open the Invoice tab within the visit. Review all line items, quantities, and prices. Edit any item โ€” adjusting a quantity here adjusts the invoice only, not the clinical record. Apply any discounts.

  3. Finalize the visit to generate the invoice

    Click Finalize visit. The invoice is created and assigned an invoice number. The visit record is sealed โ€” clinical content can be amended but not silently edited after this point.

    The invoice is immediately available in the owner portal if they have a portal account.

  4. Send the invoice

    From the invoice view, click Send invoice to email or SMS the invoice to the client. Or print it for in-person checkout. Payment can be collected in person, or owners can pay through the portal.

  5. Record payment

    Click Record payment on any open invoice. Select the payment method (card, cash, check, other) and enter the amount. If the client pays in full, the invoice is marked paid. Partial payments are tracked and the remaining balance stays open.

Taking card payments

To accept card payments and receive direct payouts, connect a payment processor before your first invoice: go to Settings โ†’ Billing โ†’ Payments and click Connect Stripe. This opens Stripe's onboarding flow to verify your clinic's business details and bank account. Until this is connected, you can still record cash, check, and manual card payments โ€” the Connect Stripe step is only required for owners to pay by card themselves, whether in person or through the portal.

Estimates

Send a cost estimate to an owner before work begins. Estimates let clients approve a budget before you finalize the invoice.

  1. Create the estimate

    From any visit or the client record, click + New estimate. Add line items the same way you'd add them to an invoice โ€” services, medications, procedures, and fees. You can include a cost range for each item if the final amount depends on what you find.

  2. Send to the client

    Click Send estimate to deliver it by email or SMS. The client receives a summary with a total range and a link to review the breakdown. You need the estimate.send permission to do this.

  3. Client approves

    The owner reviews and approves the estimate in the portal (or verbally, which staff can record by marking it approved in the app). Approval is logged in the audit trail.

Estimates become invoices

When you finalize a visit, any approved estimate for that visit converts to the draft invoice automatically. You can still add or remove line items before the invoice is finalized.

Refunds

To issue a refund, open the invoice and click Refund. Enter the refund amount and reason. Refunds can be full or partial. The refund is recorded in the invoice history and reflected in billing reports.

Household balances

If a household has multiple pets, all invoices appear on the household's account. Refunds for any pet in the household are visible to the owner in the portal under their account balance.

Insurance claims

On the Practice tier, invoices can carry a linked insurance claim (e.g. Trupanion) that tracks status through your billing workflow โ€” draft, submitted, partially paid, paid, denied, or closed. This is a claims-tracking and reconciliation workflow inside Chartling, not an automated wire integration to the insurer: submitting a claim records it as sent and lets you log the insurer's response as it comes back, rather than filing it through a live API. Requires the billing.insurance_direct permission.

Billing reports

Go to Reports โ†’ Billing to view revenue by date range, provider, service type, or payment method. Export to CSV for your accountant or billing software.

ReportWhat it shows
Daily summaryTotal collected, outstanding, and refunded for a given day
Outstanding balancesAll open invoices with amount due and age
Revenue by providerCharges and collections broken down by veterinarian
Revenue by serviceWhich services and products drive the most revenue

FAQ

When exactly is the invoice created?

The invoice is created when you finalize the visit. Before that, line items are in a "pending" state on a draft invoice. You can see and edit the draft invoice at any time during the visit, but it doesn't have an invoice number until finalization.

Can I split a payment across multiple methods?

Yes. Click Record payment and enter the amount for the first method. Repeat for additional methods. Partial payments are tracked cumulatively until the invoice is paid in full.

Can I add a charge after an invoice has been finalized?

Yes. Open the invoice and click Add line item. A supplemental charge is added to the existing invoice, and the total is updated. This creates an audit entry noting who added the charge and when.

Can owners pay through the portal?

Yes. Owners can pay invoices directly from the portal using the Pay link on their invoice. Payment is recorded automatically and the invoice status updates to paid.

Something missing? We're always improving these docs.

Contact support Open app