Skip to content

The audit trail

For: Staff with the Supporter, Admin or Super Admin role; the Marketplace Editor role for their partnersRequires: The Supporter role or higher; the Marketplace Editor role for one partner user at a timeScreenshots show sample data

The audit trail records every relevant action in comrce Hub and in the connected tools, and nobody can edit it. Support and admins use it to find out what happened in an account and who did it. The Logs show it from six entry points, each already filtered to a company, a person or both.

Support and admins need to reconstruct what happened in an account without asking the people involved. They also need to tell actions by a customer from actions by comrce staff working on the customer’s behalf.

comrce Hub writes an event for every recorded action. Each event has a timestamp, a source and an event type. It names the account and company it belongs to and holds a JSON payload with the details. It also names the team member acting on the customer’s behalf, if any.

Events cannot be edited or deleted from the console. From there:

Every payload is shown exactly as stored, so what you read in the Logs is the evidence itself.

RequirementDetails
RoleSupporter, Admin or Super Admin for the full Logs. Marketplace Editor for partner users only.
WhereLogs, or View Logs on a company, user or team member page.
SetupNone. Recording is always on, and there is nothing to switch on or configure.
CostNone.

Every event is recorded under at most one account, the user of the event, and at most one company. Which account that is depends on the action:

ActionRecorded under (User Email)CompanyWho did it
A customer signs in or changes dataThe customerTheir current companyThe customer
A team member works in a customer’s account with a service PINThe customer, with a badge showing the team member’s emailThe customer’s companyThe team member
A team member signs in to the consoleThe team memberNoneThe team member
An admin invites someoneThe adminNoneThe admin
An admin changes a role, resets 2FA or deletes a team memberThe person who was changedNoneThe admin, named in the payload
An admin edits a company’s detailsNobody (”-”)The companyThe admin, named in the payload
A connected tool reports an eventThe user the tool namesThe company the tool namesThe tool
  • The actor switch looks at the event’s user. External keeps events whose user is a customer. Internal keeps those whose user is a hub team account. Events with no user appear only under All.
  • A Supporter always sees customer events only. For this role the actor switch is hidden, and every Logs tab works as External. Hub team events and events without a user do not appear, and the user filter offers customers only.
  • Work with a service PIN counts as external, because the event’s user is the customer.
  • A company filter includes the company’s own events. It also includes the company-less events of anyone who is or was a member, such as sign-ins.
  • The user filter matches the event’s user. It does not find what someone did with a service PIN, nor role changes they made. The search field does find PIN work, because it also matches the acting team member’s email.
  • Reading pages and lists in the console or the customer area.
  • Requests that were refused before anything changed, for example a role change outside your authority.
  • Events a connected tool did not send.

A customer asks who removed a colleague, or a setting changed overnight? Three steps take you from the question to the event that answers it. Nothing you do here changes the account.

  1. Start from the person or company. Open the team member, user or company the question is about and select View Logs. A new Logs tab opens, named after them.

    The team member page of Sophie Wagner, Supporter, opened by a Super Admin, with the "View Logs" button at the top of the profile card highlighted, next to the red "Delete" button. On the right is the two-factor card, below the list of her active sessions. Selecting "View Logs" opens a new tab "Sophie Wagner Logs": the Logs screen pre-filtered to her account with the actor switch on "Internal".The team member page of Sophie Wagner, Supporter, opened by a Super Admin, with the "View Logs" button at the top of the profile card highlighted, next to the red "Delete" button. On the right is the two-factor card, below the list of her active sessions. Selecting "View Logs" opens a new tab "Sophie Wagner Logs": the Logs screen pre-filtered to her account with the actor switch on "Internal".
    View Logs on a team member's page opens their audit trail in its own tab.
    What this screenshot shows
    Highlighted
    “View Logs”: opens the Logs filtered to this team member, scope Internal
    Also visible
    Delete button next to it
    Purpose
    one of the six entry points to the audit trail
  2. Narrow down. Add an event type or a source, or widen the date range. The filters you came with stay.

    The Logs tab "Sophie Wagner Logs" opened from her team member page. The actor switch shows "Internal" selected and highlighted, the Company filter is greyed out, and the User filter holds "Sophie Wagner (sophie.wagner@example.com)" with a clear cross. The table lists only her own actions, newest first: three "Logged in" and one "Logged out" event, "Two-factor enabled", "Password changed" and "Invitation accepted" from the day her account was created. The date range shows the default "December 10th, 2025 - March 10th, 2026", and the footer reads "Showing 1 - 7 of 7" without page buttons. All filters can still be changed in this tab.The Logs tab "Sophie Wagner Logs" opened from her team member page. The actor switch shows "Internal" selected and highlighted, the Company filter is greyed out, and the User filter holds "Sophie Wagner (sophie.wagner@example.com)" with a clear cross. The table lists only her own actions, newest first: three "Logged in" and one "Logged out" event, "Two-factor enabled", "Password changed" and "Invitation accepted" from the day her account was created. The date range shows the default "December 10th, 2025 - March 10th, 2026", and the footer reads "Showing 1 - 7 of 7" without page buttons. All filters can still be changed in this tab.
    A pre-filtered Logs tab: one person, scope Internal, the last three months, every filter still changeable.
    What this screenshot shows
    Screen
    Logs
    Highlighted
    “Internal”: keeps the scope on staff accounts
    Also visible
    User filter: Sophie Wagner (sophie.wagner@example.com); Seven events of her own
    Purpose
    what a pre-filtered tab contains
  3. Read the payload. Select the payload cell of the row you need for the full details.

