Help : Billing

The Billing block on the patient's dashboard page displays the patient's account balance, as well as charges and credits to the patient's account listed in reverse-chronological order. Charges are generally listed by encounter note and date of service, although any charges added outside of an encounter note will be listed on the date they were added. Payments are listed by the date they were added. Hover the mouse cursor over an entry to view more details or pop-out the Billing History by clicking on the popout icon in the upper right-hand corner of the block.

To add a new charge or payment, or to apply an existing credit to unpaid charges, open the Add Charge popup:

  • Click on the plus icon  in the upper right-hand corner of the the Billing block (on the patient dashboard or encounter note screen) or the Billing History pop-out.
  • In an open encounter note:
    • Click on the plus icon in the Charges block.
    • Type "ch_" (the Quick Add prefix for charges) in the main text block, followed by search terms, with multiple search terms separated by underscores. Select the desired charge (or Credit / Payment) from the Suggestions list that appears to the left of the main text block.
    • Add a Chart Part template that contains a charge or credit.

Generally, charges should be added in the applicable encounter note. Payments may be added in an encounter note or via the patient dashboard.

Help: Add Charges


When a charge is selected, values from the practice's charge list are used to populate editable fields in the Add Charge ($) popup. Click for help with editing the master charge list. If the wrong charge was selected by accident, you can return to the AddCharge search bar by clicking on the replace icon  to the left of the charge name.

Screen shot add charge pop up

Base Charge (dollar amount) - the base charge from your charge list. This number is editable.
Notes (notes field) - administrative notes about the charge. These are viewable in the patient's billing history and by hovering the mouse cursor over a charge entry in the Billing block.
Discount (button, drop down) - press the blue "+Discount" button to add a discount. A drop down menu will appear listing all of the discounts you have loaded into your system. Read about adding discounts here.
Associated CPT and Modifiers (number) - the system currently supports only one associated CPT code per charge. However, multiple CPT modifiers are supported, and can be entered into the Modifiers box separated by commas.
Add to Insurance Invoice (checkbox) - check the box to indicate whether the charge is potentially insurance-reimbursable, and therefore should appear on any insurance invoices that are generated for the encounter.
Select the green +Add Charge button to add the charge, or select the +Add and Add Another button to add the charge and bring up a pop-up to add another charge to the account.
Once the charge is added to the patient's account, the account balance is adjusted accordingly. The charge will also appear on any account statements, insurance invoices (if the "Add to Insurance Invoice" box was checked), receipts, etc. covering the relevant period.

Help: Add and Allocate Payments and Credits

To add a payment, click the Add Payment button in the + Add Charge/Credit popup. If the patient has available credits in his or her account, you can allocate these to unpaid charges along with any new payment. Or, click on the Apply Credits button to allocate credits to unpaid charges without adding a payment.

Add Payment Screenshot

In the Add Payment window, manually enter the Payment Amount or check the "check to pay in full" box to have the system calculate the total amount due and fully allocate the payment (and any available credits) to unpaid charges. The amount of money available to apply to unpaid charges in the Add Payment window is the payment amount plus any available credits. In the Apply Credits window, it is just the amount of available credits.

Allocate payments or credits among unpaid charges by checking the boxes beside the charges you would like to pay. The system automatically allocates the maximum amount to each charge as it is checked until the available money runs out. Click in a charge's "To Pay" field to edit the payment amount to be allocated to that charge.

When a payment is added to the patient's account, the account balance is adjusted accordingly. The payment will also appear on any account statements, receipts, etc. covering the relevant period. And, if it was used to completely pay off any unpaid charges, an insurance invoice that is generated for those charges will be marked "Paid in Full."

A note on credits: Payments in excess of unpaid charges or payments that are not fully allocated to unpaid charges become available (unallocated) credits in the patient's account, which can be used to pay charges in the future. In general, payments should be fully allocated to unpaid charges except in unusual cases, so that only patients with a positive account balance (i.e. no unpaid charges) have available credits. But note that it is technically possible to add a payment without allocating it to open charges, such that the patient has BOTH unallocated credit AND unpaid charges in his or her account.

Help: Setting the Transaction Date on Entered Charges

