Skip to content

QSL Management

Greg Salaun edited this page Sep 28, 2026 · 4 revisions

QSL Management

Tools → QSL Manager. Upload and download confirmations for the online QSL services, and manage paper QSL.


Confirmations — the status every new QSO starts with

Settings → Confirmations. This page does not send anything. It sets the status stamped on each new QSO, per service, at the moment it is logged — by hand, or automatically from WSJT-X / JTDX / MSHV.

Think of it as the starting position of each column in your log. Everything else — the QSL Manager, the automatic uploads, the Select required button — reads those columns and acts on what it finds.

⚠ Sent = Yes means the QSO will NEVER be uploaded

Y does not mean please send it. It means already sent.

A contact stamped Y is finished as far as that service is concerned: the uploader skips it, the QSL Manager does not offer it, and nothing is ever sent for it. Set eQSL Sent to Y here and every QSO you log from that moment on will silently never reach eQSL.

There is no error, because nothing failed — OpsLog did exactly what the column said. The only trace is one line in the application log:

extsvc: QSO 3807 not eligible for eqsl — EQSLSent already "Y"
        (set Confirmations default to N to upload)

If a service has stopped receiving your contacts, this is the first place to look.

What each status means

Meaning Effect on uploads
R — requested Waiting to go out Uploaded ✔
N — no Not sent / not received Uploaded ✔
Q — queued Waiting in a batch Uploaded ✔
Y — yes Already sent / received Skipped for ever ✘
I — ignore Deliberately excluded Skipped
blank No status at all Column stays empty

What OpsLog ships

One rule, for every service: the sent side starts at R (this contact is waiting to go out) and the received side at N (nothing has come back yet).

Paper QSL is the exception on the sent side — it starts at N, because a card is only requested once somebody asks for one.

You only need to change this if you work differently. The common reason is gating: set a service to N and nothing goes out until you select the contacts yourself in the QSL Manager.

Two things worth knowing

  • It is per profile. Your contest callsign can upload to a different set of services from your home one.
  • It applies from now on. Changing a default never touches contacts already in the log — use Bulk edit field (right-click in Recent QSOs) for those.

Services

Service Upload Download confirmations
LoTW ✔ (via TQSL) ✔
QRZ.com ✔ ✔
eQSL ✔ ✔
ClubLog ✔ (batched ADIF) —
HRDLog ✔ —
POTA hunter-log sync ✔ (park tags)
HamQTH ✔ (whole log) —
Cloudlog / Wavelog ✔ —
HAMLOG.online — (see below) ✔ (from a file)
Paper — set sent/received + via

Per service, the things that bite

LoTW. Upload goes through TQSL, ARRL's signer — set its path and your station location in Settings.

  • Force the station callsign overrides STATION_CALLSIGN at sign time, so one certificate can sign several calls (F4BPO, F4BPO/P, TM2Q). Pick the matching Station Location with it.
  • Upload unsent QSOs at close signs and uploads, in one TQSL batch, every QSO whose LoTW sent-status is one of those you list — imported QSOs included. Uploaded ones become Y and are not re-sent. The list must include your default sent status from Confirmations, or nothing is ever picked up.
  • All callsigns on download fetches the confirmations of every call on the account. A QSO made as F4BPO/P or TM2Q is confirmed at LoTW but never reaches an F4BPO profile without it.
  • Station details (grid, state, county) as well as the confirmation makes LoTW about ten times slower to build the report — two minutes against twenty on the same account — and marking a confirmation needs none of it. It is forced on when you add the QSOs not found, which have no other source for those fields.

HamQTH has no partial upload. Sending your log sends the whole thing in one file, and it REPLACES what is on the site — anything on HamQTH that is not in your OpsLog log is gone. OpsLog asks before doing it.

Cloudlog / Wavelog are self-hosted, so give the address of your instance (an IP is fine on a LAN). The API key is made under Account → API Keys and must be read/write; the station ID is the number of the station location the QSOs are filed under, from the Station Locations page. The server rejects duplicates, so re-sending a QSO is harmless.

POTA updates your QSOs with the park reference from your pota.app hunter log. It needs a session token: log in at pota.app, open the browser DevTools → Network, click any api.pota.app request, and copy the whole Authorization header value. The token expires after a while — copy it again if the sync fails. Then run the sync from the QSL Manager tab, where unmatched QSOs can be seen and fixed.

HAMLOG.online no longer issues API keys, so uploading is not possible. Confirmations can still be imported from a file: export your log as ADIF from their site, then read it in QSL Manager → HAMLOG.online → Import confirmations. They are stamped on QSOs already in the log — nothing is ever added. What the import could not attach can be written out as its own ADIF: each of those is a contact HAMLOG.online believes it holds and this log does not confirm — a minute of drift, a portable call, a band written differently, or a QSO genuinely missing.

HRDLog can also publish your live frequency, mode and rig on the site while the radio is readable, refreshed every two minutes. It needs the callsign and upload code.

Deleting remotely. There is an option to withdraw a QSO from the services when you delete it here. QRZ.com can only delete records OpsLog uploaded itself; older ones have to be removed on the website.

Uploading

Pick a service, find the QSOs (by callsign or a filter), select and upload. Bulk edit field (right-click in Recent QSOs) flips a batch's upload status to Requested first, if you gate uploads that way.

Automatic upload on a new QSO is per service, and so is its timing: immediately, or after a 1–2 minute delay so a mis-logged QSO can still be fixed before it leaves.

Downloading confirmations

Pick a service and a date window (All / Since last download / a date), then Download confirmations. OpsLog matches each confirmation to your log (call + minute + band + mode), stamps it (LOTW_RCVD, EQSL_RCVD, QRZ download…), and optionally adds not-found QSOs. Downloading auto-refreshes the award stats.

  • LoTW and paper QSL are the award-valid confirmations for ARRL awards; eQSL / QRZ count only against their own confirmations.
  • LoTW upload goes through TQSL (ARRL's signer) — set the TQSL path and station location in Settings.

Paper QSL: sent, received, and how

The QSL Manager's paper form sets four things on a batch at once — the sent status and date, the received status and date — plus how the card travelled, in each direction.

Two ADIF fields are involved and they are not the same thing:

Field Holds Example
QSL_VIA the manager's callsign M0OXO
QSL_SENT_VIA / QSL_RCVD_VIA how the card travelled — an enumeration B bureau · D direct · E electronic

Some loggers write the routing into the manager field, and OpsLog's own older versions wrote the words "Bureau" / "Direct" / "Electronic" there too. If your log has a mixture, OpsLog offers a repair — it tells you how many QSOs are affected before it changes anything, and it only moves values that are unmistakably a routing method (a manager is a callsign, never one of those six words).

On import, the two fields are kept apart and nothing is invented: a file without a routing gives an empty routing. If you see E on every imported QSO it came from the file — Log4OM writes QSL_SENT_VIA:E on every record whether a card was ever sent. To clear them, filter the imported QSOs and use Bulk edit field with an empty value (Recent QSOs and Filters).

Confirmed means Y or V

A LoTW confirmation can come back as V (verified) rather than Y. Both count as confirmed — in the awards, the band/mode matrix, the slot statistics, the row colours and the QSL Info tab alike.

E-mail eQSL

Right-click a QSO → Send eQSL by e-mail via the configured SMTP account. The QSL Card Designer card is rendered with that QSO's data and sent to the address found by the QRZ/HamQTH lookup.

Outlook/Hotmail disable basic-auth SMTP — use Gmail with an app password, or a Microsoft app password.

Clone this wiki locally