Check regularly who on the team can do what

Section titled “Check regularly who on the team can do what”

Access tends to grow quietly: a role raised for one project stays long after the project ends. A regular review takes five steps, changes nothing while you look, and every finding links to the person’s page. Run it at least whenever someone changes team.

  1. List the team by role. Open Hub Team and pick each role in the role filter (The team list). Compare each person’s role with Staff roles and what they can do.
  2. List every access change. In Logs, set the actor switch to All. Select the event types User role changed, User 2FA disabled and Internal user deleted. The payload names the admin behind each change.
  3. Check each person’s sign-ins. Open their page and select View Logs. Their tab lists their own sign-ins and console actions.
  4. Find their work in customer accounts. Search their whole email under All. Work with a service PIN is recorded under the customer, so only the search finds it.
  5. Lower a role that is too broad. Change it on the person’s page (Change a colleague’s role when their job changes). comrce Hub saves it once you confirm, and the Logs record it with your name.

What you control is the filter state of a Logs tab. Each filter is described as it appears in a pre-filtered tab.

Where

View Logs on five pages, plus the sidebar entry. Each opens its own tab, named after the person or company, for example “Sophie Wagner Logs”.

What
Entry pointPre-set filtersWho sees the button
Sidebar LogsNone, actor switch on AllSupporter and higher
A company’s pageThe company, ExternalSupporter and higher
A customer user’s pageThe user, ExternalSupporter and higher
A user’s membership in a companyThe company and the user, ExternalSupporter and higher
A team member’s pageThe team member, InternalAdmin and higher
A Marketplace partner user’s pageThe partner, InternalEveryone who can open the page

Every tab starts with the date range on the last three months up to today. Every pre-set filter can be changed in the tab, with two exceptions. A Marketplace Editor cannot change any. A Supporter always stays on customer events.

Why

The question usually starts on a page about one customer or one colleague. The button carries that context into the Logs.

Where

Top right of the Logs tab.

What

Starts on the value of the entry point. Switching it clears the user filter, and Internal also clears the company filter. Hidden for a Supporter and a Marketplace Editor.

Why

A company’s log opens on customer activity. Switching to All adds admin edits of the company, which have no user.

Where

The search field Search logs.

What

Matches the source, event type, user email and company name. It also matches the email of the team member who acted with a service PIN. Typing the team member’s whole email under All lists everything they did in customer accounts.

Why

Work done with a service PIN is recorded under the customer. The team member’s own tab therefore does not show it.