Generally charges and payments are entered into the EMR in real time, and so by default the EMR will set the transaction date for a charge/payment as the current date. However, sometimes financial transactions are being recorded after they took place (or you want to pre-record a charge for a future service) you can manually change the transaction date using the little calendar icon in the bottom right corner of the add-charge or add-payment screen. You can also do this when editing a charge or payment.

Setting the correct transaction date will ensure that the charge/payment is recorded correctly for the sake of billing reports and on invoice documentation for patients.

Help: Manage Charges and Payments

Right-click on a charge in the Billing block or the Billing History pop-out to (1) delete, (2) edit, (3) refund, or (4) if the charge was added in an encounter note, add a positive or negative adjustment charge to the note. To get to the right click menu for encounter note charges in the Billing block, however, you must first click on the encounter note to show nested charges.

Right click on a payment in the Billing block or Billing History pop-out to delete or, if the payment was added in an encounter note, add a positive or negative adjustment charge to the note. To the extent that a deleted payment was applied against unpaid charges, those charges will be marked as fully or partially unpaid until additional payments or credits are applied. To edit allocation of a payment to charges, you must delete the original payment and then re-add it, changing the allocation to unpaid charges as needed.

To edit/manage the practice's charge list, go to the Admin drop-down menu and click on Manage... --> Charge List.

Help: Billing Statement

Generate a printable, faxable billing statement for a patient account from the Billing History by clicking on Print Statement in the upper right-hand corner. Transactions will be displayed in chronological order for the specified (editable) period of time.

Billing Statement Screenshot

Note that it is possible for the patient accont to have available (unallocated) credits as well as unpaid charges, in which case the total amount that the statement shows is due (or overdue) would be greater than the account balance. The account balance could even be positive if unallocated credits exceed unpaid charges.

Help: Add a Credit Card

Save Credit Card pop upTo save credit card information to a patient's account, click on the pencil icon pencil iconin the upper-right hand corner of the Patient Information block to open the "Edit Information" pop up and go to the Billing Info tab. Then, click on the "Save new credit card" button on the right.

In the pop up window that appears, enter the requested billing information - the credit card number, type, expiration date, etc. Then click "+ Save this Card!" to save.

Note that by default the CCV code is not saved, as required by the Payment Card Industry Data Security Standard (PCI DSS). This will not interfere with future charges to the card, as credit card transactions can be processed without a CCV code. However, this is a configurable option and you may choose to have the system save CCV codes along with other credit card information.

The default billing address is the patient's home address. You can change this by checking the box "Billing address is different from primary home address" in the Billing tab of the Patient Information pop out and adding a billing address.

Once you've saved a credit card to the patient's account, that credit card (identified only by the last four digits of the card number and the expiration date) will appear as the "Current card on file" in the Billing Info tab and can be used to pay charges or add credit to the patient's account.

Help: Remove a Credit Card

To remove a credit card from a patient's account, click on the plus icon in the upper righthand corner of the billing block and then on Add Payment. Select Credit Card as the payment type to display the patient's credit cards on file. Hover over the credit card you would like to remove and click "Remove."

Help: Edit Charge List

To edit or add to your master charge list, go to the Admin drop down menu and select Manage and then Charges.

Existing charges can be sorted by any column by clicking on the column name. Click again to sort in reverse order. Search by charge name or nickname in the search bar at the top to find a specific charge. The system will search, narrowing the full list of charges, as you type.

To add a new charge to your charge list, click on the "+ Add New Charge" button at the top.

Add New Charge Pop Up

(NOTE depending upon your configuration settings, there may just be a single Amount field at the bottom, rather than the Provider Type/Plan A/Plan B table shown in this screenshot)

Add New Charge pop out

