# June 10 - Invoice and Payment Corrections

The video covers recent system updates followed by a comprehensive guide on managing accounting tasks within the platform, specifically when accounting periods are locked.

The speaker introduced several new functional enhancements to help clean up the system interface:

- **PDF Builder:** Users can now delete unwanted forms, which hides them from the system.
- **Letters:** Users can now deactivate letters, with the option to reactivate them using a status filter.

### Technical Update: Deletion and Cleanup Capabilities

#### Problem Solved

Previously, removing obsolete items like test files or outdated configurations from the database was tedious, requiring manual workarounds such as renaming, shifting items to the bottom of lists, or repurposing old layouts.

#### Core Functionality

Administrators can now remove forms, template letters, letterheads, and telehealth transcriptions directly within the system to clean up lists and enhance client privacy.

#### Technical Implementation / Config

- **PDF Builder Forms:** Hidden inside the database upon deletion. There is currently no front-end filter to retrieve them.
- **Letters:** Deactivated via a status filter toggle, allowing future reactivation if necessary.
- **Letterheads:** Permanent deletion via the user interface. This completely purges the record from the backend with no reactivation option.
- **Telehealth Transcriptions:** Deleted permanently directly within the patient’s chart edit screen. This triggers a new chart version but completely wipes the text transcription without preserving it in historical note versions.

<p class="callout info">**Caveats &amp; Limitations**  
<span style="text-decoration: underline;">Telehealth Transcriptions:</span> Deletion is destructive and permanent. If SOAP notes need to be generated using the transcript, data must be copied over *before* executing the deletion.</p>

<p class="callout warning">**Missing Technical Detail**  
The speaker referenced user permissions limiting the "Refund Payment" button but did not explain the step-by-step implementation to change these permissions in user type settings.</p>

### Technical Update: Team Mail Forwarding

#### Problem Solved

Users were forced to manually copy and paste communication data into brand-new message interfaces when sharing details internally.

#### Core Functionality

Adds native message forwarding functionality within internal messaging systems.

#### Technical Implementation / Config

- **Routing Action:** A "Forward" button is exposed inside the Team Mail module interface.
- **Recipient Logic:** The interface exposes a user lookup box to route the message to staff profiles.

<p class="callout info">**Caveats &amp; Limitations**  
<span style="text-decoration: underline;">Recipient Restrictions:</span> The forwarding action is currently single-recipient only; bulk/multi-user forwarding (e.g., routing to 5 users simultaneously) is not supported.</p>

### Technical Update: Invoice Search Date Inputs

#### Problem Solved

Navigating back through multiple financial years required exhausting, manual button clicking on user interface arrow calendars.

#### Core Functionality

Enhances the invoice query interface by allowing arbitrary date parameters to be directly typed into input bounds.

#### Technical Implementation / Config

- **UI Controls:** Text input bounds are appended to the existing date range calendar popup at the bottom of the filtering module.

### Accounting Workarounds for Locked Periods

<p class="callout success">**Best Practices**  
<span style="text-decoration: underline;">Daily Reconciliation:</span> Pull the **Open Appointments Report** alongside the day-end report daily. This checks for missed bookings or unbilled files before the accounting period is locked by administrative teams.  
  
<span style="text-decoration: underline;">Financial Auditing: </span>For high-fidelity bookkeeping and month/year-end processing, export financial tables specifically into **Excel Detailed** formats. The following multi-report configuration matrix should be utilized:</p>

<table id="bkmrk-summary-reports-%28tot" style="width: 100%; height: 169.6px;"><thead><tr style="height: 29.8px;"><th style="width: 46.2758%; height: 29.8px;">**Summary Reports (Total Metrics Only)**</th><th style="width: 53.6051%; height: 29.8px;">**Detailed Reports (Granular Auditing)**</th></tr></thead><tbody><tr style="height: 46.6px;"><td style="width: 46.2758%; height: 46.6px;">**Accounting Report** (Aggregated sales/payments mapped by category)</td><td style="width: 53.6051%; height: 46.6px;">**Comprehensive Sales Report** (All raw service/invoice records)</td></tr><tr style="height: 46.6px;"><td style="width: 46.2758%; height: 46.6px;">**HJR Report** (Receivable summaries broken down per bucket/third party)</td><td style="width: 53.6051%; height: 46.6px;">**Accounts Receivable (AR) Report** (Invoice-by-invoice outstanding balances)</td></tr><tr style="height: 46.6px;"><td style="width: 46.2758%; height: 46.6px;"> </td><td style="width: 53.6051%; height: 46.6px;">**Payments Received Report** (All processed transactions tied to exact target invoices)</td></tr></tbody></table>

<p class="callout success"><span style="text-decoration: underline;">Handling No-Shows Seamlessly:</span> To track metrics cleanly without missing billing configurations, complete and invoice the appointment directly with the designated no-show fee line item. Close out the checkout window *without* submitting a $0 payment, and then cancel the appointment event to capture both the financial ledger entry and the operational metric.  
  
<span style="text-decoration: underline;">Manual Adjustments in Locked Periods:</span> When adjusting an invoice where the accounting calendar period is locked, backdating transactions is restricted. Keep the **Invoice Date** as the current calendar day to ensure it processes in the active payroll/commission script, but alter the **Service Date** line item to past coordinates to ensure proper tracking and insurance verification.  
  
<span style="text-decoration: underline;">Gateway Refund Overrides (Stripe/TD/Moneris):</span> If an application constraint blocks an automated payment refund because it attempts to communicate through an active gateway API, flip the local metadata payment method mapping to `Check`. Post the internal refund document, and then retroactively alter the localized record back to `Mastercard`/`Visa` to maintain database matching without throwing API faults.</p>

**Keywords:** data-deletion, billing-adjustments, reporting-analytics, invoice-management, data-privacy

Source: [https://drive.google.com/file/d/1n3DEQpxdJ7lFAel7wFcHeMc4nmrxkqXj](https://drive.google.com/file/d/1n3DEQpxdJ7lFAel7wFcHeMc4nmrxkqXj)