The Logs screen with "All" selected and sophie.wagner@example.com typed into the highlighted search field "Search logs". The result shows the events Sophie Wagner caused while working in customer accounts with a service PIN: "Updated company info" and "Impersonation by PIN succeeded" for lena.hoffmann@example.com at Nordwind Handels GmbH, and "Edited permissions" and "Impersonation by PIN succeeded" for max.richter@example.com at Elbstrand Living GmbH. Each row shows the customer's email with a badge sophie.wagner@example.com below it. These events do not appear in her pre-filtered tab.The Logs screen with "All" selected and sophie.wagner@example.com typed into the highlighted search field "Search logs". The result shows the events Sophie Wagner caused while working in customer accounts with a service PIN: "Updated company info" and "Impersonation by PIN succeeded" for lena.hoffmann@example.com at Nordwind Handels GmbH, and "Edited permissions" and "Impersonation by PIN succeeded" for max.richter@example.com at Elbstrand Living GmbH. Each row shows the customer's email with a badge sophie.wagner@example.com below it. These events do not appear in her pre-filtered tab.
Searching a team member's email also finds what they did inside customer accounts.
What this screenshot shows
Screen
Logs
Highlighted
“Search logs”: searches source, event type, user email, company name and impersonator email
Also visible
Four customer events with the impersonator badge sophie.wagner@example.com
Purpose
finding impersonated actions
Where

Event Types in the filter row.

What

Lists all filterable event types by label. Select User role changed, User 2FA disabled and Internal user deleted together. That gives a complete list of access changes to the team. The admin who made each one is in the payload.

Why

These events are recorded under the changed person. Only a filter by type lists all of them.

The Logs screen filtered with the Event Types filter, whose button now reads "User role changed" and is highlighted. The table shows three role changes, newest first: tobias.krueger@example.com on 10/03/2026, lukas.hartmann@example.com on 03/03/2026 and katrin.vogel@example.com on 24/02/2026. The User Email column shows the person whose role changed, not the admin who changed it; the admin's email is in the Payload column as "ActingAdminEmail".The Logs screen filtered with the Event Types filter, whose button now reads "User role changed" and is highlighted. The table shows three role changes, newest first: tobias.krueger@example.com on 10/03/2026, lukas.hartmann@example.com on 03/03/2026 and katrin.vogel@example.com on 24/02/2026. The User Email column shows the person whose role changed, not the admin who changed it; the admin's email is in the Payload column as "ActingAdminEmail".
Role changes are logged under the person whose role changed. The payload names the admin.
What this screenshot shows
Screen
Logs
Highlighted
“User role changed”: reopens the event type list
Also visible
Three User role changed rows
Purpose
auditing role changes
You wantActor switchFilterSearch
Everything a customer didExternalUser–
Everything that happened in a company, including admin editsAllCompany–
What a team member did in the consoleInternalUser–
What a team member did in customer accountsAll–Their email
Who changed team accessAllEvent types for role change, 2FA reset, deletion–
IndicatorMeaning
Email badge under the user’s emailA team member did this with a service PIN. The badge shows their email.
Impersonated badgeThe same, but the team member’s email is not available
”-” in CompanyThe event has no company, such as a team member’s sign-in
”-” in User EmailThe event has no user, such as an admin’s edit of company details
Lower-case source such as billbeeA connected tool reported the event

A tab opened from a page has the person or company in its title and its filters already set. Why: several questions can stay open side by side, each in its own tab.

The Logs tab "Felix Braun Logs" as the Marketplace Editor lukas.hartmann@example.com sees it after selecting "View Logs" on Felix Braun's partner user page. There is no actor switch and no Company filter. The User filter is greyed out and fixed to "Felix Braun (felix.braun@example.com)", highlighted. The table shows only his events: "Marketplace partner page updated", "Marketplace partner logo uploaded", "Logged in", "Marketplace partner updated" and "Invitation accepted". Search, Sources, Event Types and the date range still work within these events.The Logs tab "Felix Braun Logs" as the Marketplace Editor lukas.hartmann@example.com sees it after selecting "View Logs" on Felix Braun's partner user page. There is no actor switch and no Company filter. The User filter is greyed out and fixed to "Felix Braun (felix.braun@example.com)", highlighted. The table shows only his events: "Marketplace partner page updated", "Marketplace partner logo uploaded", "Logged in", "Marketplace partner updated" and "Invitation accepted". Search, Sources, Event Types and the date range still work within these events.
A Marketplace Editor sees the logs of one partner user at a time, with the user filter locked.
What this screenshot shows
Screen
Logs
Highlighted
“Felix Braun (felix.braun@example.com)”: none
Also visible
No actor switch, no Company filter; Five events of Felix Braun
Purpose
the restricted Marketplace Editor view

