PI Transfer Tracker β€” How to Use

A quick guide for daily tasks. Bookmark, print, or save as PDF (button top-right).

Website: https://red-island-0bb34e510.7.azurestaticapps.net

Contents


πŸ†• What's New (August 2026)

Quick rundown of the latest updates so the team isn't surprised by changed behavior.

Partial-receive for bulk shipments (mark what's missing)

Γ— Reship missing (fill pharmacy pulls flagged Rx off a Received bulk)

Γ— Remove / Γ— Not in box (before a shipment is received)

Intake Location field

Urgent / High-Priority flag + same-store warning

Mark as Duplicate of #___

Per-transfer History (audit trail)

Search by Transfer ID

Teams routing improvements

Admin: view/edit stored Teams webhook URLs

Drug name required on every Rx line

Refill fix: no more ghost file metadata

Printing no longer changes status


July 2026 (previous month)

Active / Complete / All view toggle on Transfers

Non-transfer skips the PK Transfer Sheet requirement

Bulk Upload supports non-transfers

Origin filter now catches non-transfer pickup orders

Pickup signature capture

Anticipated Ship Date now saves reliably

Houston renamed to Spring


June 2026 (previous month)

Tabz payment auto-sync

Ship-to address behavior fixed

Sign-in screen

All Transfers table

Status, Alerts & Action Items

Receive shipment screen

OCR drug-name cleanup

Tracking

Patient name display


❄ USP Overnight Shipping Policy

Effective June 2026 (from Megan Smith / clinical leadership):

Several of our compounded sterile medications now require overnight cold shipping to comply with updated USP standards. Patients receiving these medications are now charged $50 for overnight shipping directly to their home, rather than the previous 2-day option. Per USP regulations, these sterile-prepared medications must be shipped overnight and stored frozen.

Existing patients (6-month rule): If the patient has filled the medication within the last 6 months they get one complimentary overnight shipping; future fills are $50.
New patients or no fill in 6+ months: charged $50 on this fill.

Medications requiring overnight shipping

How the portal helps

Admins: editing the warning list

Go to Admin β†’ Drug Warnings. You can:


Signing In

The site requires sign-in before showing any data. Two options on the sign-in page:

Option 1: Sign in with Microsoft 365 (preferred)

  1. Click Sign in with Microsoft 365 (blue button with the 4-color MS logo)
  2. Use your @pharmacyinnovations.net account (same one you use for Outlook/Teams)
  3. Your default location comes from the admin's Users & Access list. If you see the wrong location, ask an admin to update your row β€” or use the location dropdown in the navbar to temporarily switch (saved across browsers and devices).
If you signed in before your location was set: Sign out and back in (or just refresh the page) β€” the app re-fetches your assigned location on each sign-in.

Option 2: External users / contractors (username + PIN)

For staff who don't have a Microsoft 365 license. An admin must create the account first.

  1. Click the light-gray hint "External users or contractors? Use the username & PIN login below."
  2. Enter your username and PIN (set by the admin)
  3. Click Sign in

To switch locations day-to-day, just change the dropdown in the navbar.

Creating a New Transfer

Two ways: Single Transfer (one at a time) or Bulk Upload (many transfers from a multi-page PDF).

Single Transfer

  1. Click + New Transfer
  2. The form opens with Single Transfer mode selected. Fill in:
    • Patient Name (required)
    • Patient info (DOB, allergies)
    • Routing: Origin Location + Fill Location
    • Shipping: Ship-to (Pharmacy or Patient), address. If you pick Pharmacy, the origin pharmacy's address auto-fills.
    • Billing Method
    • Patient Price (optional) β€” for the team to record the price charged to the patient. Surfaces on the detail modal and on the Summary Sheet printout.
    • For future appointment? (optional) β€” when checked, set the appointment date. The anticipated ship date auto-calculates backward from the appointment so the box arrives in time.
    • Anticipated Ship Date β€” auto-calculated from the destination pharmacy's receiving day(s). Editable.
    • PK Transfer Sheet upload (required for normal transfers β€” drop a PDF, app auto-fills the fields it can read)
    • Optional: Hard Copy Scan, Formula, Transfer Notes
    • Items / Prescriptions: Origin Rx #, Receiving Rx # (filled in by fill location later), Drug, Qty
  3. Click Submit transfer
Non-transfer pickup at another pharmacy? Check the blue box at the very top of the form before entering patient details. See the Non-Transfer Pickup section above.
Temporary patient address? When Ship To = Patient, a "πŸ– Temporary address" checkbox appears in the Shipping section. Toggle it on, optionally set a "Through" date β€” the receiving pharmacy will see a warning banner telling them not to update the patient's permanent address.
Tip: Upload a clean PDF transfer sheet first β€” the app auto-fills patient, DOB, drug, Rx# from the document. You just verify and submit.

Bulk Upload (recommended for the weekly stack)

Drop a multi-page PDF that contains multiple transfer sheets and the app splits them automatically.

  1. Click + New Transfer β†’ toggle to Bulk Upload top right
  2. Set the bulk-level defaults if all transfers in this file share them:
    • Fill Location β€” applies to every draft
    • Anticipated Ship Date β€” applies to every draft
    • πŸ“ Non-transfer β€” check this if the whole stack is prepared-for-pickup orders (not real transfers). Set the Pickup pharmacy that appears next to it. Every draft inherits both. You can still override the pickup pharmacy per row from the queue table dropdown, and drafts flagged non-transfer skip the PK sheet requirement.
  3. Click πŸ“ Select PDFs to upload and pick the file(s)
  4. The app processes each page:
    • For digital PDFs with selectable text: pdf.js extracts fields instantly
    • For scanned/image-only PDFs: Azure AI OCR reads each page (takes ~30-60 seconds for a 22-page file)
  5. Each "PATIENT Rx TRANSFER INFORMATION" page becomes one draft. Pages between transfer headers attach as hard copies to the preceding draft.
  6. Review the queue β€” drafts marked ⚠ Needs Review are missing required fields
  7. Click Edit on any draft to fix fields. Inside the editor:
    • πŸ“„ View attached pages shows you the actual PDF pages assigned to this draft
    • Save & return to queue saves edits
    • Save & Approve saves AND immediately commits the transfer to the live system
  8. Click Approve on each ready draft, or Approve all N ready at the top to do them in one shot
The queue persists. Close the tab, sign out, leave the browser β€” when you come back, your in-progress bulk drafts are still there waiting. Use Clear queue to remove everything if you want a fresh start. Page images (for the View Pages button) are kept only during the active session and won't survive a browser reload.

Non-Transfer Pickup at Another Pharmacy

Use this when the order is originating from the filling pharmacy and being shipped to another pharmacy for the patient to pick up there. This is NOT a normal transfer β€” the receiving pharmacy doesn't put anything in their dispensing system, they just hand off the prepared scripts when the patient walks in.

How to use it

  1. Click + New Transfer
  2. At the top of the form, check the blue box "πŸ“ Prescriptions will be picked up at another pharmacy (Non-transfer)"
  3. Pick the Pickup pharmacy from the dropdown. The Shipping address fields auto-fill with that pharmacy's address.
  4. Continue filling out the rest of the form like a normal transfer (patient, drugs, etc.)
  5. Submit

Both the filling pharmacy AND the pickup pharmacy will see the order on their Transfers list, so the pickup pharmacy knows they have an order coming.

PK Transfer Sheet is optional on non-transfer orders. The order originates at the fill pharmacy, so there's no transfer paperwork to attach. Upload one if you have it; the app won't block you if you don't.

Bulk pickup orders

Some weeks you send a stack of prepared scripts to another pharmacy as a single batch (e.g., 12 scripts for the Seminole pickup window). Instead of entering each patient:

  1. Check the πŸ“¦ Bulk pickup order box inside the pickup section
  2. Enter Number of scripts and a short Description (e.g., "Weekly batch of compounds for Seminole pickup customers")
  3. The Patient and Items sections are no longer required for bulk pickup orders
When NOT to use bulk pickup: If the receiving pharmacy will fill the script themselves (i.e., a true transfer), enter each one as a normal transfer with individual transfer sheets. Bulk pickup is only for the prepared-and-shipped-for-pickup case.

Refilling an Existing Transfer

Receiving pharmacies β€” use this, not + New Transfer. If the receiving pharmacy is processing a refill for an order that's already been transferred once, always use the Refill flow (+ Refill tab or the πŸ“‹ Refill this Rx button on the transfer detail). This keeps the refill chained to the original so the full Rx History stays connected. Entering it as a brand-new transfer breaks that connection.

From an in-app transfer (normal path)

  1. Click + Refill (top tab)
  2. Search by patient name, Origin Rx#, or Receiving Rx#
  3. Click Refill this β†’ on the right transfer
  4. Review the Shipping & Payment Defaults (auto-pulled from the original). Click Edit if anything changed (new address, different billing).
  5. Check the Prescriptions boxes for which Rx to include in this refill (some patients have multiple Rx and may only need one refilled)
  6. Click Continue to refill form β†’
  7. The form opens pre-filled. PK transfer sheet, hard copies, formula, and Rx numbers all carry over from the original β€” same prescription, same paperwork. Review everything, replace any document if something changed, then click Submit.
Refills don't require a hard copy scan (optional) and inherit the original's docs, so you usually don't have to upload anything new.

From the transfer detail (one-click)

Open any transfer β†’ click πŸ“‹ Refill this Rx at the top β†’ fills out the new transfer for you. Same carry-over behavior.

Refill of a transfer NOT in the app (legacy / manual)

For patients whose original transfer pre-dates the app, you can enter a refill manually:

  1. Click + Refill β†’ scroll past the search results
  2. Click + Enter Refill Manually in the dashed box at the bottom
  3. The form opens marked as Refill / Manual / Legacy with a gray "Prior Transfer Info" section at the top
  4. Fill in whatever you have for the original: prior pharmacy, prior Rx #, prior transfer date, notes (all optional)
  5. Fill out the rest like a new transfer (patient, drugs, PK sheet upload, etc.), then submit

The Prior Transfer Info section will appear on the transfer detail so the receiving pharmacy can see the context. This option is temporary β€” once enough refill history is in the app, you'll always find the original via search.

Viewing the refill chain

Open any transfer that's part of a refill chain β€” the detail modal shows an Rx History section listing the original at the top plus every refill below in chronological order. Each row shows the date, item count, and status. Click Open on any row to switch the modal to that entry. Works whether you opened the original or any refill.

Editing or Deleting a Transfer

Edit (all roles)

  1. From the Transfers tab, click any row to open the detail modal
  2. Click ✏️ Edit Transfer at the top
  3. Change anything: patient info, routing, ship-to, billing, documents, transfer notes
  4. Click Save changes

Use this to fix typos, update the ship-to address, swap the wrong origin pharmacy, or add documents that came in later.

Delete (admin only)

On the detail modal, admins see a πŸ—‘ Delete button at the bottom-left. Click it and confirm β€” the transfer is removed permanently. Cannot be undone.

Quick inline edits

Asking a Question About a Transfer

Use this when you need info from another pharmacy.

  1. From the Transfers list, find the patient β†’ click ❓ Ask question on that row.
    (Or open the transfer and click ❓ Ask Question at the top.)
  2. Type your question, click Send Question
  3. The other location's Teams gets a notification with a button to open the transfer (admin must have set up the webhook for that location)
  4. They reply in the transfer's Discussion section
  5. Your reply appears for them on their Alerts tab

You can see questions YOU asked that are still unanswered on the Alerts tab β†’ "Questions You've Asked" section.

The Alerts Tab

The Alerts tab shows three sections:

  1. Open Questions β€” questions other team members asked YOUR location, waiting for your answer. Click Answer β†’ to open the transfer.
  2. Questions You've Asked β€” your own pending questions still waiting on a reply.
  3. Transfers Past Status Time Limit β€” transfers stuck in one status too long (admin-configurable). Click any row to open and update.

The number badge on the Alerts tab = open questions for you + overdue transfers combined.

Credit Card Workflow

The CC Authorization form options only appear on the New Transfer / Edit Transfer form when you set Billing Method = Credit Card and the card is NOT already on file. The form has the PI logo, patient + Rx pre-filled, and a written authorization clause β€” no signature line.

Two ways to capture the card info:

Option A: Print blank, fill by hand, scan back in

  1. On the transfer form, set Billing Method to Credit Card
  2. Click πŸ–¨ Print blank form
  3. A one-page PDF prints with patient name and Rx auto-filled
  4. Customer / cardholder writes in their card info on the paper
  5. Scan the completed form
  6. Upload the scanned file in the same section, then submit the transfer

Option B: Fill on screen, save as PDF, upload

  1. Click ✏️ Fill on screen instead of Print blank
  2. A new window opens with the same form, but the card fields are editable inputs
  3. Cardholder types in their info (name, billing zip, card #, expiration, CVV)
  4. Click πŸ–¨ Save as PDF / Print at the top β€” pick "Save as PDF" as the destination
  5. Upload the saved PDF in the same section, then submit the transfer
Card data stays local. Whether you scan the paper or save as PDF, the card number is only entered on the customer's side. The app never transmits typed card data to the backend β€” same PCI posture as the original paper-scan flow.

Billing team opens the transfer β†’ clicks the print-the-signed-form button (visible on the detail modal when a CC form is attached) when they need to charge.

Shipments

WorldShip Customer Reference β€” the bridge between this app and FedEx

This is the most important thing to understand about shipping: every time you generate a FedEx label in WorldShip, type either the Transfer ID or the BULK Shipment ID into WorldShip's "Customer Reference" field. The daily auto-match cron looks up FedEx shipments by reference and links the tracking back to the transfer or bulk shipment in this app β€” automatically. No manual tracking number entry.

Creating a Bulk Pharmacy Shipment (weekly box to another pharmacy)

  1. Shipments tab β†’ + Create Shipment
  2. Destination Type: Pharmacy, To: pick the destination pharmacy
  3. The list below auto-loads transfers in In Progress heading to that pharmacy. (New / Pending Clarification / Needs Formula transfers don't appear here β€” they have to be moved to In Progress first.) Check the ones in this box.
  4. Tip: filter the list by Anticipated ship on or before to focus on what's due today.
  5. Carrier: FedEx. Tracking number is optional here β€” leave it blank.
  6. Click Create Shipment
  7. The app shows the new BULK Shipment ID prominently. Write it down or memorize it.
  8. The app offers to print a packing slip with the PI logo, BULK ID, Code128 barcode, From/To addresses, and the manifest. Put it inside the box.
  9. Go to WorldShip and generate the FedEx label. Type the BULK ID into WorldShip's Customer Reference field.
  10. Done. The daily auto-match cron will find the FedEx shipment by reference, link the tracking number to this bulk, and cascade it to every transfer in the box. Status auto-advances to Shipped.
You can come back later to add tracking manually if needed β€” open the bulk shipment in the Shipments tab and use Edit ship / tracking. But for typical FedEx shipping, the cron handles it.

Creating a Ship-to-Patient transfer

Patient-direct ships don't need a bulk shipment record. When you generate the FedEx label in WorldShip, type the Transfer ID (shown at the top of the transfer detail modal) into the Customer Reference field. The auto-match cron picks it up and links tracking to that transfer.

Seeing both directions β€” Incoming vs Outgoing

Pharmacies see both shipments going TO them (incoming) and shipments going FROM them (outgoing) on the Shipments tab by default. Each row has a colored chip in the first column showing direction relative to your location:

Use the [All] [← Incoming] [β†’ Outgoing] toggle in the filter bar to scope to one direction.

You can also filter by Ship date range (top of the page) to scope to a particular shipping window.

Next-shipment banner

The blue strip just under the navbar shows "πŸ“¦ Your next pharmacy shipment to [your location] is expected on [Day MM/DD/YYYY]" β€” computed from your location's receiving day(s) configured in Admin β†’ Pharmacy Mailing Addresses. If your location receives shipments multiple days a week (e.g., Tue and Thu), the banner shows the nearest upcoming day and lists the full schedule in parens.

Receiving a Shipment

  1. Shipments tab β†’ focus the πŸ“· Scan tracking barcode field at the top
  2. Scan the FedEx barcode OR the bulk packing slip barcode
  3. The shipment opens β€” click πŸ“¦ Arrived at my pharmacy when the box is in your hand
  4. Check off each Rx as you unpack it
  5. Take photos of any damage with the camera button
  6. Click Mark Package Received

πŸ“¦ Packing Checklist (shipping team's daily worksheet)

The Packing Checklist replaces paper sheets the shipping team used to assemble manually. Pulls in every transfer scheduled to ship today, groups by destination pharmacy, and lets staff check items off as they pack. Each check is saved to the backend so other users (and managers) see live progress.

Opening the checklist

  1. Go to the Shipments tab.
  2. Click πŸ“‹ Packing Checklist (top-right, next to Pull from FedEx).
  3. The Reports tab opens in Packing Checklist mode with Today's date applied and all destinations selected.

Filters

Already-shipped orders are hidden. The checklist only shows transfers that still need to physically leave the building. Anything already in Shipped / Delivered / Received / Canceled status is filtered out.

The row layout

ColumnWhat it shows
βœ“ CheckboxClick as you pack each item. Saves immediately to the backend; teammates see your checks within ~30 seconds. A small green "βœ“ [your name]" appears under the box so anyone can tell who packed which item.
PatientLast name, First name.
Drug(s) β€” QtyEach Rx item on its own line.
TypeNew or Refill.
Ant ShipThe transfer's scheduled ship date (filtered to today by default).
FedEx ReferenceThe Transfer ID plus a Code128 barcode. Focus WorldShip's Customer Reference field and scan the barcode β€” no typing.
Notes❄ Cold-chain, πŸ“ Pickup-at-pharmacy, 🚚 Delivery (Lancaster), plus any transfer notes.

πŸ“₯ Add Order to Today (when an order is ready early)

If an order is ready earlier than its scheduled ship date and you want to pack it today:

  1. Click πŸ“₯ Add Order to Today (green button in the date-filter row).
  2. Search by patient, transfer ID, drug, Rx #, or pharmacy.
  3. Click πŸ“… Set to Today on the row.
  4. The transfer's anticipated ship date is bumped to today, the modal closes, and the order appears under its destination group on the checklist.

The change is persisted on the transfer like any other ant-ship-date update β€” so the Teams notification for date changes will fire and the origin pharmacy will know.

πŸ“¦ Create Shipment & Print Slip (end of packing)

Each pharmacy destination group has a header button that appears when at least one row in that group is checked. It says, e.g., πŸ“¦ Create Shipment & Print Slip (7).

  1. Pack the items, check the boxes throughout the day as you go.
  2. When you're ready to close out a destination's box, click its πŸ“¦ Create Shipment & Print Slip button.
  3. Confirm β€” a new BULK shipment is created with the checked transfers as the manifest.
  4. The packing slip prints automatically (PI logo, BULK ID, Code128 barcode, full manifest with Cold / Pickup / Delivery badges).
  5. The new shipment's detail modal opens behind the print window β€” useful if an extra order comes in late and you need to + Add transfers to the box before generating the FedEx label.
  6. The checks for those transfers are cleared so the row visually settles to "done."

Patient (Direct Ship) and any non-pharmacy destinations don't show the Create Shipment button β€” they're handled as individual FedEx packages. Use the Transfer ID barcode in the FedEx Reference column to scan into WorldShip when you label each one.

Printing / saving as PDF

Click πŸ“„ Print / Save as PDF at the top of the Reports tab. The printed sheet is black-and-white (so it's photocopier-friendly) and includes empty checkboxes ☐ ready to tick by hand. Color stays only on screen.

Daily reset: "Packed today" checks automatically clear at midnight β€” any check made before midnight on day X only counts for that day. No cleanup needed.

Reports β€” Summary, Detail, Packing Checklist

The Reports tab has a single filter bar at the top covering every common scope:

Three tabs underneath:

πŸ“„ Print / Save as PDF button (top-right) works in any mode β€” opens the browser print dialog where you can choose "Save as PDF" as the destination to export. Summary mode prints portrait, Detail and Packing Checklist print landscape.

πŸ“₯ Export CSV downloads the filtered transfers with timestamped filename.

Admins see every location's data; techs/managers see only their location's data automatically.

Printing & Batch Operations

Batch print transfer sheets (Erie sterile team)

  1. Transfers tab β†’ check the boxes next to transfers you want to print
  2. Click πŸ–¨ Print Selected (N) at the top right
  3. App opens a print window with all selected PK sheets + hard copies in one job
  4. After printing, the app auto-changes those transfers to In Progress

Print docs for a single transfer (from the detail modal)

  1. Open any transfer β†’ look at the Attached Documents section
  2. Click πŸ–¨ Print all attached documents β€” prints PK sheets, hard copies, and signed CC form for that transfer
  3. Doc links (PK Transfer Sheet, Hard Copy Scan, etc.) are clickable β€” opens the original file in a new browser tab

Print Summary Sheet (optional cover/handoff)

Sometimes you want a one-page reference for filing or hand-off without the actual attached scans. The transfer detail modal has a πŸ“„ Print Summary Sheet button (next to Refill this Rx) that prints a single page with:

The summary doesn't auto-print with attachments β€” it's only printed when you click that button.

FedEx Tracking β€” Auto, Manual, & Click-through

You typically don't have to do anything here β€” the app handles tracking automatically as long as the WorldShip Customer Reference is set correctly when you generate the label. There's also a manual fallback for when the auto-match misses, and every tracking number in the app is a clickable link to FedEx's tracker.

How auto-match works

Manual pull on demand (Shipments tab β†’ Pull from FedEx)

If you don't want to wait for the daily cron, click πŸ“¦ Pull from FedEx on the Shipments tab to trigger the same lookup right now. Queries every open transfer + every open BULK shipment. Results show what was matched. Note: FedEx's reference index can lag the actual label by up to a day, so a same-day pull may miss; the daily cron re-tries the next morning automatically.

Manual tracking entry (when auto-match misses or you need it now)

Every bulk shipment modal has a FedEx Tracking row with an ✏️ Edit (or + Add tracking manually) button:

  1. Open the bulk shipment from the Shipments tab.
  2. Click ✏️ Edit on the FedEx Tracking row.
  3. Paste the FedEx tracking number from WorldShip (10–22 digits).
  4. The app validates, saves, and immediately queries FedEx for live status. If FedEx says it's already in transit / delivered, the shipment's status updates and the tracking cascades to all transfers in the bulk.

Clickable tracking links

Every tracking number shown anywhere in the app (Shipments list, Transfers list, transfer detail modal, Action Items, FedEx Pull results) is a clickable link that opens FedEx's public tracker in a new tab. No more copy/paste to FedEx.com.

The key thing: typing the Transfer ID or BULK ID into WorldShip's Customer Reference field is what makes auto-match work. The Packing Checklist's barcode column lets staff scan instead of type. If you forget, you can still paste a tracking # manually via the bulk shipment modal.

Admin Tasks (admins only)

The Admin tab is only visible if your email is in the Admin Users list (set in this same tab).

Users & Access

One consolidated table showing all 365 users + local accounts. From here you can:

Other admin items

Security: idle timeout + audit logging

The app signs users out automatically after 30 minutes of inactivity (a warning appears at 28 min). Move the mouse or press any key to reset the timer. This limits PHI exposure on shared/unattended workstations.

Every PHI-touching action is recorded to the audit log: viewing a transfer, creating one, editing one, deleting one, changing status, marking paid, sign-in events. Admins can review the log in Admin β†’ Audit Log.

Email Notifications

The app sends two kinds of emails automatically from noreply@pharmacyinnovations.net. No setup per user β€” admins manage the recipient lists in Admin β†’ Email Notifications.

Daily Summary (5 PM ET)

For every location that had transfer activity that day, the app sends a per-location summary email:

Shipment notifications (when a shipment is created)

Recipients are configured in Admin β†’ Email Notifications. Same list is used for both kinds.

Status Definitions

StatusWhat it means
NewJust submitted, not yet processed
In ProgressBeing compounded at the fill location. This is now the last stage before Shipped β€” "Ready to Ship" was retired and existing transfers in that status auto-migrated to In Progress.
Pending ClarificationOrder is on hold while the fill location waits for clarification from the originating pharmacy (e.g., dose unclear, missing info). Setting this status auto-pings the origin pharmacy's Teams chat so they know to respond.
Needs FormulaOrder is on hold because the fill location doesn't have the required formula. Auto-pings the origin pharmacy's Teams chat with the request.
ShippedIn transit (auto-set when tracking # is added)
DeliveredPatient or pharmacy has received
CanceledTransfer canceled (must be acknowledged on Action Items tab before being archived)
Late-shipment notifications: When the anticipated ship date is updated by anyone NOT at the originating pharmacy (typically the fill location pushing the date out), the origin pharmacy gets a Teams notification with the old and new dates.

Common Questions

Q: I picked the wrong origin pharmacy and submitted. Can I fix it?
A: Yes β€” open the transfer β†’ ✏️ Edit Transfer β†’ change origin β†’ Save.

Q: I leave the Bulk Upload page mid-review. Will my drafts be there when I come back?
A: Yes. The bulk queue is saved automatically and persists across reloads. Page-image previews disappear after a reload (no harm β€” you can still edit and approve), but draft data stays.

Q: The bulk upload only detected 4 transfers but my PDF has 11. What do I do?
A: Open browser DevTools (F12) β†’ Console tab. Look for "OCR page N:" log lines. The ones where isTransferSheet=false are the missed ones. Copy a snippet of their firstChars text and send it to whoever maintains the app β€” they'll tune the detection.

Q: I deleted a transfer by accident. Can I get it back?
A: No. Delete is permanent. Reach out immediately if you need a record reconstructed β€” depending on backup state, it may or may not be recoverable.

Q: A patient changed their address. How do I update for refills?
A: Edit the existing transfer with the new address before refilling, OR start the refill and use the Edit button on the Shipping & Payment Defaults to override.

Q: We canceled a transfer β€” does the app know?
A: Change the status to Canceled on the transfer. It will show up under Action Items until someone acknowledges it. This prevents accidentally shipping it.

Q: How do I see all transfers for one patient?
A: Use the search bar at the top of the navbar β€” type their name. Results include their transfers AND shipments.

Q: Can I export the list?
A: Yes β€” Reports tab β†’ Export CSV at the bottom.

Q: I forgot my local-account PIN.
A: An admin can reset it from Admin β†’ Users & Access β†’ click Reset PIN on your row.

Q: The original transfer isn't in the app β€” how do I record a refill?
A: + Refill tab β†’ scroll to the bottom β†’ click + Enter Refill Manually. You can put whatever you know about the original (prior pharmacy, prior Rx #, date) in the gray "Prior Transfer Info" box. The rest of the form works like a new transfer. This is temporary β€” once enough history is in the app, you'll find originals via search.

Q: My default location keeps showing the wrong pharmacy.
A: Sign out and back in (or refresh the page) β€” the app reads your assigned location from the admin's Users & Access list on each sign-in. If it's still wrong, the admin needs to update your row.

Q: Do I have to enter a tracking number when I create a bulk shipment?
A: No, leave it blank. Generate the FedEx label in WorldShip with the BULK ID in the Customer Reference field. The daily auto-match cron links the tracking automatically. If you'd rather, you can manually paste a tracking # later via Edit ship / tracking on the bulk shipment.

Q: I forgot to type the Transfer ID / BULK ID in WorldShip β€” what now?
A: Open the transfer (or bulk shipment) β†’ Edit ship / tracking β†’ paste the FedEx tracking number manually. It'll set the status to Shipped just like the auto-match would have.

Q: I checked off some Packing Checklist items. Will my teammates see my checks?
A: Yes β€” checks live on the transfer record in the backend, not in your browser. Your teammates' checklists update within ~30 seconds of you clicking. A small green "βœ“ [your name]" appears under each box so anyone can see who packed which item. Same goes for the reverse β€” your view will pick up their checks within ~30 seconds.

Q: My Packing Checklist checks disappear at midnight β€” is that a bug?
A: No, that's intentional. Checks are date-stamped, and the checklist only counts today's stamps. Yesterday's checks are kept in the audit history but don't show as "packed today" anymore β€” so each morning everyone starts fresh.

Q: An order is ready earlier than its anticipated ship date and I want to pack it today. Do I have to edit the transfer?
A: No β€” use the πŸ“₯ Add Order to Today button on the Packing Checklist. Search by patient or transfer ID, click Set to Today, and it appears on the checklist immediately. The transfer's anticipated ship date is updated (and the origin pharmacy gets the standard Teams notification for the date change).

Q: The app keeps loading me back into the Transfers tab when I refresh β€” can I land on a different one?
A: Yes, that's been fixed. Whatever tab you were on when you refresh, the app now restores. Click any tab once and it becomes your new default until you click another.

Q: Where do I see all refills for a patient/Rx?
A: Open any transfer in the chain β†’ the Rx History section shows the original and every refill in order. Click Open on any row to switch the modal to that entry.

Q: I don't see my new transfer when trying to add it to a shipment.
A: The shipment list only shows transfers in In Progress status. Open the transfer and bump the status to In Progress, then it'll appear. New, Pending Clarification, and Needs Formula transfers don't appear (they're still being worked).

Q: I'm at the receiving pharmacy and need to process a refill for a transfer that's already in the app. Do I enter it as a new transfer?
A: No β€” use the Refill flow. Either + Refill tab β†’ search for the patient β†’ Refill this, OR open the existing transfer β†’ πŸ“‹ Refill this Rx button at the top. This chains the refill to the original so the full Rx History stays connected. Entering it as + New Transfer breaks that connection and creates an orphan record.

Q: My pharmacy gets shipments twice a week. Can I set that?
A: Yes. Admin β†’ Pharmacy Mailing Addresses β†’ for your location, check all the days you receive shipments (e.g., Tue and Thu). The anticipated ship date auto-calc and the next-shipment banner both use the nearest day from the multi-day schedule.

Q: Why does the next-shipment banner sometimes say "Set your location's receiving day(s)"?
A: Your location doesn't have any receiving days configured. An admin needs to go to Admin β†’ Pharmacy Mailing Addresses and check the day(s) of the week for your location.

Q: My order is held up because we need clarification from the origin pharmacy. What status do I set?
A: Change the transfer's status to Pending Clarification (or Needs Formula if it's specifically a missing formula). Setting either status automatically pings the origin pharmacy's Teams chat so they know to respond. The order stays in this status until you bump it back to In Progress.

Q: The anticipated ship date needs to change because we can't ship on time. What should I do?
A: Open the transfer β†’ ✏️ Edit Transfer β†’ change the Anticipated Ship Date β†’ Save. If you're at the fill location (not the originating pharmacy), the origin pharmacy automatically gets a Teams notification with the old and new dates.

Q: Where does the green Paid badge come from?
A: Either the row's "πŸ’² Mark Paid / Charged" button on All Transfers OR the same button on the transfer detail. Click once β€” done. The badge shows who marked it and when.

Q: My session signs me out after I leave the screen for a while. Why?
A: For security, the app signs users out automatically after 30 minutes of inactivity. A warning banner shows up at 28 minutes β€” move the mouse or press a key to reset the timer and stay signed in.

Q: Can I send the same script to multiple pharmacies for pickup?
A: Each non-transfer pickup goes to one pickup pharmacy per record. If a single batch is going to multiple destinations, enter one bulk pickup per destination.


Updated 2026-06-15 β€” USP overnight cold-shipping policy notice with admin-editable Drug Warnings + inline form warning + $50 dropdown option + dismissible portal banner. Tabz payment auto-sync (Payment + Pay Date columns, per-Rx badges, receipt PDFs), Paid-in-Store override always available, sign-in screen restyled to Training Portal look, Ship-To address pre-fill + clear on type switch, two-line patient names in table (1800px wider), Save as default + Reset moved to filter row start, Ship-To type filter, pickup pin removed from table, OCR drug-name matching against known drug list, editable tracking with live FedEx pull, Past Anticipated Ship moved to Alerts badge, SLA excludes Received, Receive screen Select all toggle, Bulk-Received cascade auto-heals orphan transfers. Need to edit this guide? Edit help.html in the repo.