BIP User Guide

Everything you need to master BIP and transform your event photography workflow — from your first card to automatic delivery.

Quick Start

BIP 4.0 · macOS & Windows

BIP (Bulk Image Processor) is an app for photographers who shoot events with a draw sheet — rowing regattas, school portraits, race days, anything where every group on the camera maps to a row of metadata. BIP turns a card full of RAW + JPEGs into ready-to-deliver folders and uploads, in one pass. It runs natively on macOS and Windows; this guide uses macOS keys (⌘) — on Windows, read ⌘ as Ctrl.


Start here

If you want to… Go to
Install BIP and run it for the first time Getting started
Understand the draw sheet (rows, runs, columns) The draw sheet
Ingest a card Ingest
Auto-upload after ingest (FTP) Uploads
Retrieve delivered photos by order / customer Order Retrieval
Find a menu item Menu reference
Memorise keyboard shortcuts Shortcuts
Recover from a crash, expired licence, or stuck state Troubleshooting
Know which features your licence unlocks Tiers

The 30-second tour

  1. Make a draw sheet. Either File → New from CSV… (import your running order), New drawsheet… (build columns from scratch), or Open .bip… (resume an event).
  2. Set folders and watermark in the Settings panel on the left.
  3. Drop a card in. Ingest foldered card… or Guided Ingest… depending on whether the card has folder-per-run structure.
  4. Review and upload. A summary dialog appears; configured FTP uploads fire automatically.

Everything you do is undoable (⌘Z / Ctrl+Z), autosaved, and round-trips through portable .bip event files.


Where things live on disk

  • Event file — wherever you saved your .bip (e.g. ~/Documents/MyEvent.bip).
  • Output, backup, DCIM folders — set per-event in the Settings panel; usually under an event folder of your choice.
  • App data~/.BIP/ on macOS, C:\Users\<you>\.BIP on Windows (autosaves, crash reports, autocomplete database). Wherever this guide says ~/.BIP/, read the Windows path equivalently.
  • Preferences~/Library/Preferences/com.BIPCustomers.BIP-Qt.plist on macOS; the registry under HKEY_CURRENT_USER\Software\BIPCustomers on Windows (recent files, window layout, "auto-float" toggle, first-run flag).

To completely reset BIP: Help → Clear all BIP-4.0 settings… — this wipes both locations and re-launches into the first-run wizard.


Getting help

  • Help → About BIP-4.0 — version, build, licence info.
  • Help → Report a problem… — builds a zip with your session log
  • recent errors + system info, opens a pre-addressed mail to BIP-Support@mybip.org.
  • After an unexpected quit, the next launch offers to send a crash report automatically.

Install & First Run

1. Install

macOS

Download the latest BIP-4.0 release from mybip.org, open the .dmg, and drag BIP-4.0 into Applications. The app is signed and notarised, so Gatekeeper opens it without warnings.

Apple Silicon vs Intel. Pick the arm64 build on M-series Macs, x86_64 on Intel. Mismatched builds will run under Rosetta but slower.

Windows

  1. Download the Windows installer (…-Windows-x64-setup.exe) from mybip.org.
  2. Run it. Windows SmartScreen may warn about an unrecognised app — click More info, then Run anyway.
  3. Approve the UAC prompt — the installer is per-machine and installs under Program Files for all users.
  4. Follow the wizard (the default location is recommended). It creates a desktop shortcut and a Start-menu entry, and registers the .bip file type so double-clicking an event file opens it in BIP.
  5. Launch BIP from the desktop shortcut or the Start menu.

64-bit only. The Windows build requires 64-bit Windows 10 or 11.

Everything in this guide applies to both platforms. Where you see ⌘ in a shortcut, use Ctrl on Windows — the Shortcuts page lists both side by side.

2. First launch — the setup wizard

