diff --git a/dlv_fleetflow_base/CHANGELOG.md b/dlv_fleetflow_base/CHANGELOG.md
new file mode 100644
index 0000000..89f6cf3
--- /dev/null
+++ b/dlv_fleetflow_base/CHANGELOG.md
@@ -0,0 +1,14 @@
+# Changelog
+
+All notable changes to this project will be documented in this file.
+
+The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
+and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+
+## [1.0.0] - 2026-06-14
+
+### Added
+- Initial release.
+- FleetFlow entry in the Odoo Settings sidebar (Settings → FleetFlow).
+- Empty notebook foundation for feature addon tabs.
+- Owned by `dlv_fleetflow_base`, never uninstalled directly.
diff --git a/dlv_fleetflow_base/README.md b/dlv_fleetflow_base/README.md
new file mode 100644
index 0000000..d33bae4
--- /dev/null
+++ b/dlv_fleetflow_base/README.md
@@ -0,0 +1,64 @@
+# dlv_fleetflow_base
+
+## Overview
+
+`dlv_fleetflow_base` is the foundation addon for all FleetFlow-branded addons.
+It permanently owns the **FleetFlow** entry in the Odoo Settings sidebar
+(Settings → FleetFlow) and provides an empty settings block that feature addons
+extend. It contains no models and no business logic — its only job is to give
+every `dlv_fleetflow_*` addon a single, shared place to live in Settings.
+
+## How it works
+
+This addon inherits the standard configuration form
+(`base_setup.res_config_settings_view_form`) and injects a FleetFlow
+`app_settings_block` carrying `data-key="dlv_fleetflow_base"` and an empty
+``. It also creates the **FleetFlow** menu entry and the action that
+opens Settings directly on that block.
+
+Feature addons (`dlv_fleetflow_*`) never create their own Settings entry.
+Instead, each one adds a tab by inheriting the same base configuration form and
+targeting the shared notebook with an xpath:
+
+```
+//div[@data-key='dlv_fleetflow_base']//notebook
+```
+
+Because every feature addon depends on `dlv_fleetflow_base`, its view is loaded
+first, so the notebook exists when the feature addon's xpath runs. The result is
+one FleetFlow settings page with one tab per installed feature addon.
+
+## Adding a new FleetFlow addon
+
+1. Add `dlv_fleetflow_base` to your addon's `depends`.
+2. Inherit the base configuration form and add a `` to the shared
+ notebook:
+
+```xml
+
+ res.config.settings.view.form.inherit.my.addon
+ res.config.settings
+
+
+
+
+
+
+
+
+
+```
+
+3. That's it — your tab appears under Settings → FleetFlow alongside the others.
+
+## Dependencies
+
+- `base`
+- `base_setup`
+
+## Installation
+
+Install `dlv_fleetflow_base` **first**, before any other `dlv_fleetflow_*`
+addon. It is a permanent dependency: do **not** uninstall it while any FleetFlow
+feature addon is still active, or those addons will lose their Settings tab and
+fail to load their configuration views.
diff --git a/dlv_fleetflow_base/__init__.py b/dlv_fleetflow_base/__init__.py
new file mode 100644
index 0000000..40a96af
--- /dev/null
+++ b/dlv_fleetflow_base/__init__.py
@@ -0,0 +1 @@
+# -*- coding: utf-8 -*-
diff --git a/dlv_fleetflow_base/__manifest__.py b/dlv_fleetflow_base/__manifest__.py
new file mode 100644
index 0000000..fd6596d
--- /dev/null
+++ b/dlv_fleetflow_base/__manifest__.py
@@ -0,0 +1,18 @@
+# -*- coding: utf-8 -*-
+{
+ "name": "FleetFlow Base",
+ "summary": "Foundation for all FleetFlow addons — owns the Settings menu entry",
+ "author": "bv Domus La Vila",
+ "website": "https://domuslavila.eu",
+ "category": "Technical",
+ "version": "16.0.1.0.0",
+ "license": "LGPL-3",
+ "depends": ["base", "base_setup"],
+ "data": [
+ "views/res_config_settings_views.xml",
+ "views/menus.xml",
+ ],
+ "installable": True,
+ "application": False,
+ "auto_install": False,
+}
diff --git a/dlv_fleetflow_base/views/menus.xml b/dlv_fleetflow_base/views/menus.xml
new file mode 100644
index 0000000..27069b7
--- /dev/null
+++ b/dlv_fleetflow_base/views/menus.xml
@@ -0,0 +1,18 @@
+
+
+
+
+ FleetFlow
+ res.config.settings
+ form
+ inline
+ {'module': 'dlv_fleetflow_base'}
+
+
+
+
+
diff --git a/dlv_fleetflow_base/views/res_config_settings_views.xml b/dlv_fleetflow_base/views/res_config_settings_views.xml
new file mode 100644
index 0000000..c40be33
--- /dev/null
+++ b/dlv_fleetflow_base/views/res_config_settings_views.xml
@@ -0,0 +1,19 @@
+
+
+
+
+ res.config.settings.view.form.inherit.fleetflow
+ res.config.settings
+
+
+
+
+
FleetFlow
+
+
+
+
+
+
+