A Marketplace Editor reaches the Logs only through View Logs on a Marketplace partner user’s page. The tab shows that partner’s events only.

The actor switch and the company filter are hidden, and the user filter is locked to the partner. Source, type, date and search work within those events. Opened any other way, the Logs show a no-access card. Why: the Marketplace Editor role reviews what partners changed on their cards, not customer activity.

The "Event payload" dialog of the role change of lukas.hartmann@example.com. The formatted JSON reads "ActingAdminEmail": "jonas.becker@example.com", "NewRole": "MarketplaceEditor", "PreviousRoles": ["MarketplacePartner"]. The roles appear with their technical names, not their labels. The highlighted "Copy to clipboard" button at the bottom left copies the JSON.The "Event payload" dialog of the role change of lukas.hartmann@example.com. The formatted JSON reads "ActingAdminEmail": "jonas.becker@example.com", "NewRole": "MarketplaceEditor", "PreviousRoles": ["MarketplacePartner"]. The roles appear with their technical names, not their labels. The highlighted "Copy to clipboard" button at the bottom left copies the JSON.
The payload of a role change names the admin, the new role and the previous role.
What this screenshot shows
Screen
Logs
Highlighted
“Copy to clipboard”: copies the JSON payload
Also visible
"ActingAdminEmail": "jonas.becker@example.com"; "NewRole": "MarketplaceEditor"; "PreviousRoles": ["MarketplacePartner"]
Purpose
reading who changed a role

The payload is the JSON written with the event, shown as stored. Field names are technical, such as ActingAdminEmail, NewRole and PreviousRoles. Roles appear with their code names, which Staff roles and what they can do lists next to each label.

Sign-in payloads contain browser, operating system and device. Tool events contain what the tool sent. Why: the payload turns “a role changed” into “Jonas Becker moved Lukas Hartmann from Marketplace Partner to Marketplace Editor”.

Source as filteredSource as shown in the listWhat it records
Commerce HubCommerce HubEverything that happens in comrce Hub itself
AmainvoiceamainvoiceEvents reported by Amainvoice
BillbeebillbeeEvents reported by Billbee
ReplycoreplycoEvents reported by Replyco
Ventory OneventoryoneEvents reported by VentoryOne

Tools may report event types of their own. Those show their technical name instead of a label. A tool event always belongs to a company.

These are the event types in the Event Types filter, grouped by area. Each group says whether customers see the types in the Logs of their own account. The search also matches each type’s technical name, such as UserActions.LoggedIn.

Customers also see all of these in their own Logs.

  • Logged in
  • Logged out
  • Auth key generating failed
  • Token revoked
  • All tokens revoked
  • Authentication attempt failed
  • Account locked
  • Recovery code used
  • Two-factor code sent by email
  • Two-factor code invalid
  • Two-factor enabled
  • Enabling 2FA failed
  • Two-factor auth code verified
  • OIDC Login failed
  • OIDC Consent denied
  • OIDC Consent approved

Customers also see all of these in their own Logs.

  • Password changed
  • New password is incorrect
  • Change password failed
  • Password reset failed
  • Password has been reset
  • Reset password failed: token expired
  • Reset password token is invalid
  • Reset password requested
  • Email confirmed
  • Email confirmation token expired
  • Email confirmation failed
  • Email confirmation token invalid
  • Email change requested
  • Email changed
  • Email change token expired
  • Email change token invalid
  • Email change failed
  • Failed to generate email confirm link
  • Confirmation email sent

Customers also see all of these in their own Logs.

  • Cookie consent updated
  • Avatar uploaded
  • Avatar deleted
  • User first and last names were changed
  • Language changed

Companies, members, invitations and account deletion

Section titled “Companies, members, invitations and account deletion”

Customers also see all of these in their own Logs.

  • Permission requested
  • Edited permissions
  • Uploaded company logo
  • Deleted company logo
  • Updated company info
  • Ownership transfer requested
  • Ownership transfer confirmed by current owner
  • Ownership transfer invitation accepted
  • Ownership transfer completed
  • Changed user status
  • Created invitation
  • Invitation accepted
  • Resent invitation
  • Invitation deleted
  • Account deletion token invalid
  • Account deletion token expired
  • Account deletion failed
  • Account deletion requested
  • Account deletion confirmed