At a minimum, you must enter a charge name. The potential fields in the Add New Charge Pop Up are:

  • Charge Name and Nicknames - Enter a name for the charge. You can also add 1-3 nicknames if you think that you might look for the charge using alternate names. The nicknames will appear in search results but will not otherwise appear in association with the charge.
  • CPT Code and CPT Modifiers - You may associate one or more CPT (procedure) codes with the charge. CPT codes are generally required for third-party (insurance, Medicare, etc.) reimbursement. Associated CPT code(s) will automatically appear with the charge when it is added to a patient's account, though associated CPT(s) can be edited or removed at that time. Multiple CPT codes should be separated by commas.
    • Enter CPT modifiers after the relevant CPT code by typing the CPT code followed by either a space or a colon, followed by the modifier.
    • You may use the -Find CPT Codes for Charges- search bar to search the database for the CPT code(s) that you would like to associate with a charge.
  • "Charge is submittable for insurance" - Check the box to indicate whether the charge is something that is generally covered by insurance. If this box is checked, the charge will appear as an insurance-reimbursable charge on insurance invoices that you generate covering the relevant visit.
  • "Is this a supply/product?" - Check the box if the charge is associated with a supply or product that the patient takes home. If this is checked, a quantity option will appear when the charge is added to a patient's account. This also enables the system to generate reports on items sold.
  • Charge Type - Use the drop down menu to set a charge type, either by selecting one of the existing options or by typing to create a new charge type. Charge types are mainly used for reporting purposes, but can also be used to change how different categories of charges appear in the EMR.
  • Display Color - Use the drop down menu to change the color of the text used to display the charge name anywhere it appears inside the EMR (note: does not affect how the charge is displayed on the Patient Portal). Display color is often used in conjunction with the Charge Type category to make different categories appear in different colors within the EMR.
  • Charge Amount - Enter a charge amount. The charge amount may be a single, fixed amount or, if a setting to allow variable charge amounts is enabled on your build (contact us to set this up), the charge amount may vary based on (1) who adds the charge to the patient's account, and/or (2) whether the patient is categorized into billing Plan A, or Plan B. If this setting is enabled for your build, you will see the charge amount table shown in the screenshot above, rather than a single box for the charge amount. Additional information about variable charge amounts:
    • Plan B is the default, and Plan A is available for use if you want to create a class of patients that pays discounted (or elevated) rates.
    • To enter a single, fixed amount, regardless of who adds the charge or Plan A/B, enter the desired charge amount into the first box (Doctor in Plan A) and press the tab key - that amount will automatically be entered into all other amount fields.
  • Description - Add text that will appear when you hover over the charge or click to open/edit the charge.

Help: Add Discounts

You can add a standard discount into your system, which can be assigned to charges as needed. Discounts can be percent discounts, dollar amount discounts, or some combination of both. If a combination, the dollar amount discount will apply first, with the percent discount applied to the new, lower total.

Screen Shot Add New Discount pop upTo add a new discount, go to the Admin drop down menu, select Manage... then Discounts. This will bring up the Manage Discounts pop up. Select the green +Add New Discount button.

Discount Name (text box) - the name of the discount that appears in the Discount drop down menu on the +Add a New Charge pop up.

% Discount total charge by this Percent (number) - the percentage applied to the discount. Leave blank if a dollar amount discount is preferred.

Discount total charge by this dollar value (currency) - the total dollar amount discounted from the charge. Leave blank if a percentage discount is preferred.

Description of this discount - a description of the discount for administrative purposes.

To edit a standard discount, select the discount from the Manage Discounts pop-up (Admin->Manage...->Discounts). Change the details and finalize by pressing the green Edit This Discount button.

Help: Subscription Billing

MD HQ uses Stripe (embedded in the EMR) to support automatically-recurring billing based on your custom subscription plans. There is no limit on the number of different custom subscription plans that you can create.

Adding New Subscription Plans

Add a new subscription plan in the Admin menu under Manage --> Subscription Plans. Give your plan a display name and a unique ID (these may be the same thing). Specify the amount that should be charged and how often - options are weekly, monthly, and yearly, with a maximum interval of every 1 year.

You may add a trial period if desired, which delays the subscription start date by the specified number of days. Then add a description and click "+ Add this Subscription Plan." Once added, subscription plans may only be deleted or edited via your Stripe management console.

How Subscription Payments Work

The patient's subscription begins on the date that you assign that patient to the subscription plan. Thereafter, charges automatically recur at the interval specified for the assigned plan. So, if the plan you select recurs every 1 month and you assign a patient to that plan on April 19, charges will automatically run on April 19th and on the 19th of every month thereafter. If the start date is on a date that is not in the current month (for example, you added the patient to the plan on the 31st and the current month only has 30 days), the charge will occur on the last day of the month.

To see when the next subscription payment is set to occur for a particular patient, hover over the subscription plan name in the Billing block's title bar on that patient's dashboard page.

