Installing and first steps
From the purchase in the JTL Extension Store to the first published battery passport with its QR code.
Produktpass helps you with the battery passport and the battery QR code under Regulation (EU) 2023/1542. The plugin's texts, templates and notes are not legal advice. You remain responsible for your duties and for the accuracy of your data. For a binding answer on your own case, ask a lawyer.
Installing
Produktpass runs on JTL-Shop 5.6, 5.7 and 5.8 and PHP 8.2 to 8.4 (JTL-Shop 5.7 and 5.8 run only on PHP 8.3 or newer), with MariaDB or MySQL, and with the NOVA template or a child template of NOVA.
- Buy or test Produktpass in the JTL Extension Store.
- In your shop's backend, open "Plug-ins > My purchases" and link the purchase with your shop.
- Click "Install" there next to Produktpass.
- You then find Produktpass under "Plug-ins > Installed plug-ins > Produktpass" with the pages "Overview", "Passports", "Passport editor", "Import", "Wawi mapping", "QR codes and labels", "Settings" and "Help".
Set up JTL-Shop's cron if it is not running yet: it maps values from JTL-Wawi, checks the passports every night and works through large imports and serial batches. Hourly is enough. Without the cron, the pages offer a button that does the next step at once.
Settings and the responsible operator
Under "Settings" you enter what appears on every public passport page:
- Responsible operator: the name and postal address of whoever places the batteries on the market. Without them no passport can be published.
- Contact e-mail for restricted data: the address that persons with a legitimate interest and authorities write to. It is needed for publishing too.
- Fallback order of the languages: which language a passport page shows when a value is missing in the visitor's language: first your shop's default language, then English, then German.
- Address of the passports (resolver base): the default is
https://your-shop.com/dpp. An address of your own (at most 53 characters) must point to this shop; the plugin checks it before taking it. Earlier addresses redirect, so that printed codes keep working. - Publish automatically: off (default). Switched on, the Wawi mapping publishes a completely filled passport without your check.
- Position of the passport badge on the product page: after the product facts (default), after the price, after the basket button, as a tab of its own, or off.
- Serve passport pages while the shop is in maintenance mode: on (default), so that printed codes answer then too.
- I waive the backup: see Uninstalling.
Creating a passport
- Open "Passports" and search for the battery by name, product number or GTIN.
- Answer the battery's category and, for an industrial battery, its energy in kWh. That gives the template: "T-BAT-PASS" (battery passport) for LMT batteries, industrial batteries above 2 kWh and electric-vehicle batteries, otherwise "T-BAT-INFO" (battery information page with a QR code).
- Choose the level: model (one passport for all batteries of the product), batch or individual battery.
Variants show their parent product's passport under their own GTIN; you enter differing values (such as another weight) at the variant with "Own value for this variant". You create many passports at once with the CSV import or the Wawi mapping.
Filling in and publishing the passport
- Every field has a value, is "not applicable" (with a reason) or is still open. Next to every field it says what it means and which article of the regulation asks for it.
- You upload documents such as the declaration of conformity as PDF, PNG or JPEG up to 20 MB.
- The six waste-information texts (Art. 74(1)(a) to (f)) are filled in as drafts. Check each one and confirm it; until then the passport cannot be published.
- "Preview" shows the public page with your working values before you publish.
- "Publish" stores a version that never changes again, with a checksum. Later changes stay unpublished until you publish again. "Withdraw" keeps the address with a note.
The public page shows only the public information (Annex XIII No. 1). Information for persons with a legitimate interest and for authorities does not appear there; they get it through the contact e-mail address.
QR codes and labels
- Under "QR codes and labels" you download the code of every published passport as SVG or as PNG at 600 dpi.
- The minimum print size is 20 × 20 mm including the white margin; print the PNG at 100 %.
- The print sheet sets up to 24 codes on an A4 page (3 × 8 labels of 70 × 37 mm).
- For individual batteries you create a serial batch: up to 10,000 serial numbers at once, as a ZIP file with one SVG file per serial number and a CSV file with GTIN, serial number and address.
- Under a test licence, codes and print sheets carry the word "TESTLIZENZ". Print codes for your goods with the paid licence.
The overview
The "Overview" counts the days to 18.02.2027 and shows every product with its state: no passport, incomplete, ready, published or withdrawn. A click on the open points opens the passport editor at the first of them. Under "Categories in the overview" you choose your batteries' categories, so that the products without a passport appear too. "Publish all ready drafts" publishes every draft without an open point.
When the licence ends
- All published passport pages, documents and QR addresses stay available.
- You can view and export everything; editing, importing, the Wawi mapping and publishing are locked until you renew.
- Every page of the plugin shows a red note with a link to the JTL Extension Store.
Keep the plugin active. A plugin that you disable with an expired licence is listed by the plug-in manager under "Issues", and with it the passport pages are offline. After the renewal, click "disable" in the "Issues" tab and then "Enable" in the "Disabled" tab; all data is back. When a test licence ends, JTL-Shop disables the plugin itself.
Uninstalling and keeping the data
Printed codes cannot be called back. That is why Produktpass deletes its tables and files only if you ticked "I waive the backup" under "Settings" or exported all passports under "Import" after the last change. Otherwise they stay, even if deleting the tables is ticked in the dialog "Uninstalling the plug-in"; a new installation finds them again. A waiver holds only until passports change after it.
What the web server must allow and block
The passport pages are at https://your-shop.com/dpp/… and are served by JTL-Shop itself. They set no cookies and load nothing from other servers.
- Serial numbers with a slash appear in the address as
%2F. Apache refuses such addresses without the settingAllowEncodedSlashes NoDecodein the VirtualHost; the print sheet and the serial batches then warn. Ask your host for this setting, or avoid slashes in serial numbers. - Blocked folders: documents, uploaded CSV files and QR batches are in
mediafiles/ab_produktpass/with the subfoldersimports/andqr-batches/. Apache blocks them with the.htaccessthat the plugin puts there. - nginx reads no
.htaccess. Block the folder there in your shop's configuration, before the rule that passes PHP files on (if the shop is in a subfolder, put its path in front):
Then check thatlocation ^~ /mediafiles/ab_produktpass/ { deny all; }https://your-shop.com/mediafiles/ab_produktpass/imports/answers with 403 or 404.
Support
Write to support@extensionfoundry.com with the versions of JTL-Shop and Produktpass (under "Help" in the plugin) and, if there are any, Produktpass's entries under "Troubleshooting > Log". Send no access data.