Customers also see all of these in their own Logs.

  • Installed marketplace partner
  • Uninstalled marketplace partner
  • User linked to a tool
  • User unlinked a tool

Admin actions on users, companies and API clients

Section titled “Admin actions on users, companies and API clients”
LabelIn the customer’s own Logs
API client createdNo
API client updatedNo
API client deletedNo
User 2FA disabledYes
User role changedYes
Internal user deletedNo
User marked for deletionYes
User deletion cancelledYes
Ownership transfer requested by adminYes
Impersonation by PIN succeededYes
Impersonation by PIN failedNo
Impersonation PIN lockout triggeredNo
Impersonation PIN attempt blockedNo
Data export completedNo
Admin updated company info (not in the filter list)Yes

Data export completed is written each time an Admin or Super Admin downloads a list with Export. That is the company list or the customer user list.

The event is recorded under the admin who exported, without a company. The payload names the list (ReportType: companies or external-users) and the filters that applied. It also holds the export time in UTC and the number of rows (RowCount, MemberRowCount, ToolRowCount).

Customers see none of these in their own Logs.

  • Language created
  • Language deleted
  • Translations imported

Customers see none of these in their own Logs.

  • Marketplace section created
  • Marketplace section updated
  • Marketplace section deleted
  • Marketplace section icon uploaded
  • Marketplace section icon deleted
  • Marketplace service created
  • Marketplace service updated
  • Marketplace service deleted
  • Marketplace service icon uploaded
  • Marketplace service icon deleted
  • Marketplace partner created
  • Marketplace partner updated
  • Marketplace partner deleted
  • Marketplace partner page updated
  • Marketplace partner logo uploaded
  • Marketplace partner logo deleted
  • Marketplace filter option created
  • Marketplace filter option updated
  • Marketplace filter option deleted
  • Marketplace translations imported

Customers see none of these in their own Logs.

  • News article created
  • News article updated
  • News article AI translated
  • News article cover image uploaded
  • News article cover image deleted
  • News article archived
  • News article restored
  • News article deleted
  • News category created
  • News category updated
  • News category icon uploaded
  • News category icon deleted
  • News category deleted
TopicFact
Deleted team membersDeleting a team member keeps their events. Open them with View Logs on their page.
Deleted customersWhen a customer account is finally removed, some payloads are emptied, and the events stay. That affects sign-in, sign-out, token, avatar, name, accepted-invitation, company-logo and company-info events.
TimeStored in UTC, shown in your browser’s time zone.
OrderNewest first, 50 per page. The page buttons appear only when there are more.
Load limitThe Logs load at most 60 times a minute per person. After that, the list shows Error loading data until the minute is over.
Tool payload sizeA tool’s event payload can be up to 256 KB.

It lists the events comrce Hub records for every relevant action. That covers comrce Hub itself and the connected tools. You find it in Logs. Each event has a time, a source, a type, a person, a company and a payload with the details.

No. The console has no way to change or remove an event. Only when a customer account is finally removed are the payloads of some of that customer’s personal events emptied. The events themselves remain.

No. Recording is always on for every company, every customer and every team member. There is no setting for the audit trail in the console, and nothing to configure.

How do I see everything that happened in one company?

Section titled “How do I see everything that happened in one company?”

Open the company’s page and select View Logs. Then set the actor switch to All. That adds events without a user, such as an admin’s edit of the company’s details.

Open their page in the hub team and select View Logs for their own actions in the console. An Admin or a Super Admin sees the button there. For their work in customer accounts with a service PIN, search their email with the actor switch on All.

Filter the Logs by the event type User role changed and look for the person’s email in the user column. The payload shows the admin as ActingAdminEmail, the new role and the previous role.

Why don’t the role changes an admin made appear under their name?

Section titled “Why don’t the role changes an admin made appear under their name?”

Role changes, two-factor resets and deletions of team members are recorded under the person who was changed. The admin who did it is named only in the payload. Filter by the event type instead of by the admin.

Why is an admin’s edit of a company missing from the company’s log?

Section titled “Why is an admin’s edit of a company missing from the company’s log?”

The company’s View Logs opens with the actor switch on External. An admin’s edit of company details has no user. Switch to All to see the event Admin updated company info.

Can I filter by the event type for admin company edits?

Section titled “Can I filter by the event type for admin company edits?”