If an automatic payment fails, the system will retry based on rules that you set in Stripe.

If you have webhooks set up in Stripe and a subscription payment is overdue, an alert will appear on the calendar page of your EMR in an Error tab within the Tasks block (the Error tab is hidden unless there are any errors to display).

Adding/Editing a Patient's Subscription Plan

Assign a patient to an existing subscription plan using the Current Subscription drop down menu in the Billing Info tab of the patient's Patient Information pop out.

How to assign a subscription to a patient chart

A patient must have a credit card on file in order to be assigned to a subscription plan. However, the credit card on file can be deleted even though a patient is part of a subscription plan; the next subscription charge will fail if a new credit card has not been added before the automatic payment is set to occur.

Change a patient's subscription plan by selecting a different plan from the Current Subscription drop down menu. Note that this does not change the billing date. At the moment that you change the patient's plan, the system charges or refunds the difference in price between the two plans, prorated according to when in the billing cycle you make the change.

To see when the next subscription payment is set to occur for a particular patient, hover over the subscription plan name in the Billing block's title bar on that patient's dashboard page.

Cancel a patient's subscription by selecting [No Subscription] from the Current Subscription drop down menu.

Removing or Editing Subscription Plans

Your custom subscription plans can deleted via your Stripe management console. Except for the name, existing subscription plans cannot be edited either via the EMR or via Stripe. To make a change to a subscription plan, you will need to create a new plan, transfer existing patients over, and then delete the old plan.

Note that if you delete a plan, patients who are subscribed to that plan will still be charged on a recurring basis until their subscription is cancelled, i.e., a different plan or [No Subscription] is selected from the Current Subscription drop down menu.

Help: Stripe - Getting Started

MD HQ allows you to process credit card transactions and recurring subscription payments via your Stripe account. The EMR communicates with Stripe via an API, meaning that once you set up your Stripe account and we connect to it, you continue to handle billing inside MD HQ, rather than having to go to an external website or application.

This help section describes how you set up and connect your Stripe account to begin processing credit cards via the EMR and Patient Portal.

Setting Up Your Stripe Account

First, set up your account at Then activate your account (use the link or, from your Stripe home page, click on "Your Account" in the upper righthand corner and then on "Activate Account"). You will need to provide basic information about your business and the bank account where you want credit card payments to be deposited.

Stripe Screenshot - Activate Account

Toggle into Live mode by clicking the toggle button in the upper left hand corner of your Stripe dashboard. You can go back to Test mode at any time, but can only process credit card payments in Live mode.

Linking Stripe to MD HQ

Go to your Stripe Account Settings (use the link or, from your Stripe dashboard, click on "Your Account" in the upper righthand corner, then click on "Account Settings").

Stripe screenshot - API keys

Get your API Keys: In the API Keys tab, copy and paste both live API keys (not the test keys) into a sticky note on the schedule home page of your EMR. The two keys, which are long strings of letters and numbers, should start with "sk_live_..." and "pk_live_..." Send us a note at to let us know when this is done. We'll log in to your build, pick up the keys, and use them to connect your Stripe account with your EMR build. Note: DO NOT send us your keys via email, as this is sensitive information and email is not secure.

Configure Webhooks: This is optional, but strongly recommended, particularly if you use subscription billing. Webhooks allow our server to log what Stripe is doing so that we can alert you if there is a failed payment, for example, or help look through the logs if you think there has been an error. Otherwise, we have no way of seeing what Stripe is doing. Note that sensitive information (like a credit card number) is never viewable or logged by our system.

Configure webhooks by clicking on the webhooks tab and then on "+ Add URL." Type in https://YOUR EMR URL/webhooks/stripe.php (replacing YOUR EMR URL with the actual URL of your EMR - see below for help with this).

  • What is my EMR URL? Looking at any page of your EMR, copy everything in the web address bar starting after "https://" and going through "". So, for example, if you see "," your URL is the underlined part: "".

Stripe Configuration Options

You can set various configuration options for Stripe in the "Your Account" pop up window, including:

  • In the main tab - check the box if you want a credit card payment to be declined if there is a mismatch with the zip code or the CCV.
  • In the subscriptions tab - tell Stripe what to do if there is a failed credit card payment. The default is for Stripe to retry three times, but you can vary this, as well as set the interval at which it should retry each time.
  • In the emails tab - set whether Stripe sends you and/or your customer an automatic email when a payment is made and customize your Stripe invoices.

