Picnic Unofficial is an independent Ubuntu Touch client for the Picnic online supermarket.

This application is not affiliated with, endorsed by, or supported by Picnic.

Features:

- Sign in with a Picnic account and SMS two-factor authentication
- Netherlands, Germany and France account regions
- Search Picnic products with search suggestions while typing
- Browse Picnic categories and subcategories directly in Shop
- Tap Shop or Reorder products for a product-details page
- Hide products locally from search and category browsing, with a setting to temporarily show and unhide them
- Back up and restore non-secret configuration through Content Hub, including hidden products, for easy phone migration
- Product descriptions plus ingredients, nutritional information, storage, country of origin, supplier and other information when Picnic provides it
- Readable nutritional-value tables and emphasized labels for storage, origin, supplier and other extra product information
- Add exactly one product from the details page, including as an exception to the usual Reorder quantity
- Reorder products from up to 12 recent completed deliveries using current Picnic product information where available
- Forget individual products from the local Reorder list
- Smart fill recurring groceries from recent delivery history after explicit confirmation
- Previous deliveries with date, time, status, total and product details
- Add products from an old delivery back to the current cart using the historical quantity
- Spending insights with monthly graph/table views, year comparison, full-screen views and a recent-history weekly-budget estimate
- Optional JSON order export to the app's confined data directory
- Shopping-cart refresh, quantity changes, clear-cart support and retained cart scroll position
- Select an available delivery slot
- Add a new order to an already scheduled Picnic delivery when Picnic accepts the existing reserved slot
- Checkout for accounts whose configured payment method is automatic direct debit
- Explicit confirmation before an order or additional order is submitted
- Add known Picnic delivery windows to Ubuntu Touch Calendar through Content Hub
- Show a Calendar action directly on Checkout after a completed order or completed additional order when Picnic exposes the resulting delivery window
- Persistent light and dark mode
- No analytics, advertising or developer-operated cloud service

Smart fill is history based and cannot know what you actually need. It uses recurring purchases from up to 12 recent completed deliveries, preserves everything already in the cart and asks for confirmation before adding anything. Review the cart before checkout.

Product details come from Picnic's product-details page API. The exact information varies by product and country. Ingredients, nutrition, storage, origin, supplier, allergens and other sections are shown when Picnic includes them.

Reorder refreshes Picnic's current product information where available. Smart fill deliberately does not filter recurring products based on current availability or price because Picnic's own availability information may be incomplete until cart/checkout time. Missing or unknown product metadata therefore does not stop Smart fill from attempting to add a recurring product. As a display failsafe, any single-item price above EUR 100 is treated as invalid API data and shown as `Price unknown`; this display rule does not affect Smart fill.

For Calendar, open Previous orders from the hamburger menu and tap Calendar on any delivery with a known delivery window. After a successful checkout, Calendar is also shown directly on Checkout once the submitted order can be resolved to a delivery window. The app creates an `.ics` event and hands it to Ubuntu Touch Content Hub; choose Calendar as the destination.

The account password is not stored. The Picnic authentication key is saved inside the application's confined settings so the session can survive app restarts. Previous-order and product-detail data are not kept as separate permanent local databases.

Checkout uses the payment method already configured in the Picnic account. Only automatic direct debit is supported; external bank-app payment flows such as iDEAL/Wero are not implemented. Configure direct debit in the official Picnic app first.

Add to current delivery attaches a new cart/order to the slot of an already scheduled Picnic delivery. Picnic decides whether the existing slot can still accept additions; the app does not override Picnic cutoff or availability rules.

The Picnic API integration is based on the open-source MRVDH/picnic-api reverse-engineering project. Picnic's backend API is private and undocumented, so a Picnic backend update can break this application.

The implementation and detailed design decisions are documented in README.md in the source archive.

This app was vibe coded using an AI.

MIT No Attribution

Copyright 2026 Barry de Graaff

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is furnished
to do so.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
