---
title: "Extbase in backend modules"
manual: "TYPO3 Explained"
version: "main"
permalink: "https://docs.typo3.org/permalink/t3coreapi:extbase-no-frontend-backend-module@main"
source: "ExtensionArchitecture/Extbase/NoFrontendContext/BackendModule.rst"
rendered: "2026-09-26T10:15:30+00:00"
---

# Extbase in backend modules {#extbase-no-frontend-backend-module}

> [!NOTE]
> This page is a work in progress. Content will be added as part of the
> Extbase documentation overhaul.

A backend module gives editors and administrators a place to work with an
extension's own data: reviewing submissions, maintaining records that have no
frontend form, running reports over the domain model. It is the natural home
for everything an extension needs to offer beyond its frontend output.

Extbase supports this directly. The backend establishes its own request and
configuration, and Extbase has a dedicated code path for it, so the domain
models, repositories and validators an extension already has can be reused in
a module without rewriting them against a lower-level API.

The essentials:

-   Registration is a separate topic and is already documented. See
    [Registering an Extbase backend module](https://docs.typo3.org/permalink/t3coreapi:extbase-registration-backend-module@main).
-   Configuration
    comes from `module.tx_<extension>` rather than
    `plugin.tx_<extension>`.
-   The storagePid is resolved differently than in the frontend. See
    [Resolving the storagePid in a backend module](https://docs.typo3.org/permalink/t3coreapi:extbase-persistence-storagepid-backend@main).
-   Language handling differs as well, and depends on whether the module works
    with a page tree. See [Localization in backend modules](https://docs.typo3.org/permalink/t3coreapi:extbase-localisation-no-frontend-backend@main).

> [!NOTE]
> **See also**
>
> [Localization outside the frontend](https://docs.typo3.org/permalink/t3coreapi:extbase-localisation-no-frontend@main)
> for the language side of running Extbase outside the frontend.