Accepting FSA and HSA cards on Stripe

Stripe is able to accept Flexible Spending Account (FSA) and Health Saving Account (HSA) credit/debit cards. However, before you can do so, you need to contact Stripe and request that they classify your account as an MCC business. More information on setting this up can be found here:

Getting Credit Card Information

If you have credit card information on file in another program, such as or Braintree, Stripe can likely import this information. Or you can add a credit card to a patient's account in the EMR by clicking on "Save New Credit Card" in the Billing Info tab of the Patient Info pop-out. Or, patients can add a credit card via their Patient Portal account if you have this feature turned on. Contact if you would like to activate this feature.

Help: Choosing an Integrated Merchant Services Partner

MD HQ has integrations with two merchant services partners: Stripe and Bluefin. These communicate with MD HQ via an API, meaning that once you set up your Stripe or Bluefin account and we connect to it, you continue to handle billing inside MD HQ, rather than having to go to an external website or application.

Each billing service has different strengths and drawbacks, and most of our clients find one that works better for their specific business needs.


Stripe has a simple billing structure and is a quick set-up for your practice. They charge per transaction with no monthly fee. At the moment, it is our only integrated merchant services product that supports subscription-based payments. Therefore, if your practice offers subscription-based services, we recommend using Stripe.

However, Stripe does not support any practice that sells supplements online. This generates a fraud alert in their system and they may suspend your account without warning (this can happen even though MD HQ is separate from the website/online storefront where the supplements are sold).

Stripe does not offer card readers for use in the office. For practices that process a lot of cards in office, this can be a limitation.


Bluefin is a traditional merchant services partner with a cost-plus billing setup (rate varies by type of card used, card present/not-present, etc.) that is typically quite competitive. Let us know if you want us to have Bluefin contact you to put together a personalized quote.

Bluefin will send a credit card swiper for use in the office, saving time from manual entry of credit card information and giving access to lower merchant services charges associated with swiped versus "card-not-present" transactions. So, for practices that process a lot of credit card payments in the office, we recommend using Bluefin.

Connecting to MD HQ

Once you have an account with Bluefin or Stripe, we need to access that account. For Stripe, we ask that you post the public and private API keys on a sticky note inside your EMR, then let us know by email so that we can go in and retrieve them. DO NOT send via email, as this is sensitive information and email is not secure. For Bluefin, they generally inform us of the necessary information, but you may post your API key on a sticky note inside your EMR when you receive it, then let us know by email, to be doubly sure that we get the necessary information.

Using a Non-Integrated Merchant Services Processor

You do not need to use one of our integrated merchant services providers. If you have a particularly amazing rate elsewhere, or otherwise prefer to continue to use a separate merchant services processor, you may do so. If you want to track charges and payments in MD HQ, using a separate merchant services processor would involve double-entry of this information into MD HQ and your chosen merchant services system. Using a separate merchant services processor also means that patients will not be able to pay their invoices or add a credit card via the MD HQ Patient Portal.

Help: Manage Sales Tax in MD HQ

MD HQ supports sales tax for taxable transactions. If you are in a state or city that levies sales taxes on some of your transactions, simply go to Admin > Manage > Charge list and add/edit any taxable charge. When the Add/Edit Charge window comes up, make sure to check the "Is Taxable" option and then set the sales tax rate (the combined rate if there are multiple jurisdictions levying tax):

Manging a charge with sales tax

Once that's done, the next time to add the charge to a patient's account you'll notice that an additional field will appear with the applied sales-tax rate:

Applying sale tax at checkout

If the transaction is exempt from sales tax (perhaps it's an out-of-state sale) just zero out the applied rate (enter "0" in the Tax Rate field) and no sales tax will be applied). Otherwise, when the charge is added you'll see a second line-item appear called "Sales Tax" which represents the amount that the patient owes in sales tax. Note: If you later remove the original charge, it will automatically remove the associated sales tax charge as well.

When it comes time to report your sales tax receipts, MD HQ provides a simple report that aggregates all taxes collected and waived during the designated period. To run the report just go to Billing, and then toggle the Reports tab and click on the "Sales Tax Report" option:

Sales Tax Report