Using the Bulk DATA API


The Bulk DATA API, is available through services provided by a certified partner (such as EDGEPro GPN Technologies).

With the Bulk DATA API, your partner can pull a snapshot of your financial data (specific to a date/time) to be consumed and used in financial reporting and dashboards. This is an optional feature. If interested, reach out to a certified partner.

The Bulk Data API combines financial reporting for both retail activity at your point of sale as well as back-office activity for claims reporting; providing a single source of truth for all sales and payments activity in our platform.

The integration makes your financial information about your material orders and claims transactions from Encompass available to your certified partner, including the names of staff who sold items and who processed the transactions. Information on payments against old system balances and miscellaneous payments, such as collection payments, are not made available because we do not have the transaction data necessary for accurate reporting.

Data is made available to your partner nightly, based on if Daily Closing is performed. You must complete Daily Closing for the current day's transactions to be available the following day. If you skip a Daily Closing, the information won’t be available for partner reports until the day after Daily Closing is performed because of the nightly sync process. See the Example: below that illustrates a typical weekend scenario where this is likely to occur. For information on Daily Closing, see Performing Daily Closing


If your practice requires daily updates to your partner reports, you must perform Daily Closing at the end of each day.

We recommend using the following Encompass reports to validate your partner integration:

How Does the Bulk Data API work?

The Bulk Data API generates a nightly data snapshot per office of all financial activity (sales, payments, claims-related billing activity) for each day. Our partners (typically analytics software providers) then pull in and stitch the data from these snapshots together to paint a full picture of your activity in our platform over time.

Analytics Reporting may Differ from EPM/AL Reports?

There are several reasons why your partner reporting might differ from our practice management reporting:

  • Timing Differences: The Bulk Data API snapshot data maintains traceability over time between the transactions on an order/invoice through to a claim, including when insurance is applied. Because insurance payments are typically received after the order is placed, payments can't be directly compared to store activity for the same day (e.g. Frame sales per day, Number of Exams per day, etc.) so, while payments and store activity do eventually match up, they won't match on a daily basis.


The primary mechanism for this traceability is via the Invoice ID within the data. Payments and claims-related billing activity are applied against the invoice and include the Invoice ID as those activities occur over multiple days and weeks.
  • Old System Payments and Collection Payments: Eyefinity's practice management software supports the ability to take in payments from customers for services performed in other practice management systems or for balances previously written-off. The Bulk Data API does not track this activity or apply payments against previous invoices in these scenarios because the transaction data is unavailable. These are known as miscellaneous payments.

  • Daily Closing: Eyefinity's practice managment software supports the ability for customers ensure each store's cash drawer receipts match reported values in the software through Daily Closing. Daily Closing is required for every business day the store is open. Because many of our customers use our software as their financial system of record, we've intentionally designed the Bulk Data API to mirror accounting best practices:

    • As payments are entered throughout the day, the date of entry is recorded but the payments are not 'posted' or finalized via the Bulk Data API until Daily Closing occurs for that day. This is intentional; Daily Closing helps customers maintain the accounting principle of 'separation of duties' where a second person (usually a store manager) reviews receipts (possibly taken in from a store associate) and signs off for the day, noting any exceptions. The next day, the store manager (who may not be the same person as the day prior) also potentially reviews receipts as part of Daily Opening.

    • Staff are able to reopen Daily Closing but only on the same day. This is to allow the correction of errors potentially found; for example, by an Office Manager performing Daily Closing when reviewing receipts outside of the software (i.e. checks, credit card reporting, other forms of EFT payments).

    Example:

    • Saturday - The EPM office location is 'open' so staff can post payments but isn't open to the public. Staff posts patient payments (check, credit card payments) but the Office Manager does not perform Daily Closing that day.

    • Sunday - EPM office location is closed based on the business hours setup by customer.

    • Monday - Before store opening, Office Manager reviews payments posted on Saturday and does Daily Closing for Saturday. Then performs Daily Opening for Monday. (Sunday is skipped because of the office hours setup in EPM). Later, Daily Closing is performed at close of business on Monday.

    • Monday night - the Bulk Data API generates snapshots for Saturday and Monday, skipping Sunday. They payment posting dates remain as of when the payments were applied.

Analytics reporting partners, other API partners, and customers who use the Bulk Data API are expected to account for timing differences by using the Invoice ID to track and display this financial, order, payment, and claims information in their system. This financial information is never lost; if you encounter problems please review your business hours, your daily closing processes, and your bulk data capture timing with your partner to see if any of the scenarios described above apply.