{"id":1678,"date":"2026-01-03T09:34:54","date_gmt":"2026-01-03T08:34:54","guid":{"rendered":"https:\/\/sp4thk.elfro.pl\/?page_id=1678"},"modified":"2026-01-03T14:16:39","modified_gmt":"2026-01-03T13:16:39","slug":"import-and-export-qso","status":"publish","type":"page","link":"https:\/\/sp4thk.elfro.pl\/index.php\/en\/logbook-2\/import-and-export-qso\/","title":{"rendered":"Import and Export QSO"},"content":{"rendered":"\n<p>The Logbook can <strong>import ADIF files<\/strong> from other applications.<\/p>\n\n\n\n<p>It is also possible to <strong>export selected logs to ADIF files<\/strong>.<br>Unlike many other programs, the export process takes into account the requirements of programs such as <strong>POTA<\/strong>, <strong>SOTA<\/strong>, and others.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">\ud83d\udce5 <strong>Import data from ADIF files<\/strong><\/p>\n\n\n\n<p>After selecting the log import option, a dialog window will open:<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69d7563754a3a&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69d7563754a3a\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"681\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/sp4thk.elfro.pl\/wp-content\/uploads\/2026\/01\/importEN-1024x681.png\" alt=\"\" class=\"wp-image-1729\" srcset=\"https:\/\/sp4thk.elfro.pl\/wp-content\/uploads\/2026\/01\/importEN-1024x681.png 1024w, https:\/\/sp4thk.elfro.pl\/wp-content\/uploads\/2026\/01\/importEN-300x200.png 300w, https:\/\/sp4thk.elfro.pl\/wp-content\/uploads\/2026\/01\/importEN-768x511.png 768w, https:\/\/sp4thk.elfro.pl\/wp-content\/uploads\/2026\/01\/importEN.png 1048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Powi\u0119ksz\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p>First, you need to select the <strong>template type<\/strong>.<br>Data from different programs store additional values in different ADIF fields, and sometimes these fields overlap.<br>By selecting a template, you define how <strong>park, summit<\/strong>, and similar data should be interpreted.<\/p>\n\n\n\n<p>Next, use the <strong>\u201c\u2026\u201d<\/strong> button to select the file to import and specify the <strong>date range<\/strong> you are interested in.<br>For example, <strong>JTDX<\/strong> stores all QSOs, including those from weeks or months ago, while you may only be interested in QSOs from <strong>today\u2019s activation<\/strong>.<br>In this case, select the appropriate date range option.<\/p>\n\n\n\n<p><strong>Frequency<\/strong><br>Frequencies are usually stored in <strong>megahertz (MHz)<\/strong>, but if for some reason a different unit is used, it can be specified here.<\/p>\n\n\n\n<p><strong>Add default data (Park, Summit, etc.)<\/strong><br>If park, summit, or similar data has been entered in the main log window and is <strong>missing from the imported log<\/strong>, it will be added to the imported QSOs.<\/p>\n\n\n\n<p>For example, logs from <strong>JTDX<\/strong> do not contain park information.<br>By enabling this option, the program will automatically fill in the required data.<\/p>\n\n\n\n<p>If the ADIF file contains <strong>errors or missing fields<\/strong>, all data that can be interpreted will still be imported.<br>After the import, the data should be <strong>reviewed<\/strong>.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">\ud83d\udce4 <strong>Export data to ADIF files<\/strong><\/p>\n\n\n\n<p>The export window looks as follows:<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69d7563754f9d&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69d7563754f9d\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"629\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/sp4thk.elfro.pl\/wp-content\/uploads\/2026\/01\/exportEN-1024x629.png\" alt=\"\" class=\"wp-image-1733\" srcset=\"https:\/\/sp4thk.elfro.pl\/wp-content\/uploads\/2026\/01\/exportEN-1024x629.png 1024w, https:\/\/sp4thk.elfro.pl\/wp-content\/uploads\/2026\/01\/exportEN-300x184.png 300w, https:\/\/sp4thk.elfro.pl\/wp-content\/uploads\/2026\/01\/exportEN-768x472.png 768w, https:\/\/sp4thk.elfro.pl\/wp-content\/uploads\/2026\/01\/exportEN.png 1187w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Powi\u0119ksz\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p>Here, you also need to select a <strong>template<\/strong>.<br>These are different templates than those used only to define the program name.<br>You can manage them by clicking <strong>Manage templates<\/strong>.<\/p>\n\n\n\n<p>The remaining options are <strong>self-explanatory<\/strong> based on their names.<\/p>\n\n\n\n<p>The <strong>Remove duplicates<\/strong> option checks whether the same callsign already exists in the list.<br>If it does, the program then verifies whether the <strong>park\/summit references<\/strong> and other related fields match before deciding whether to skip the entry.<br>Additionally, <strong>frequency, band, and date<\/strong> are checked.<br>Only if <strong>all of these values match<\/strong> is the record considered a duplicate and excluded from export.<\/p>\n\n\n\n<p>Duplicates are <strong>not removed from the logbook<\/strong> \u2014 they are <strong>only skipped during export<\/strong>.<\/p>\n\n\n\n<p>If you worked with <strong>multiple programs simultaneously<\/strong>, the export should be performed <strong>separately for each program<\/strong>, selecting the appropriate template each time.<\/p>\n\n\n\n<p><strong>Park-to-park and multi-park operation<\/strong><\/p>\n\n\n\n<p>If QSOs were made from <strong>multiple parks at the same time<\/strong>, or if you are contacting a station operating from <strong>multiple parks<\/strong>, these references should be entered in the appropriate fields <strong>separated by commas<\/strong>.<br>The program will then automatically <strong>split the data into multiple files<\/strong> and\/or <strong>duplicate QSOs as required<\/strong>.<\/p>\n\n\n\n<p>The general rule is that <strong>one QSO equals one logbook record<\/strong>, which may contain data for <strong>multiple parks and programs<\/strong>.<br>By selecting the export method, you decide whether the result will be:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>a <strong>single ADIF file with one record<\/strong>, or<\/li>\n\n\n\n<li>data that is <strong>processed, split, and duplicated<\/strong> as needed.<\/li>\n<\/ul>\n\n\n\n<p>For example, if you are operating from two parks and enter during the QSO:<br><code>PL-1234, PL-4567<\/code><br>then during export, <strong>two ADIF files<\/strong> will be created \u2014 one for <strong>PL-1234<\/strong> and one for <strong>PL-4567<\/strong> \u2014 each containing the relevant QSOs.<\/p>\n\n\n\n<p>If you contact a station operating from two parks, for example:<br><code>PL-4321, PL-2345<\/code>,<br>then this QSO will be saved as <strong>two separate QSOs<\/strong> \u2014 one for <strong>PL-4321<\/strong> and one for <strong>PL-2345<\/strong> \u2014 within the <strong>same ADIF file<\/strong>.<\/p>\n\n\n\n<p>If <strong>you are operating from multiple parks<\/strong> and you contact a station that is also operating from <strong>multiple parks<\/strong>, multiple files will be created \u2014 <strong>one file for each of your parks<\/strong>.<br>In each of these files, the multi-park contact will be <strong>duplicated as many times as the number of parks used by your correspondent<\/strong>.<\/p>\n\n\n\n<p><strong>Example QSO:<\/strong><br>3 parks to 4 parks<\/p>\n\n\n\n<p>This will result in <strong>3 files<\/strong>, each containing <strong>4 QSOs<\/strong>, giving a total of <strong>12 QSOs<\/strong> across all generated logs.<\/p>\n\n\n\n<p>After clicking <strong>Start<\/strong>, the files will be generated and saved to the <strong>selected folder<\/strong>.<br>Inside this folder, a subdirectory with the <strong>template name<\/strong> will be created, and the files will be placed there.<\/p>\n\n\n\n<p>File names are generated automatically using the following format: yourCallsign@parkName-QSOdate.adi Example: <code>SP4THK@PL-0313-20240216.adi<\/code><\/p>\n\n\n\n<p>If the directory already exists, all existing ADIF files will be <strong>renamed<\/strong> instead of overwritten.<\/p>\n\n\n\n<p>For example, if<br><code>SP4THK@PL-0313-20240216.adi<\/code> already exists,<br>it will be renamed to<br><code>SP4THK@PL-0313-20240216.adi_old_1<\/code>.<\/p>\n\n\n\n<p>If that file also exists, the number is incremented (<code>_old_2<\/code>, <code>_old_3<\/code>, etc.) until a free name is found.<\/p>\n\n\n\n<p>Thanks to this mechanism, the program <strong>never deletes or overwrites existing files<\/strong>, and all previous data can always be recovered.<\/p>\n\n\n\n<p class=\"has-medium-font-size\">\ud83e\udde9 <strong>Template Management<\/strong><\/p>\n\n\n\n<p>After clicking this button, the <strong>template editor window<\/strong> will appear.<br>These templates apply <strong>only to export<\/strong> \u2014 they are <strong>not required for import<\/strong>.<\/p>\n\n\n\n<figure data-wp-context=\"{&quot;imageId&quot;:&quot;69d7563755556&quot;}\" data-wp-interactive=\"core\/image\" data-wp-key=\"69d7563755556\" class=\"wp-block-image size-large wp-lightbox-container\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"626\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/sp4thk.elfro.pl\/wp-content\/uploads\/2026\/01\/exportTemplateEN-1024x626.png\" alt=\"\" class=\"wp-image-1734\" srcset=\"https:\/\/sp4thk.elfro.pl\/wp-content\/uploads\/2026\/01\/exportTemplateEN-1024x626.png 1024w, https:\/\/sp4thk.elfro.pl\/wp-content\/uploads\/2026\/01\/exportTemplateEN-300x183.png 300w, https:\/\/sp4thk.elfro.pl\/wp-content\/uploads\/2026\/01\/exportTemplateEN-768x469.png 768w, https:\/\/sp4thk.elfro.pl\/wp-content\/uploads\/2026\/01\/exportTemplateEN.png 1131w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><button\n\t\t\tclass=\"lightbox-trigger\"\n\t\t\ttype=\"button\"\n\t\t\taria-haspopup=\"dialog\"\n\t\t\taria-label=\"Powi\u0119ksz\"\n\t\t\tdata-wp-init=\"callbacks.initTriggerButton\"\n\t\t\tdata-wp-on--click=\"actions.showLightbox\"\n\t\t\tdata-wp-style--right=\"state.imageButtonRight\"\n\t\t\tdata-wp-style--top=\"state.imageButtonTop\"\n\t\t>\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewBox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\" \/>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure>\n\n\n\n<p>It is worth reviewing the <strong>built-in templates<\/strong> before creating your own.<br>It is also highly recommended to become familiar with how <strong>ADIF files<\/strong> are structured.<\/p>\n\n\n\n<p>In short, ADIF files are similar to <strong>XML files<\/strong>.<br>They consist of field names starting with the <code>&lt;<\/code> character, for example <code>&lt;call<\/code>, followed by a colon and the <strong>length of the value<\/strong>, and then the <code>&gt;<\/code> character, e.g. <code>&lt;call:6&gt;SP4THK<\/code>.<\/p>\n\n\n\n<p>This is followed by a space or a newline and the next record element, such as <strong>date<\/strong>, <strong>time<\/strong>, <strong>signal report<\/strong>, etc.<br>At the end of the entire record, the <code>&lt;eor&gt;<\/code> tag indicates the <strong>end of record<\/strong>.<\/p>\n\n\n\n<p>For easier viewing, using the default templates, the program saves <strong>one QSO per line<\/strong>, for example:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;call:6>SP4THK &lt;name:15>Tomasz Fronczek &lt;country:6>Poland ... &lt;eor><\/code><\/pre>\n\n\n\n<p>In a template, <strong>each macro must be placed on a separate line<\/strong>.<\/p>\n\n\n\n<p>If a given macro does not exist in the record (for example <code>[#theirRef]<\/code> is empty), the <strong>entire line will be omitted<\/strong>.<\/p>\n\n\n\n<p>Thanks to this, a useful trick can be applied, for example in the <strong>WWFF<\/strong> program:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;S]&lt;sig:4>WWFF&#91;S]&lt;sig_info:&#91;LNG]>&#91;#theirRef]<\/code><\/pre>\n\n\n\n<p>If <code>[#theirRef]<\/code> is empty, the <strong>WWFF entry will not be written either<\/strong>.<\/p>\n\n\n\n<p><code>[S]<\/code> represents a <strong>space<\/strong> and is required because the program removes leading and trailing whitespace before analysis.<\/p>\n\n\n\n<p><code>[LNG]<\/code> specifies the <strong>length of the value<\/strong>, for example <code>SP4THK<\/code> has a length of <strong>6<\/strong>.<\/p>\n\n\n\n<p><code>[ENT]<\/code> represents <strong>Enter<\/strong> \u2014 a new line.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Logbook can import ADIF files from other applications. It is also possible to export selected logs to ADIF files.Unlike many other programs, the export process takes into account the requirements of programs such as POTA, SOTA, and others. \ud83d\udce5 Import data from ADIF files After selecting the log import option, a dialog window will [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":531,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1678","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/sp4thk.elfro.pl\/index.php\/wp-json\/wp\/v2\/pages\/1678","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sp4thk.elfro.pl\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sp4thk.elfro.pl\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sp4thk.elfro.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sp4thk.elfro.pl\/index.php\/wp-json\/wp\/v2\/comments?post=1678"}],"version-history":[{"count":4,"href":"https:\/\/sp4thk.elfro.pl\/index.php\/wp-json\/wp\/v2\/pages\/1678\/revisions"}],"predecessor-version":[{"id":1737,"href":"https:\/\/sp4thk.elfro.pl\/index.php\/wp-json\/wp\/v2\/pages\/1678\/revisions\/1737"}],"up":[{"embeddable":true,"href":"https:\/\/sp4thk.elfro.pl\/index.php\/wp-json\/wp\/v2\/pages\/531"}],"wp:attachment":[{"href":"https:\/\/sp4thk.elfro.pl\/index.php\/wp-json\/wp\/v2\/media?parent=1678"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}