Bulk Imports
Create, reconcile, review, and dispense many drafts through one controlled workflow.
Bulk Imports in Compound Direct allow pharmacists and technicians to create multiple draft records from a CSV file or from manually added rows. Each import moves through four stages—Uploaded, Drafting, Queued, and Dispensed—so source data can be checked, matched to existing records, corrected, and then dispensed using a guided queue.
Bulk importing is designed to support review rather than bypass it. Customer, prescriber, product, prescription, order, delivery, and account information should be verified before drafts are created, and each draft should still receive the usual pharmacist review before dispensing.
This guide will help you:
- Prepare a CSV file and start a bulk import with a mapping template.
Reconcile customers, prescribers, products, delivery addresses, accounts, and order workflows.
- Create drafts and orders, work through the dispense queue, and export completed records.
A saved mapping template is required before starting a bulk import. See the Mapping Templates guide for setup instructions.
Understanding the bulk import workflow
An import is organised into the following stages:
- Uploaded — review the CSV values as interpreted by the mapping template and correct formatting issues before importing them.
- Drafting — reconcile each row with Compound Direct records, resolve issues, and create drafts and any applicable orders.
- Queued — review created drafts and use the guided queue to open and dispense one draft at a time.
- Dispensed — review completed dispense records, print labels, or export the results.
An import can also be created without a CSV. Manual imports begin at Drafting, where rows can be added and completed directly in the table.
Preparing a bulk import file
- Open the mapping template you intend to use.
- Click ‘Get Template file_download’ to download the expected CSV headings.
- Enter one item per row. Each active row is intended to become one draft.
- Complete the required customer and product information, plus any prescription or order information needed for the workflow.
- Use the following formats:
- Save the file as .csv.
- Keep the header row and include at least one data row.
- Enter dates in the workspace date format or as YYYY-MM-DD.
- Enter Yes as TRUE, YES, Y, or 1 in Yes/No fields.
- Separate multiple tags with commas.
- Enter quantities, prices, percentages, and IDs as numbers only.
- Check for duplicated rows and duplicated e-prescription barcodes.
- If using Repeat On File, confirm the customer and product identify the intended existing prescription.
- Save a working copy of the source file before uploading it.
Review customer and prescriber data before starting the import. Reconciliation can create new valid customer or prescriber records, add delivery addresses, and update some non-identity details when one confident existing match is found.
An e-prescription row must represent exactly one prescription item. A barcode already used by another row cannot be imported again.
Starting a bulk import
- Go to the ‘Settings’ page.
- Click ‘Bulk Imports’.
- On the ‘Bulk Import Dashboard’, click ‘New Import’.
- Alternatively, find a template under ‘Recent Templates’ and click ‘Start’.
- On the ‘New Import’ modal, find the mapping template you want to use and click ‘Start’.
- Confirm the selected mapping template and its description.
- Choose how to add the data:
- Upload or drag and drop one .csv file into ‘Upload import file to be scanned’; or
- Click ‘Create Without CSV’ to start a manual import.
Only one CSV file can be uploaded to an import. If the file cannot be scanned, correct the displayed CSV error and upload it again.
Reviewing uploaded data
After a CSV is scanned, the ‘Uploaded’ table shows how each source row will be interpreted.
- Review the row count shown in ‘Uploaded’ against the source file.
- Scroll across the table and confirm the column headings and mapped values.
- Check the ‘Status’ column and any red cells for errors, such as an invalid number, an unsupported date, or text that exceeds the permitted length.
- To correct a value, click its cell and enter the new value.
- Press
Enterto begin editing a selected cell. - For a Yes/No or tags field, use the control shown in the cell.
- Press
- Click the push_pin icon on a supported heading to keep an important column visible while scrolling.
- Drag a heading boundary to resize a column, or double-click the boundary to reset its width.
- Click ‘Columns’ to show additional fields for review, then click ‘Done’.
- Use the search search bar to find a value across the import.
- When the data is correct, click ‘Import’.
Do not continue while the Uploaded table shows unresolved errors. Correct the source file or the affected cells before importing.
Once ‘Import’ is selected, keep the window open while the rows are added. Compound Direct then opens ‘Drafting’ and begins reconciliation.
Creating a manual bulk import
- Start a new import and select the required mapping template.
- Click ‘Create Without CSV’.
- On the ‘Drafting’ tab, click ‘Add New’ at the bottom of the table to add one row.
- To add several rows, click ‘Add Rows’ in the bottom toolbar.
- Enter the
Number of rowsto add, up to 250, then click ‘Add Rows’. - Complete each row. Default values from the mapping template are applied to newly added rows.
- Resolve all issues, then continue to create drafts.
Reconciling imported rows
Reconciliation connects the entered data with the records that will be used to create the draft. Compound Direct attempts to resolve customers, prescribers, products, delivery addresses, accounts, order workflows, and supported e-prescriptions.
- Open the ‘Drafting’ tab.
- Keep the window open while ‘Reconciling in progress’ is displayed.
- Review the ‘Status’ column when reconciliation finishes:
- A green check indicates that the row is ready for the next step.
- A red cell or message identifies information that needs attention.
- An archived row is excluded from reconciliation and draft creation.
- Click ‘Next Issue’ in the bottom toolbar to move to the next row requiring attention.
- Edit a simple value directly in its cell.
- Click a Customer, Prescriber, Product, Delivery Address, Account, or Order Workflow cell to open its review window.
- After corrections, click ‘Reconcile’ to try unresolved matches again.
Customer and Product are required for a non-e-prescription row. An e-prescription can initially supply these details, but its customer must still be matched before the draft is created.
Reviewing matched records
Select the type of record that needs attention:
- Click the ‘Customer’ cell for the row.
- Compare ‘Entered Details’ with the selected customer or suggested matches.
- If multiple similar customers are shown, select the correct customer.
- If the entered details represent a new person, select the new-customer option and review the record before saving.
- You may also search for a different customer or click ‘Add a new customer’.
- Click ‘View’ to open the selected customer in a new window, or ‘Edit’ to correct their record.
- Click ‘Save’.
Order workflows control order defaults such as delivery, billing, tax, checkout, and communication behaviour. See the Order Workflows guide.
Editing and applying values to multiple rows
- On the ‘Drafting’ tab, tick the checkbox beside each row you want to update.
- Edit a value in one of the selected rows.
- When ‘Apply to all selected rows?’ appears, either:
- Click ‘Yes, Apply All’ to use the value in every selected row; or
- Click ‘No, Don’t Apply’ to update only the row being edited.
- Clear the selection when finished.
Before applying a customer, product, prescriber, account, address, or workflow to several rows, confirm that every selected row genuinely requires the same record.
Creating drafts and orders
- On the ‘Drafting’ tab, resolve every red issue for the active rows.
- Review quantities, prices, item counts, instructions, dates, repeats, supply numbers, tags, and references.
- Review any e-prescription barcode and repeat-token contact email.
- Review order information, including account, workflow, delivery method, address, purchase order number, shipping, and discounts.
- Click ‘Create Drafts’.
- Keep the window open while the drafting progress is displayed.
- If eligible rows contain order information, keep the window open while orders are created.
- When complete, Compound Direct opens the ‘Queued’ tab.
A row can trigger order creation when it contains an Account, Order Workflow, Purchase Order No, or Order Tags. Rows without order information create drafts without orders.
How rows are grouped into orders
- When ‘Group Order By Customer’ is Yes, eligible rows for the same matched customer are grouped together.
- Otherwise, rows with the same ‘Purchase Order No’ are grouped together.
- If neither grouping field applies, the row is placed in its own order.
- All drafts in a group must be created before the grouped order can be created.
Order values and discounts
- A row value takes precedence over the corresponding default from the selected Order Workflow where supported.
- Use either ‘Discount Percentage’ or ‘Discount Amount’, not both.
- Set ‘Discount Applied To Item’ to Yes to apply the discount to the line item. Otherwise, the discount applies at order level.
- An account or Order Workflow may also supply billing, payment, tax, shipping, and communication defaults.
Creating drafts makes pharmacy records and may also create or update orders. Complete the reconciliation review before selecting ‘Create Drafts’.
Handling Repeat On File rows
When ‘Repeat On File’ is Yes, Compound Direct looks for an eligible, unexpired repeat belonging to the matched customer for the same product.
- Confirm the customer and product are correct before creating drafts.
- If more than one eligible repeat exists, the repeat expiring first is used.
- Resolve any displayed issue before continuing. Common issues include:
- No matching prescription with repeats remaining.
- A variable-supply prescription does not have enough quantity remaining for a full supply.
- An undispensed deferred draft already exists for the same product and should be dispensed instead.
- The only deferred script has passed its permitted first-dispense window and a new prescription is required.
- If the row is not intended to use an existing repeat, change ‘Repeat On File’ to No and review the original-prescription details.
For an imported original prescription with a Supply Number greater than 1, ensure Repeats Total and Supply Number accurately describe the prior supplies.
Managing import rows
Archiving or unarchiving rows
- On the ‘Drafting’ tab, select the required rows.
- Click ‘Archive’ or ‘Unarchive’ in the bottom toolbar.
- Confirm the action.
Archived rows remain visible in the import but do not create drafts. Use this when a source row should be retained for reference but excluded from processing.
Rolling back selected rows
- Select the rows whose created drafts should be reversed.
- Click ‘Rollback’.
- Review the confirmation information, then click ‘Rollback’.
- Keep the window open until rollback finishes.
Rollback removes each selected draft and its linked order. A confirmed order is cancelled instead. Dispensed items cannot be rolled back, and customers, prescribers, or delivery addresses created during reconciliation are not removed.
Dispensing from the queue
- Open the ‘Queued’ tab.
- Review the queued Draft ID, Customer, Product, Name, Tags, Reference, Order, Account, Workflow, and Delivery Address as applicable.
- Click a Draft ID or Order number if you need to inspect the associated record.
- To limit the queue session, tick the rows you want to dispense. If no rows are selected, ‘Next Dispense’ uses the full queue.
- Click ‘Next Dispense’.
- Compound Direct opens the next available draft and temporarily marks it with the staff member working on it so another user is not directed to the same item.
- Review the complete draft and perform the normal pharmacist checks.
- Click ‘Dispense’ in the bottom bulk-import toolbar and complete the usual dispensing workflow.
- After dispensing, click ‘Next Dispense’ to open the next available item.
- You may press
Ctrl + SorCmd + Swhen ‘Next Dispense’ is shown.
- You may press
- To return to the list, click ‘Queue’.
- To leave guided dispensing, click ‘Cancel’ in the bottom toolbar.
- When the queue is empty, click ‘View Summary’ to open the ‘Dispensed’ tab.
If another staff member has recently started an item, their name appears in the Status column and Compound Direct moves to another available item.
Bulk import does not replace the normal prescription, formulation, risk-management, or pharmacist sign-off checks. See the Dispensing a draft guide.
Reviewing and exporting dispensed records
- Open the ‘Dispensed’ tab.
- Use the search search bar to find a record.
- Click a Script No., Draft ID, Order, Customer, or Prescriber link to inspect the related record.
- Click ‘Columns’ to change which information is displayed.
- To print labels:
- Select one or more rows.
- Click ‘Print Labels’.
- Select the printer and label settings, then complete the print preview.
- To produce a PDF, select the required rows if only a subset is needed, then click ‘Export PDF’.
- To export structured data:
- Select the required rows, or leave all rows unselected to export the whole import.
- Click ‘Export’.
- Tick the information to include.
- Choose CSV or Excel from the export button.
- If your team reuses the same export layout, click ‘Export Templates’ to manage saved export field selections.
Viewing and updating an import overview
- Go to the ‘Bulk Import Dashboard’.
- Click an import's name to open its overview.
- Review the overall status, progress bar, number dispensed, and last updated time.
- Click ‘Uploaded’, ‘Drafting’, ‘Queued’, or ‘Dispensed’ to open that stage.
- Enter a descriptive
Bulk Import Name. - Select a
Note Importanceand enter aNotefor information that should remain visible to the team. - Click ‘Save’.
- You may also press
Ctrl + SorCmd + S.
- You may also press
- If a CSV was uploaded, review the original source file in the files section.
Finding and filtering bulk imports
- Go to the ‘Bulk Import Dashboard’.
- Review ‘Today's Imports’, ‘Recent Templates’, and ‘Recent Imports’.
- Click ‘View All Imports’.
- Begin typing the
import nameinto the search search bar. - Click ‘Status’ and select ‘All’, ‘New’, ‘In Progress’, ‘Completed’, ‘Failed’, or ‘Cancelled’.
- Click ‘Sort By’ to sort by Date Created, Modified date, or Name.
- Click ‘More Filters’ to:
- Filter by ‘Mapping Template’.
- Tick ‘Show Archived’ or ‘Archived Only’.
- Click ‘Reset Filters’ to clear the additional filters.
- The list displays each import's Name, Source, Template, created and modified dates, dispensed progress, and status.
- Click ‘Continue’ to return to the most relevant active stage.
Import statuses
- New — the import exists but draft creation has not started.
- In Progress — draft creation or dispensing work has begun.
- Completed — the import has been closed as complete and no further items can be imported.
- Cancelled — the import has been cancelled and no further items can be imported.
- Failed — the import encountered a failure that requires review.
Completing, cancelling, and archiving an import
Marking an import as complete
- Open the import overview.
- Confirm that all intended items have been resolved and that the dispensed count is correct.
- Click the ‘More actions’ menu.
- Select ‘Mark as Complete’.
- Click ‘Yes, Complete’.
Cancelling an import
- Open the import overview.
- Click the ‘More actions’ menu.
- Select ‘Cancel Import’.
- Click ‘Yes, Cancel’.
Completing or cancelling an import prevents further items from being imported. These actions do not reverse drafts, orders, or dispense records that have already been created.
Archiving or unarchiving an import
- Open the import overview.
- Click the ‘More actions’ menu.
- Select ‘Archive’.
- An archived import is read-only.
- To restore access, open the archived import and select ‘Unarchive’ from the ‘More actions’ menu.
Archiving hides an import from the default list but does not archive or delete its drafts, orders, customers, prescribers, or dispense records.