On the very first run, a four-page wizard appears:

  1. Welcome — quick orientation.
  2. Starting point — pick one: - Open existing .bip if you're resuming an event. - From CSV if you have the running order in a spreadsheet (the most common starting point). - Blank for a free-form event you'll build in-app.
  3. Folders — defaults you can change per-event later: - DCIM folder — where ingest looks for cards (typically your SD card reader's mount path). - Output folder — where ingested files land. - Backup folder — mirror copy of the card. Untick Disable backup if you want one.
  4. Summary — confirm and finish.

After the wizard, you land in the main window with whatever you chose loaded. The wizard runs once; re-run it any time from Help → Run setup wizard….

Cancelling the wizard still marks it seen. To force it back, use Help → Clear all BIP-4.0 settings… — that's a full reset.

3. Activate your licence

If your install isn't already licensed, BIP prompts on launch with the License activation dialog:

  • Activate — paste a licence key you've been emailed.
  • Start trial — free 14-day trial with the full Pro feature set.
  • Quit — exit the app.

Your licence covers up to 4 computers at once (trial licences: one computer). Once activated, the dialog also lets you Clear stored license (resets this machine to an unlicensed state and — from BIP 4.4.2, when online — releases this machine's seat on the server) and shows your current key, tier, expiry, and machine reference. Seats can also be managed from your Customer Portal's Installations tab, which works even for a machine that's dead or offline.

You can reopen the dialog any time via Help → Activate license….

Offline? BIP keeps a 7-day offline grace. After that you need network to revalidate. If the server flat-out says expired, the app won't launch until you activate something valid or quit.

4. What each main panel does

The main window has three dock panels (all toggleable from the View menu):

  • Settings panel (left) — folders, watermark, foldering rules, filename rules, EXIF tags, ratings.
  • Run-control panel (right) — the Ingest buttons, run-number field, team-event toggles, and post-ingest upload toggles.
  • Activity panel (bottom) — log of what BIP is doing. Also saveable to a text file from its header menu or File → Save activity log….

The big table in the middle is the draw sheet. See The draw sheet for what each column means.

Floating, hidden, or rearranged a dock and want it back? Use View → Reset layout.

Next steps

The Draw Sheet

The draw sheet is BIP's central table. Each row is one group you photographed — a crew, a team, a class, a session. Each column is metadata about that group: name, race, time, school, whatever your event needs.

When you ingest a card, BIP uses the draw sheet to decide which photos belong to which row, which folder each row gets, and what filename pattern to apply.

How to build one

Three starting points, all under the File menu:

Menu item Use when
New from CSV… You already have the running order in a spreadsheet. Pick the CSV, then the foldering wizard maps it.
New drawsheet… You want to design columns from scratch in-app.
New Quick blank sheet with default columns (Run, Athlete, etc.).
Import from CSV… Append rows from another CSV onto the current sheet. Maps by column title.

The New from CSV path also opens the column-order wizard — drag the columns into the order you want them displayed, mark which ones drive foldering / filenames, and confirm.

Run numbers

The run number (often labelled "Run #" or your "refcol" — e.g. "Race", "Class", "Session") drives ingest. Set the starting run in the run-control panel; as you ingest, BIP advances it.

The starting-run row is highlighted: a taller row in light yellow across all data columns, point size bumped 50%. Change the starting run and the highlight moves with you.

A ✓ next to a row number means every file that row uploaded to your gallery host has been processed online — see Uploads → Tracking gallery processing.

Inverse mode flips the direction BIP walks through runs. Use when your draw sheet is laid out bottom-to-top or runs are numbered in reverse.

Team events — one capture, multiple galleries

Use Team event when a single camera run needs to appear under more than one name in your delivered galleries. Typical examples:

  • Cutting / reining events — every round has both a rider and a horse; customers search by either name, so the same photos need to live in both galleries.
  • Pair / team rounds — two riders share a run; both want their own gallery.
  • School portraits where families search by surname — same group photo needs to appear in two different surnames' galleries.

Turning it on

  1. Tick Team event — multiple galleries per run in the run-control panel.
  2. Under Gallery columns, tick the columns whose values name the galleries. At least two columns are required — fewer and BIP will refuse the ingest with a reminder.

For a cutting event you'd typically tick rider and horse. For a pair round, both rider-name columns.

What actually happens at ingest

For every ingested row, BIP produces one full set of proofs (and video thumbnails) per ticked gallery column, named after that column's value for the row.

Example — row has rider = "Alice Smith", horse = "Trigger", both ticked, foldering pattern based on rider:

Proofs/.../Alice Smith/       ← base gallery (matches foldering rule)
    101_001.jpg
    101_002.jpg
    …
Proofs/.../Trigger/           ← duplicate parallel gallery
    101_001.jpg               ← identical proof
    101_002.jpg
    …
Video Thumbnails/.../Alice Smith/   ← same pattern for video
Video Thumbnails/.../Trigger/
Originals/.../Alice Smith/    ← raw originals stay SINGLE — not duplicated
    101_001.NEF
    …

Originals (raw files) live in just one folder — the base gallery's — because duplicating gigabytes of raw is wasteful and customers order from proofs anyway. Proofs and video thumbnails are the customer-facing deliverables, so those get the copies.

Turning it off

Untick Team event and the row goes back to producing the normal single set of proofs based on your foldering rule.

Settings round-trip through the .bip file, so each event can have its own team configuration.

Editing cells

The draw sheet behaves like a spreadsheet:

  • Click to select, Enter / double-click to edit.
  • Tab / Shift+Tab move horizontally, Enter moves down.
  • ⌘C / Ctrl+C copies the selected rectangle as TSV (paste into Excel / Sheets / another BIP draw sheet).
  • ⌘X / Ctrl+X cuts. If you've selected complete rows, the rows are removed and rows below shift up to fill. If you've selected cells, BIP asks whether to leave blank (clear contents, keep row structure) or shift cells up (remove cells, slide rows below up to fill the gap, Excel-style). The choice dialogs are fully keyboard-drivable — Tab or the arrow keys move between the buttons, Space/Return picks one.
  • ⌘V / Ctrl+V pastes TSV at the active cell, overwriting.
  • ⌘⇧V / Ctrl+Shift+V pastes TSV but inserts new rows at the active row.
  • ⌘⌥V / Ctrl+Alt+V pastes TSV and shifts cells down only in the columns you pasted into (Excel's "Insert Copied Cells → Shift down").
  • ⌘D / Ctrl+D fills the topmost selected row's values down through the rest of the selection — Excel's "fill down".
  • ⌘Z / Ctrl+Z undoes, ⌘⇧Z / Ctrl+Shift+Z redoes. Everything is undoable, including ingest-driven row reorders.

Right-click a cell for the full menu — copy/paste variants, fill sequence (e.g. fill 1, 2, 3, 4… down a numeric column), insert / delete rows, group ingested rows.

Ingested rows are read-only by default — BIP won't let you edit a cell after photos have been written to disk against that row, to keep folder names stable. Use the right-click context menu's "Allow edit of ingested row" if you really need to.

Draw lookup — fill whole rows from a master list

If your show has a master list (back number → horse, rider, owner…), BIP can fill entire rows for you as you type. Set it up once via Tools → Draw lookup (auto-fill)…:

  1. Import the master list CSV.
  2. Pick the key column (the back number) and tick which columns it should fill.
  3. From then on, typing a matching key into the key column fills that row's mapped cells automatically — one undo (⌘Z / Ctrl+Z) reverts the whole fill. The autocomplete popup also shows master-list entries (e.g. "601 — Famous Firewater") so you can pick instead of type; key matching is forgiving about case and leading zeros ("7" finds "007").

A lookup can be stored globally (every event on this machine) or inside the current .bip (travels with the event; wins while that sheet is open). If a master-list column would overwrite your reference column (your card numbering), BIP warns and skips it by default — your numbering is never silently replaced.

Restore selection

Built a big multi-row selection and lost it to a stray click? Get it back with right-click → ↺ Restore selection, Edit → Restore selection (⌘⇧R / Ctrl+Shift+R) — or just press undo (⌘Z / Ctrl+Z) immediately: in the moment right after a lost selection, undo restores the selection instead of undoing data.

Autocomplete

As you type into a cell, BIP suggests values from past .bip files. The autocomplete database lives at ~/.BIP/autocomplete.sqlite.

Manage it from Tools → Autocomplete database:

  • Learn from folder of .bip files… — seed the DB from a folder of past events.
  • Export to JSON… — share with another machine.
  • Import from JSON… — receive someone else's export.

Finding things

  • ⌘F / Ctrl+F — opens Find, searches any column.
  • Click a column header to sort. Headers also drag-to-reorder; the layout is saved per-.bip.
  • View → Show ingest counters — opens a side panel breaking down images / videos / total per row, per ingest type, per day.

Saving

  • ⌘S / Ctrl+S — save. The first save prompts for a location.
  • ⌘⇧S / Ctrl+Shift+S — Save As (good for branching variations).
  • Autosave runs in the background. If BIP crashes, the next launch offers to restore from the most recent autosave via File → Recover from autosave….

The .bip file is a portable JSON document. Window layout, column order, and panel visibility persist per file, so different events can have different views.


Next: Ingest a card →

Ingesting Cards

Ingest is the moment BIP reads photos off a card, sorts them into runs, writes them to your output folder under the right filenames, applies your watermark, and (optionally) kicks off uploads.

BIP has three ingest modes. Pick whichever matches how the card is organised.

Mode What's on the card When to use
Foldered (Regular) One folder per run (camera card-creation, e.g. Sony multi-card mode) Most events, when you can set up the camera to do folder breaks
Guided One mixed folder of files; you sort them visually Cameras without folder breaks; selected files only
Remote Mixed folder + you give BIP a reference photo per run; it figures out the rest from timestamps Two-photographer events, tethered shooting, or any case where you can flag a single "I'm starting run N" frame

The three buttons live on the right-side Run-control panel.

Foldered ingest (Regular)

This is the fast path.

  1. Set the starting run in the run-control panel (or click the row you want to start on).
  2. Click Ingest foldered card….
  3. Pick the card root folder (e.g. the SD card volume).
  4. BIP shows a Preview cards dialog: every folder on the card mapped to a run. Drag rows around if a folder's assignment is wrong, then click Start.

Scratches / missing runs. If a run number in your range isn't on the sheet (a scratched entry, say), BIP skips it and pulls the next available run instead — and tells you first, listing every skipped number and the exact runs it will use, so you can confirm or cancel.

Already-ingested cards. If the card's runs were ingested before, BIP warns you — and it's smart about where: a run that folds to a different output folder (a new day, a different arena) doesn't trigger the warning. When some runs are genuinely done, Skip + pull next carries on with just the new ones. 5. A progress dialog shows per-file progress. When clean, it auto-closes after 5 seconds (adjustable — see Auto-dismiss timings); on warnings / errors it stays open so you can see what happened. 6. The Ingest summary dialog appears with the run-by-run results. From here you can browse the output folder, review any unmatched files, or just close it.

If you configured uploads (see Uploads), they fire automatically after the summary closes.

Preview cards: reassigning folders to runs

Drag any row to reorder. If you drop a folder onto a run that already has a folder assigned, BIP offers three resolutions:

  • Swap — exchange the two assignments.
  • Cascade — push everything down by one slot.
  • Allow — let two folders share a run (rare but supported).

Guided ingest

For cards where there are no folder breaks, or you want to hand-pick which images go to which run.

  1. Click Guided Ingest…. With no rows selected in the sheet, BIP asks how to scope the pass: Use all rows, Add folders as I go (start with an empty folder list and build it up from the browser's + Add Folder… button), or Cancel. Selecting rows first scopes the pass to just those rows.
  2. Add one or more source folders (cards, dump folders, even nested directories). BIP scans them and shows every thumbnail.
  3. Walk through the thumbnails one-by-one (or in bigger jumps via the keyboard) and assign each to a row. Video files play in-line — you can scrub through to confirm.
  4. Click Run when you're done assigning. Files marked Skip stay on disk untouched.

Important. Guided mode walks files one-by-one — there's no card-position concept. Don't expect the "preview cards" drag-to-reassign UI here.

Remote ingest

For multi-photographer events, tethered shoots, or any case where a card has a continuous stream of photos and you need timestamps to split them into runs.

  1. Click Remote Ingest….
  2. Pick the source folder.
  3. Fill in the Remote config dialog: - Camera reference — a name used in filenames (e.g. Bow, Stroke). - Offset (seconds) — clock drift between this camera and your "master" camera. If you have two photos of the same instant, BIP can auto-calculate this for you. - Buffer (seconds) — how much padding to apply around each run's start_times / end_times.
  4. BIP walks files in time order. Each file goes to the row whose start_times / end_times bracket its timestamp. Files that don't match any row land in output_folder/Remote/conflicts/.

Resolving remote-ingest conflicts

Unmatched files don't block the rest of the workflow. The summary dialog shows a Review N unmatched… button if there are any. Or do it later from Tools → Resolve remote-ingest conflicts….

Inside the resolver:

  • A table lists every unmatched file with bulk actions (Leave in conflicts / Move to Bip_trash).
  • Review selected (image viewer)… opens a per-file viewer with the photo, its EXIF timestamp, and four buttons:
  • Assign to row N (← previous in time)
  • Assign to row M (next in time →)
  • Move to trash
  • Skip
  • Open externally sends the file to your default viewer (Preview on macOS, Photos on Windows) for a closer look.

When you assign, BIP moves the raw + JPG pair into the chosen row's output folder, renames to match that row's filename pattern, and records it on the row. Rollback is automatic on failure.

Cards with mixed photo / video folders (Sony, Canon)

Many cameras record video to a folder outside DCIM, separate from the stills:

  • Sony writes clips to a CLIP folder (under PRIVATE/M4ROOT or M4ROOT).
  • Canon cinema bodies (e.g. the EOS R5 Mark II) write XF-AVC / XF-HEVC .MP4 clips to XFVC/REEL_**** and Cinema RAW Light .CRM clips to CRM/REEL_****.

BIP keeps these video folders out of the preview-card list — they aren't a "card position" in any meaningful sense (one folder can hold clips spanning multiple photo runs). Instead, the regular ingest worker timestamp-matches each clip into the right photo run behind the scenes, so every run delivers its stills and the videos shot during it. No extra clicks.

Video-only rows get real times too. When a row's ingest is a single video clip (video-only events), BIP records the clip's capture time and duration as the row's start/end times — so video-only rows show up correctly in the by-day counters and the "Today" totals, just like stills.

Point BIP at the card root, not at DCIM. The video folders sit next to DCIM at the top of the card, so BIP can only find them when you select the card's root volume. (Pointing straight at DCIM still ingests the stills — you just won't pick up the out-of-DCIM videos.)

Team events

If your event needs the same capture in multiple galleries (cutting events, paired rounds, etc.), tick Team event in the run-control panel and pick two or more Gallery columns before ingest. Each row then produces one full set of proofs and video thumbnails per ticked column, named after that column's value. Full mechanics + on-disk layout: Draw sheet → Team events.

Backup

If Backup is enabled in the Settings panel, every ingest first mirrors the source folder(s) to your backup directory, then ingests from the backup copy. This means the original card is read once, and you have a redundant copy before any processing happens.

The backup dialog shows separate progress; on cancel the ingest itself doesn't run.

Disk space and local caching

Before every ingest, BIP checks free space on the volumes it's about to write to — your output folder, your backup folder (when backup is on), and the local cache (when used). It logs the per-volume estimate to the activity log, e.g.:

disk-space check — est. new data ~4.2 GB:
    Output: needs ~5.0 GB, 850.0 GB free — OK (/Volumes/EVENTS)
    Backup: needs ~4.2 GB, 1.2 TB free — OK (/Volumes/BACKUP)

If any volume looks short, BIP warns you before anything is copied. The estimate is approximate (final JPEG sizes vary), so you can Continue anyway or Cancel to free space first. The Disk usage panel gives you a live view of every drive at a glance.

macOS "available" vs actually writable. About This Mac often reports space that is mostly purgeable — space macOS reclaims lazily (old local snapshots, evictable iCloud copies, caches) that may not free up fast enough for a bulk card copy. BIP checks the space the system will actually let it write right now; when the difference matters, the warning explains it and gives you the command to reclaim the purgeable space, and the Disk usage panel shows both figures (e.g. "1.9 TB free (5.0 GB writable now)"). If a backup does hit a full disk mid-copy, BIP asks macOS to free purgeable space and resumes automatically when it can.

Faster ingest from a card (local caching)

Card readers are slow under the heavy parallel access BIP uses, so when backup is disabled BIP offers to cache the card to your internal drive first, then ingest from that fast local copy (and delete it when the ingest finishes). You'll see:

Ingesting directly from the card limits parallel performance… Cache & ingest (faster) / Ingest from card / Cancel

Caching is recommended whenever the internal drive has room. Tick Don't ask again to remember your choice — BIP stores it and stops prompting. When backup is enabled you already get this speed-up for free: the backup copy is local, and BIP ingests from it.

This applies to regular, guided, and remote ingest.

Disk usage panel

The Disk usage dock (right side, on by default; toggle from View → Show disk usage) shows a used/total bar for every attached volume, coloured green when there's plenty of room, amber as it fills, and red when it's nearly full. It refreshes every few seconds, after every ingest, and on demand via its Refresh button — handy for spotting a backup drive that's about to run out mid-event.

Watermark

Set up your watermark via Tools → Configure watermark…. You can have separate presets for stills and videos — each with its own on/off toggle — and disable watermarking entirely from the Settings panel checkbox. Clicking OK saves exactly what the dialog shows, including edits made after your last "Save preset" click.

Three protections keep a bad watermark path from silently producing unwatermarked output:

  • The dialog warns immediately if a preset's image file doesn't exist (a typo'd path, a moved file).
  • Every ingest checks first — regular, guided, and remote. If a configured watermark file is missing, BIP names the exact bad path and asks before proceeding, instead of quietly delivering bare proofs.
  • Watermark images travel inside the .bip. Every save embeds the preset's images into the event file; opening the sheet on another machine restores them automatically. Your event files are fully portable — no more "the watermark lived on the other laptop".

Ratings

Ratings let you pull specific files out of the normal gallery flow based on a star rating you've already applied in-camera (or in Lightroom / Photo Mechanic / any culler that writes ratings into EXIF).

Configure once in Tools → Configure ratings…:

  • Pick which rating value(s) to watch for.
  • Pick a destination folder for matched files.
  • Choose whether to copy or move them there.
  • Set how matched files are processed (watermark, filename pattern, etc.) — independent from the main row's processing.

Then on every ingest, BIP scans incoming files for ratings as it walks them; anything matching your rule is routed to the configured folder and processed under its own rules. The original row's gallery output is unaffected for non-matching files.

Two common uses:

  • Pull keepers for editing — rate 5★ in-camera on the shots you want to retouch; BIP collects them into a keepers/ folder for Lightroom, leaving everything else in the normal gallery.
  • Exclude rejects from galleries — rate 1★ on outtakes; BIP diverts them to a rejects/ folder so they never reach the customer-facing gallery.

Culling after ingest

The Ingest summary dialog has a Cull this pass… button that opens a fast, keyboard-driven viewer over the photos you just ingested — one big preview at a time so you can weed out the misses before anything uploads.

  • → / Space keep · D / Delete cull · ← / U / undo (⌘Z / Ctrl+Z) revert the last decision · O open full-size · Esc close.
  • Culling moves a file to a Bip_trash/culled_… folder inside your output (nothing is deleted — you can always drag it back).
  • By default only the proof JPEG is moved, so culling just decides which proofs get uploaded; your raw stays put. Tick Also move culled raws to trash in the viewer to sweep the raw out too.
  • You can re-open the viewer after closing it (the button stays live), and the summary keeps a running Culled / Images to upload count so you can see what's left to deliver.
  • After a guided re-ingest into the same folders, "Cull this pass" shows only the files from this pass — earlier passes' photos aren't re-offered.

Fixing a mis-assigned photo (guided ingest)

Spot a photo in the wrong competitor's folder while culling a guided pass? Press R (or click ⇄ Reassign row…) to open a searchable row picker. BIP moves the raw + proof into the chosen row's folders, renames them to that row's filename pattern, and updates both rows' records — videos retarget to the video folders automatically. Undoable with U (or ⌘Z / Ctrl+Z) like any other cull decision.

Rating while you cull

Press 1–5 in the cull viewer to set a star rating on the current photo (written to both the raw and the JPEG), or 0 to clear it. If you've set up Tools → Configure ratings…, rating a photo also copies or moves it into the matching rated folder right then — the same routing a rating gets at ingest time (see Ratings). Rating doesn't advance the viewer, so you can rate, look closer, then keep or cull.

Changed your foldering after ingesting? Re-folder

If you reconfigure foldering after rows have already been ingested (added a folder level, switched which column names the galleries), you don't have to re-ingest. Tools → Re-folder ingested files… moves the already-delivered output — Originals, Proofs, Videos, and Video Thumbnails — into the folders your current configuration calls for, and updates every row's records to match.

  • BIP also offers this automatically right after you use Reconfigure foldering, whenever existing output is out of place.
  • One confirmation, then the moves are applied and the .bip is saved — with a one-click Undo on the completion dialog that puts every file back.
  • Rows BIP can't confidently map are skipped with a warning, never moved blind. Rated folders, backups, and anything already uploaded are deliberately left untouched.

Counters and review

After ingest, the View → Show ingest counters panel breaks down what landed where. Combined with the activity log (Save activity log…), it's the fastest way to audit a session.

The panel's sections (by ingest type, by day, and — when Auto-FTP is on — FTP upload progress) are individually collapsible and resizable: click a section's header arrow to collapse it, drag the dividers to give the breakdown you use the most room. BIP remembers your arrangement across events.

Auto-dismiss timings

Three of BIP's "get out of your way" timings are adjustable under Tools → Dialog timeouts… (global — they apply to every event, not per-.bip):

  • Ingest-complete dialog auto-close — how long the progress dialog lingers after a clean run (default 5s).
  • FTP upload dialog auto-close — same, for the upload-progress dialog (default 5s).
  • Post-ingest row highlight — how long a freshly-ingested row stays highlighted before BIP jumps to the next target (default 30s).

Set any value to 0 ("Immediately") to skip the wait entirely, or raise it (up to 600s) if you like more time to read the result.


Related: - Uploads (Auto-FTP) → - Troubleshooting →

Uploads (Auto-FTP)

BIP can deliver proofs automatically after each ingest by pushing them to your gallery host's FTP server — and then watch the server to confirm your site has actually processed every file into its galleries. Configure the server once per machine, toggle it on per event, and the whole chain runs itself: ingest → upload → row-by-row "online" confirmation.

Requires the Pro tier, plus two settings in your foldering configuration: Use sets must be on and folder depth must be at least 1. That's because the upload sends each set folder's contents (your gallery tree for that pass) to the server — without set boundaries there's nothing sensible to scope the upload to. When either setting blocks the feature, the Auto-FTP toggle is disabled with a tooltip telling you exactly what to change.

Configuring Auto-FTP

Tools → Post-ingest upload settings… (or the Configure post-ingest… button on the run-control panel) covers:

  • Host, username, password — your FTP account on the gallery host.
  • Remote directory — the watch folder your site processes uploads from. The Browse… button opens a remote directory manager where you can navigate, create, and delete folders on the server.

These settings are per-machine, not per-event. They're stored once on your Mac/PC and every event uses them — so switching .bip files does not switch servers. What is per-event is the Auto-FTP on/off toggle in the run-control panel.

Auto-upload delay. Each event has an auto_upload_delay_seconds setting. After the ingest summary closes, BIP waits N seconds before kicking off uploads, giving you a chance to abort. Set it to 0 for instant uploads, or higher (e.g. 10) if you regularly change your mind.

What gets uploaded

For every ingest pass, BIP uploads the contents of that pass's set folder — the gallery tree of watermarked proofs and video thumbnails — directly into your remote directory, mirroring the same folder structure your site expects. Raw originals are never uploaded.

How it runs

With the Auto-FTP toggle on, every ingest ends with a non-modal FTP upload progress dialog. You can keep working in BIP — even start the next ingest — while the transfer runs in the background.

If some files fail (network drop, server connection limits), the dialog's Retry failed button re-uploads just the failed files at a gentler pace. BIP also automatically retries individual files several times with increasing back-off before declaring them failed, so a momentary server hiccup usually heals itself.

To re-send a row's files later without re-ingesting, right-click the row(s) in the drawsheet and choose Re-upload … to FTP.

Most gallery hosts (Sytist, for example) run a watch-folder process: it picks each uploaded file out of the FTP folder, adds it to your gallery, and deletes it from the folder. BIP uses that as a confirmation signal — once a file disappears from the watch folder, your site has processed it.

After each upload, BIP checks the server about once a minute and shows progress everywhere you'd want it:

  • Row numbers get a ✓ when every uploaded file for that row has been processed — glance down the sheet and see exactly which competitors are fully online. Hover the row number for partial progress ("Gallery: 12 of 45 uploaded file(s) processed").
  • The status bar shows a live counter — "142 file(s) in 9 folder(s) awaiting gallery" — that disappears when everything's been processed.
  • The Ingest counters panel (View → Show ingest counters) gains an FTP upload section: files uploaded, awaiting gallery, processed by site, and rows fully online.

This tracking is saved in your .bip, so it survives closing BIP — reopen the event tomorrow and it picks up whatever the site processed while you were away. Re-uploading a file simply puts it back in the "awaiting" state until the site consumes it again.

If processing stalls

If files are waiting but the site hasn't processed anything for a couple of minutes, BIP pops a warning — "No FTP files have been processed in the last N minutes… check your watch-folder process" — and repeats it about once a minute until processing resumes. If you trigger your site's processing manually rather than running a watch-folder process, tick Don't remind me again on the warning; BIP will stay quiet and just note stalls once in the activity log.

Clearing the watch folder

Leftovers on the server — from a previous event, or a stalled processing run — can be cleared from inside BIP:

  • Tools → Clear FTP watch folder… scans the remote folder, shows you exactly how many files and subfolders it found, and asks before deleting anything. It only ever deletes the folder's contents, never the folder itself.
  • When you start a new event (File → New, New drawsheet, or New from CSV), BIP quietly checks the watch folder and offers the same clean-up if it finds files left over from before.

If the configured watch folder doesn't exist on the server yet, BIP creates it for you during the check — a freshly set-up machine needs no manual server preparation.


Related: - Troubleshooting →

Order Retrieval

Order Retrieval is a companion app that comes with BIP. Once you've delivered an event's galleries and customers start placing orders, Order Retrieval pulls the exact delivered files for each order back out of your output — organised and ready to edit and hand off — in seconds.

BIP and Order Retrieval share a single master index of everything BIP has delivered, so retrieval is instant and you never have to point it at folders by hand.

Opening it

Tools → Open Order Retrieval launches the app. It installs alongside BIP (one download, one installer), so there's nothing extra to set up.

Order Retrieval is included free with your BIP licence. It checks for an active BIP licence when it starts — if your BIP licence has lapsed, activate or renew it in BIP (Help → Activate license…) and Order Retrieval will open.

How BIP keeps the index current

Order Retrieval searches a master index — a running list of every delivered file and where it lives on disk. BIP keeps that index fed for you:

  • Automatically after each ingest. When Tools → Auto-index output to Order Retrieval after ingest is ticked (the default), BIP folds each event's output folder into the index the moment an ingest finishes. New galleries become retrievable immediately — no manual step.
  • On demand. Tools → Add output folder to Order Retrieval index re-scans the current event's whole output tree and merges it in. Useful after moving files around, or to seed the index for an event that was ingested before you turned the toggle on.

Either way the index lives in the shared ~/.bip config folder, so BIP and Order Retrieval always see the same data. Only deliverables are indexed — proofs, originals, video thumbnails — so retrieval results never surface stray system files or working copies.

Using Order Retrieval

Inside the app:

  • Retrieve Orders — point it at an orders CSV (order number + customer name) and it copies every matching delivered file into a per-order folder structure you design from the CSV's own columns (see Folder structure below).
  • Retrieve Files — type one or more file names (exact, or with * / ? wildcards) to pull specific frames.
  • Retrieve All — match on a customer name / substring to gather everything belonging to that customer.
  • File-type filter — restrict retrieval to the kinds of file you want (e.g. JPEGs only, or include the raws).

Designing the order folder structure

The first time you retrieve orders from a given CSV layout, Order Retrieval asks how you want the per-order folders organised — and remembers it for next time. Re-open it any time with Configure CSV.

In the configuration window:

  • Add folders from columns — click Add ▶ next to any CSV column to make it a folder level (e.g. Region, then Customer).
  • Combine columns — tick combine on two or more columns and give each a position, then Add ▶, to fuse them into one folder name (e.g. First Name + Last NameJohn Smith).
  • Drag to reorder — the folder list on the right is drag-to-reorder; the Folder preview and the Example paths from your CSV update live as you go, so you can see exactly what the tree will look like before you commit.

Retrieved files keep their original names — the structure only controls the folders they land in.

Tip. Because BIP indexes your output automatically, the usual flow is: ingest in BIP → deliver galleries → when orders come in, open Order Retrieval and run Retrieve Orders against the order list. No manual indexing in between.


Related: - Ingest → - Uploads →

Licence Tiers

BIP-4.0 has two licence tiers. Pro includes everything in Basic plus the multi-photographer ingest modes.

Tier Who it's for
Basic Solo photographers shooting smaller events on one machine
Pro Photographers who shoot multi-photographer events (guided + remote ingest)

Feature matrix

Feature Basic Pro
Seats (computers per licence) 4 4
Foldered (regular) ingest
Watermarking, foldering, ratings, EXIF tags
Backup-on-ingest
Draw lookup (master-list auto-fill)
Re-folder ingested files
Order Retrieval
Per-.bip window layout, autocomplete DB
Crash reports, autosave recovery
Auto-FTP after ingest
Gallery upload tracking (row ✓ marks, watch-folder monitor)
Guided ingest
Remote ingest
Ingest counters panel Regular counts only Regular + Guided + Remote counts

Trials. A free 14-day trial gives you the full Pro feature set — guided and remote ingest, Auto-FTP, gallery tracking, all of it — so you can evaluate everything before buying (on one computer). Visit mybip.org or click Start trial in Help → Activate license….

How tier gating shows up in the UI

  • The Guided Ingest… and Remote Ingest… buttons in the run-control panel are greyed out on Basic with a tooltip explaining that Pro is required.
  • The Auto-FTP toggle is likewise greyed out below Pro (and its tooltip also tells you when a settings requirement — Use sets / folder depth — is what's blocking it; see Uploads).
  • The ingest counters panel narrows its breakdown to the modes available to your tier: Basic sees regular only; Pro adds guided + remote.

Where to check your current tier

Help → About BIP-4.0 shows tier, key, and expiration. The Help → Activate license… dialog shows the same info in more detail (machine reference, last-validation timestamp).

Upgrading

Email BIP-Support@mybip.org or visit mybip.org to upgrade. After purchase, paste the new key into Help → Activate license… — the activation call refreshes tier info from the server and unlocks the higher-tier features immediately, no restart needed.

Keyboard Shortcuts

Every shortcut, on both platforms. Where the rest of this guide shows a ⌘ shortcut inline, the Windows equivalent is the same key with Ctrl.

File / window

Action macOS Windows
New blank draw sheet ⌘N Ctrl+N
Open .bip ⌘O Ctrl+O
Save ⌘S Ctrl+S
Save As ⌘⇧S Ctrl+Shift+S
Close window ⌘W Alt+F4
Quit ⌘Q Alt+F4

Editing

Action macOS Windows
Undo ⌘Z Ctrl+Z
Redo ⌘⇧Z Ctrl+Shift+Z
Restore selection (recover a lost multi-row highlight) ⌘⇧R Ctrl+Shift+R
Find ⌘F Ctrl+F
Select all in current widget ⌘A Ctrl+A
Start editing the selected cell Enter / Return Enter
Move horizontally in the sheet Tab / ⇧Tab Tab / Shift+Tab
Cancel current edit Esc Esc

Clipboard (in the drawsheet)

Action macOS Windows
Copy selected rectangle as TSV ⌘C Ctrl+C
Cut — full row(s): remove rows and shift below up; cells: asks "Leave blank" or "Shift cells up" ⌘X Ctrl+X
Paste TSV at active cell, overwrite ⌘V Ctrl+V
Paste TSV, insert rows at active row ⌘⇧V Ctrl+Shift+V
Paste TSV, shift cells down in pasted columns ⌘⌥V Ctrl+Alt+V
Fill the top selected row's values down through the selection ⌘D Ctrl+D

TSV (tab-separated) is the same format Excel and Google Sheets use, so you can copy between BIP and any spreadsheet freely.

Action macOS Windows
Move selection one cell Arrow keys Arrow keys
First / last cell in row Home / End Home / End
Scroll the table by a page Page Up / Page Down Page Up / Page Down
Top / bottom of column ⌘↑ / ⌘↓ Ctrl+Home / Ctrl+End

Ingest

Ingest has no direct keyboard shortcuts — use the run-control panel buttons. But while the Guided Ingest browser is open (same keys on both platforms):

Shortcut Action
← / → Previous / next thumbnail
Space Play / pause video preview
Number keys Assign current file to row N
Enter Confirm assignment and advance
Delete Mark current file as Skip

(See the Guided Ingest dialog for the full list — they're shown inline next to each button.)

Cull viewer

While Cull this pass… (or right-click → Cull row(s)…) is open (same keys on both platforms; ⌘Z is Ctrl+Z on Windows):

Shortcut Action
→ / Space Keep, advance
D / Delete Cull (move proof to trash folder)
← / U / ⌘Z Undo the last decision
1–5 Set a star rating (0 clears)
R Reassign to another row (guided passes)
O Open full-size externally
Esc Close

Conflict resolver

While the per-file conflict viewer is open (same keys on both platforms):

Shortcut Action
Assign to previous-in-time row
Assign to next-in-time row
T Move to trash
S Skip (leave in conflicts/)
O Open externally

Tips

  • Hold Shift while clicking to extend a range; (macOS) / Ctrl (Windows) to add / remove individual cells from a multi-cell selection.
  • Confirmation dialogs (cut cells, delete rows) are keyboard-drivable: Tab or the arrow keys move between the buttons, Space / Return activates the focused one.
  • The fill-down shortcut skips read-only (ingested) cells but still advances its sequence — handy when refilling a column after partial ingest.
  • All editing is undoable, including ingest-driven row reorders. Don't be afraid to experiment.

Troubleshooting

When something goes wrong, BIP gives you four recovery surfaces: autosave, crash reports, conflict resolver, and the nuclear factory reset. This page covers all of them plus the common pitfalls.

BIP crashed — what now?

On the next launch, BIP detects that the previous session ended unexpectedly and offers to send a crash report:

  1. Click Yes at the prompt.
  2. BIP builds a zip under ~/.BIP/crash_reports/ containing the session log, recent error logs, and basic system info.
  3. Your default mail client opens, pre-addressed to BIP-Support@mybip.org.
  4. Finder (macOS) / File Explorer (Windows) reveals the zip — drag it into the email and send.

(BIP can't attach the zip automatically — mailto: links don't support attachments reliably. The mail body includes the zip's path so you can find it if Finder doesn't auto-reveal.)

You can also trigger this manually any time via Help → Report a problem….

I lost work — autosave

BIP autosaves every few minutes to ~/.BIP/autosave/. If your sheet went sideways:

File → Recover from autosave… opens a browser of recent snapshots, sorted newest-first, with timestamps and the original .bip name. Pick one and click Restore.

Files in conflicts/ after remote ingest

Normal — remote ingest can't always place every file. The unmatched files sit in output_folder/Remote/conflicts/ waiting for you.

Resolve them via:

  • The Review N unmatched… button on the ingest summary, or
  • Tools → Resolve remote-ingest conflicts… later.

See Ingest → Resolving remote-ingest conflicts for the per-file viewer walkthrough.

Licence problems

Symptom Fix
"Expired" on launch, can't get in The dialog has Activate + Start trial + Quit. Paste a fresh key, or start a trial if eligible.
Switched machines, old machine still using a seat On the old machine: Help → Activate license… → Clear stored license — from BIP 4.4.2 this also releases the seat on the server (needs the machine online). Old machine dead, offline, or on an older BIP? Free the seat from your Customer Portal → Installations tab instead — that works from anywhere.
Tier is wrong (e.g. Pro showing as Basic) Activate again — the activation call refreshes tier info from the server.
Pasted a new key, BIP still says expired This was a known bug pre-4.0.0 — the new licence dialog wipes stale expiration rows on activation. If it persists, Clear stored license then re-activate.
Offline at an event BIP has a 7-day offline grace. After that, get online to revalidate.

"Configure …" / "Settings …" menu items missing (macOS)

If a Tools-menu item like Configure ratings… seems to be gone on macOS, check the application menu (BIP-4.0 ▸ at the top-left): older builds sometimes pulled items there. This is fixed in current builds — if you see it on an older build, update. (Windows menus are unaffected.)

Stuck panel / can't find a window

View → Reset layout restores default dock positions.

If a dock got "lost" (floating off-screen, etc.), this fixes it.

"Show BIP columns" — what are these?

BIP virtual columns (folder paths, output locations, checksums, ingest state) are hidden by default. Turn them on via View → Show BIP columns when:

  • You want to verify ingest landed where you expected.
  • You're debugging a row that won't ingest.
  • You're sending a support report and want to include them.

Factory reset

If BIP is in a state you can't recover from any other way:

Help → Clear all BIP-4.0 settings…

  • Wipes the app-data folder — ~/.BIP/ on macOS, C:\Users\<you>\.BIP on Windows (autosaves, autocomplete DB, crash reports, settings).
  • Wipes the app preferences — ~/Library/Preferences/com.BIPCustomers.BIP-Qt.plist on macOS, the registry under HKEY_CURRENT_USER\Software\BIPCustomers on Windows (recent files, window layout, first-run flag).
  • Quits the app. Next launch is a true fresh start: first-run wizard, no licence, no recent files.

Strong confirmation gate inside the handler — you'll be asked to confirm before anything is deleted.

Your event files are safe. .bip files live wherever you saved them (your Documents folder, for example) — they aren't in ~/.BIP/ and the factory reset doesn't touch them.

Common pitfalls

  • Card not detected — make sure the DCIM folder in Settings matches your card reader's mount path (a /Volumes/… path on macOS, a drive letter like E:\ on Windows). Eject and re-insert if the system hasn't mounted it.
  • Watermark not applied — check the Disable watermark box in Settings, and the per-kind (stills / videos) toggles in Tools → Configure watermark…. If a watermark file is missing or its path is wrong, BIP warns you at the start of every ingest, naming the exact bad path — so a silent bare-proofs run means the watermark is switched off, not broken.
  • Auto-FTP not firing after ingest — three gates, in order: your tier must be Pro or above; the event must have Use sets on and a folder depth of at least 1 (hover the greyed Auto-FTP toggle — its tooltip names whichever gate is blocking); and the toggle itself must be on for this event. Server settings (host / login / remote folder) are per-machine, so they carry across events — only the toggle is per-.bip.
  • "No FTP files processed…" warning keeps appearing — BIP has uploaded files but your site's watch-folder process hasn't consumed any for several minutes. Check that the process is running on your host. If you trigger processing manually, tick Don't remind me again on the warning — BIP then just notes stalls once in the activity log.
  • Ingest blocked by disk space but the Mac says there's room (macOS) — macOS "available" space often includes purgeable space that can't be freed fast enough for a card copy. BIP's warning shows what's actually writable right now and how to reclaim the rest; the Disk usage panel shows both figures when they differ.
  • Sony CLIP videos missing from a run — they're matched by timestamp. Check the videos' EXIF timestamps fall inside the run's start_times / end_times (turn on Show BIP columns to inspect).

Getting more help

Help → Report a problem… is the fastest path — it bundles the right diagnostic info automatically. Otherwise email BIP-Support@mybip.org directly with:

  • BIP version (Help → About BIP-4.0)
  • Your OS version (Apple ▸ About This Mac, or Windows Settings ▸ System ▸ About)
  • A description of what you did and what happened
  • The activity log if relevant (File → Save activity log…)