> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vortexiq.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Installed Extensions / Modules, OpenCart

> Count of installed extensions and modules on your OpenCart store. Tracked live in Vortex IQ Nerve Centre. How to read it, why it matters, and how to act on it.

**Card class:** [Standard](/nerve-centre/overview#card-classes-explained)  •  **Category:** [Ecommerce Platform](/nerve-centre/connectors#connectors-by-type)

> The total number of installed extensions and modules on your OpenCart store, the size of the surface area that can break, slow down, or conflict.

## At a glance

> OpenCart ships lean and gains almost all of its features through extensions: payment gateways, shipping methods, modules, themes, SEO packs, feeds, and OCMOD modifications. This card counts how many are installed. There is no alert on it, because a high count is not inherently bad. It is context. It is the denominator for [Extension / Modification Conflicts](/nerve-centre/kpi-cards/opencart/extension-modification-conflicts) and the first place to look when load time, error volume, or a conflict spikes.

|                           |                                                                                                                                                                                                                                      |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **What it counts**        | The number of installed extensions and modules across OpenCart's extension types: modules, payments, shipping, total (order totals), feeds, themes, dashboards, captchas, and any installed OCMOD / vQmod packages.                  |
| **Installed vs enabled**  | An extension can be installed but disabled. This card counts installed; the detail view splits installed-and-enabled from installed-but-disabled, because a disabled extension still sits in the codebase and still ships its files. |
| **Where it comes from**   | OpenCart records extension registrations in `oc_extension`, with installation metadata. OCMOD packages also appear in `oc_modification`. The connector reconciles both.                                                              |
| **Marketplace vs custom** | The count includes marketplace extensions, agency-built custom extensions, and anything hand-installed by FTP. OpenCart does not distinguish provenance, so neither does this card.                                                  |
| **Themes**                | Installed themes count as extensions in OpenCart. A store with three themes installed but one active still shows three.                                                                                                              |
| **Multi-store**           | One OpenCart instance shares one extension set across all `store_id` values. The count is per instance, not per store.                                                                                                               |
| **Why no alert**          | A large stack is normal and often healthy. The signal is in the *change* and in the *ratio to conflicts and errors*, not in the absolute number.                                                                                     |
| **Time window**           | `RT` (real time, evaluated each sync)                                                                                                                                                                                                |
| **Alert trigger**         | None                                                                                                                                                                                                                                 |
| **Roles**                 | owner, operations                                                                                                                                                                                                                    |

## Calculation

```
COUNT(DISTINCT extension)
  WHERE status IN ('installed')
```

## Worked example

A mid-market homeware merchant runs OpenCart 4.0. Their agency built the store over three years and has steadily added capability. On 12 Jun 26 the connector reads the current extension set.

| Extension type                                 | Installed | Enabled | Disabled |
| ---------------------------------------------- | --------- | ------- | -------- |
| Payment gateways                               | 4         | 2       | 2        |
| Shipping methods                               | 3         | 3       | 0        |
| Modules (storefront blocks)                    | 14        | 11      | 3        |
| Order totals                                   | 5         | 5       | 0        |
| Themes                                         | 2         | 1       | 1        |
| Feeds (Google Shopping, etc.)                  | 3         | 2       | 1        |
| OCMOD packages                                 | 7         | 7       | 0        |
| **Installed Extensions / Modules (this card)** | **38**    | 31      | 7        |

What's interesting here:

1. **Two payment gateways are installed but disabled.** A retired PayPal Standard and an old Authorize.Net module are still in the codebase. They no longer process orders, but their files still load on every checkout render and their OCMOD edits still apply. Disabled does not mean inert. Cleaning these out reduces both surface area and conflict risk.
2. **38 is a normal, healthy count for a three-year-old store.** OpenCart stores routinely carry 30 to 60 extensions. The number itself is not a worry. What matters is whether [Extension / Modification Conflicts](/nerve-centre/kpi-cards/opencart/extension-modification-conflicts) stays at zero and whether error volume is flat.
3. **Seven OCMOD packages is the figure to watch.** Each OCMOD package patches core files, so seven is seven chances of a post-update conflict. The ratio of conflicts to OCMOD packages is the real fragility signal, and right now it is `0 / 7`, which is clean.
4. **The count is the denominator, not the headline.** On its own it answers "how big is my stack". Its value comes from pairing: conflicts per extension, errors per extension, and the jump in the count after an install spree that precedes a slowdown.
5. **A sudden jump deserves a look even without an alert.** If this number climbs by five in a day, an agency or admin installed a batch of extensions. That is the moment to refresh Modifications and check conflicts, because batch installs are a leading cause of new collisions.

## Sibling cards merchants should reference together

| Card                                                                                                                      | Why pair it with Installed Extensions / Modules                                                              |
| ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| [Extension / Modification Conflicts](/nerve-centre/kpi-cards/opencart/extension-modification-conflicts)                   | This card is the denominator. Conflicts ÷ installed extensions is your fragility ratio.                      |
| [Platform Error Spike or Extension Conflict](/nerve-centre/kpi-cards/opencart/platform-error-spike-or-extension-conflict) | A new install often precedes an error spike. Watch the two after any extension change.                       |
| [Error Log Volume (24h)](/nerve-centre/kpi-cards/opencart/error-log-volume-24h)                                           | Errors per installed extension is a useful health ratio for a heavy stack.                                   |
| [OpenCart Version Status](/nerve-centre/kpi-cards/opencart/opencart-version-status)                                       | Extension compatibility is version-dependent. A version change can strand extensions built for the old core. |
| [Disabled Products](/nerve-centre/kpi-cards/opencart/disabled-products)                                                   | Both are "clutter" signals. Disabled extensions and disabled products both add weight without value.         |

## Reconciling against OpenCart

**Where to look in OpenCart admin:**

Extensions → Extensions. The dropdown at the top filters by extension type (Modules, Payments, Shipping, Order Totals, Feeds, Themes, and more). Each type lists installed extensions with a green install or red uninstall control and an enable / disable toggle. Extensions → Marketplace is where new extensions are downloaded and installed from. OCMOD packages appear under Extensions → Modifications.

The underlying records sit in `oc_extension` (registrations) and `oc_modification` (OCMOD rules).

Other OpenCart views that *look* related but are not the same number:

* **Extensions → Marketplace**: shows extensions *available to install*, not installed. A much larger number.
* **Extensions → Modifications**: counts OCMOD packages only, a subset of this card.
* **Dashboard widgets**: each dashboard tile is itself an extension, so the dashboard does not list the full set.

**Why our number may legitimately differ:**

| Reason                                                                                                                                                                                | Direction of divergence                            |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- |
| **Installed vs enabled.** The admin can be filtered to show only enabled extensions. This card counts installed, including disabled.                                                  | Vortex IQ higher than an enabled-only admin filter |
| **Type filter.** The admin shows one extension type at a time. This card sums all types into one number.                                                                              | Vortex IQ higher than any single-type screen       |
| **OCMOD double-count guard.** A single marketplace extension may register both an extension row and an OCMOD package. We de-duplicate to the logical extension.                       | Vortex IQ lower than naive row count               |
| **Hand-installed extensions.** Extensions copied in by FTP without going through the installer may not register in `oc_extension` and may be undercounted until enabled in the admin. | Vortex IQ lower for unregistered installs          |
| **Sync lag.** An extension installed seconds ago is picked up on the next sync.                                                                                                       | Self-resolves at next sync                         |

**Cross-connector note:** this is a platform-health count with no payment-processor or analytics equivalent. It exists because OpenCart's feature set is almost entirely extension-driven.

<details>
  <summary><em>Same-metric documentation cross-reference (for agencies running multiple platforms)</em></summary>

  The hosted-platform equivalent is installed-app count. The mechanism differs, OpenCart extensions patch core files where hosted apps run in isolation, but the "size of your add-on surface" question is the same. These cross-links exist so agencies running multi-platform client books can navigate between related platform-health metrics across the docs.

  * [`shopify.installed_apps`](/nerve-centre/kpi-cards/shopify/installed-apps) (planned)
  * [`bigcommerce.installed_apps`](/nerve-centre/kpi-cards/bigcommerce/installed-apps) (planned)
</details>

## Known limitations / merchant FAQs

**Is a high extension count bad?**
Not by itself. OpenCart is designed to be extended, and a feature-rich store of 30 to 60 extensions is completely normal. The risk is not the count, it is conflicts, errors, and slow load time that a heavy stack can carry. Watch the ratios, not the headline.

**Why is there no alert on this card?**
Because there is no universally bad value. An alert would fire constantly on healthy stores. The card is context for other cards. A sudden jump is worth a manual look, but it is not an incident on its own.

**Does it count disabled extensions?**
Yes. A disabled extension is still installed: its files are still on disk and its OCMOD edits may still apply. We count installed and split enabled from disabled in the detail view, because disabled is not the same as removed.

**Why does my admin show fewer extensions than this card?**
The admin shows one extension type at a time, and can be filtered to enabled only. This card sums every type and includes disabled extensions, so it is usually higher than any single admin screen.

**Should I uninstall extensions I no longer use?**
Generally yes. Retired payment gateways and old themes left installed add weight and conflict risk for no benefit. Uninstalling reduces the surface area that the [Extension / Modification Conflicts](/nerve-centre/kpi-cards/opencart/extension-modification-conflicts) card has to watch.

**Do themes count as extensions?**
Yes. In OpenCart a theme is an extension type. A store with two themes installed but one active shows two in this count.

**The count jumped overnight, what happened?**
Someone installed a batch of extensions, most often an agency doing scheduled work. Batch installs are a leading cause of new conflicts, so refresh Modifications and check the conflicts card after any jump.

**Does this distinguish marketplace extensions from custom ones?**
No. OpenCart records all installed extensions the same way regardless of where they came from. Marketplace, agency-custom, and FTP-installed extensions all count alike.

***

### Tracked live in Vortex IQ Nerve Centre

*Installed Extensions / Modules* is one of hundreds of KPI pulses Vortex IQ tracks across OpenCart and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English.

[Start for free](https://app.vortexiq.ai/login) or [book a demo](https://www.vortexiq.ai/contact-us) to see this metric running on your own data.