Not at the moment, because Admin updated company info is missing from the event type filter. Open the company’s log with the actor switch on All. Then look for rows without a user email.

Why don’t I see events older than three months?

Section titled “Why don’t I see events older than three months?”

Every Logs tab opens with the date range on the last three months up to today. That includes tabs opened with View Logs. Select the date range button and choose an earlier first day. Older events are kept and appear as soon as the range covers them.

As a Supporter, why can’t I see team members’ events?

Section titled “As a Supporter, why can’t I see team members’ events?”

A Supporter sees customer events only, without the actor switch. Hub team sign-ins and actions stay hidden, and so do events without a user, such as an admin’s company edit. The log of a Marketplace partner user stays empty. Ask an Admin when you need them. Service PIN work stays visible, because it is recorded under the customer.

The browser address of a Logs tab keeps its filters. A link opened elsewhere shows the company or person filter without its name. The tab title also falls back to the plain title. Share the person’s email or the company name with the link.

How can I tell that a team member acted in a customer’s account?

Section titled “How can I tell that a team member acted in a customer’s account?”

The row is recorded under the customer, and a badge under the customer’s email shows the team member’s email. Events like Impersonation by PIN succeeded mark the start of such a session.

Why doesn’t a team member’s own log show their service PIN work?

Section titled “Why doesn’t a team member’s own log show their service PIN work?”

Their own tab filters by their account, and PIN work is recorded under the customer. Search the team member’s email in the Logs with the actor switch on All to list it.

Commerce Hub marks events from comrce Hub itself. Amainvoice, Billbee, Replyco and Ventory One mark events those tools reported. In the list they show the tool’s code, such as billbee or ventoryone. The source filter finds them under the tool’s name.

Why does an event type show a technical name instead of a label?

Section titled “Why does an event type show a technical name instead of a label?”

The type has no label in comrce Hub, which happens for types a connected tool reports on its own. The technical name tells you which tool action it was, and the payload has the details.

Company owners and members with the right permission have a Logs page in their own account. It shows the events of their company. Most admin-only types are hidden there. The event type groups on this page say which types customers can filter by.

As a Marketplace Editor, why can’t I open the Logs from the sidebar?

Section titled “As a Marketplace Editor, why can’t I open the Logs from the sidebar?”

The sidebar entry needs the Supporter role or higher. A Marketplace Editor opens the Logs from a Marketplace partner user’s page with View Logs, limited to that partner’s events.

Why can’t I clear the user filter as a Marketplace Editor?

Section titled “Why can’t I clear the user filter as a Marketplace Editor?”

For a Marketplace Editor the Logs always stay on the partner they were opened for. Go back to the team list and open another partner’s page to see that partner’s events.

Payloads contain email addresses, names, browser details and sometimes company data. Treat them like customer data. Copy only what the question needs, and never paste payloads into public channels.

There is no retention period. Events are never deleted because of their age, and the console has no way to delete them. When a customer account is finally removed, the payloads of some personal events are emptied, and the events stay.

Are a deleted team member’s events kept?

Section titled “Are a deleted team member’s events kept?”

Yes. Deleting a team member keeps the account record and every event. Open the deleted member’s page from the team list and use View Logs to see them.

SymptomWhat to check
The Logs show a no-access cardYou are an Partner, a News Editor or a Marketplace Partner. Or you are a Marketplace Editor who did not come from a partner page.
A team member’s tab shows nothing they did for a customerPIN work is recorded under the customer. Search their email under All.
Role changes made by an admin are missing under their nameThey are recorded under the changed person. Filter by User role changed.
An admin’s company edit is missingSet the actor switch to All. The event has no user.
Typing a word filtered the list by event typeThe word matched an event label. Type something more specific.
A tool event has no labelThe tool reported its own type. Read the technical name and the payload.
Events near midnight seem to be on the wrong dayThe date range counts UTC days, and the list shows your local time.
An older event is missingThe tab opened on the last three months. Choose an earlier first day in the date range.
As a Supporter, a team member’s or partner user’s events are missingThis role sees customer events only. Ask an Admin.
The list shows Error loading data after many filter changesMore than 60 loads in a minute. Wait a minute and change the filters again.
A shared link shows an empty user or company chipNames are not part of the link. The filter still applies.