Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Commerce audit trail

What the Exponential audit trail records about a store - the commerce events for orders, payments, VAT, currencies and discounts, what is never recorded, who may read the commerce channel, retention, verification and…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/e-commerce/operations/commerce-audit-trail.md

On this page

Commerce audit trail

This page is for merchants, administrators and auditors who need to know who changed what in a store. Exponential 6.0.15 records security-relevant events in a tamper-evident log, on by default; the shop writes its events to the commerce channel (The audit trail).

Contents

  1. The commerce events
  2. What is never recorded
  3. Who may read it
  4. Answering questions
  5. Retention and proof

The commerce events

Found in the shop's code (the expAuditHook::emit() calls):

EventWhen
commerce.basket.checkoutA checkout starts: basket, order, item count and total
commerce.order.createAn order is activated: order number, total, currency
commerce.order.statusAn order's status changes
commerce.order.archive, commerce.order.unarchiveAn order is archived or brought back
commerce.order.item.removeAn item is removed from an order
commerce.order.deleteOne order is removed (shop/removeorder)
commerce.order.purgeAll orders are removed (the shop cleanup script)
commerce.payment.approveA payment object is approved by a gateway's callback
commerce.vat.changeVAT types or rules change
commerce.currency.changeCurrencies or rates change
commerce.discount.changeDiscount groups or rules change

CSV and package imports and exports (data.*) go to the same channel. Changes to a product's price are content changes: they are in the content channel as publishing events, and the product's version history shows the old and new values (Content history).

What is never recorded

Card data, customer addresses on order events, passwords and secrets. Order events carry ids, numbers, totals, currency and status, which is what an auditor needs and nothing that a leak of the log would expose (Audit guide).

Who may read it

The Audit tab needs audit/read. Its Channel limitation lets you give a shop auditor the commerce channel only, without access to sign-ins or content. Exports need audit/export.

Answering questions

QuestionFilter
Who changed the VAT rules last month?commerce.vat.change, the month
Who moved order 1042 to Refunded?commerce.order.status, object order 1042
Was the payment of an order confirmed by the provider?commerce.payment.approve for the order
Did anyone delete orders?commerce.order.delete, commerce.order.purge
How many checkouts started but were not placed?commerce.basket.checkout against commerce.order.create

The same questions from a shell: ./console exp:audit tail --channel=commerce.

Retention and proof

The shipped retention for the commerce channel is 90 days live and 730 days as archives ([AuditChannel_commerce] LiveDays, ArchiveDays). If you must keep proof longer, raise ArchiveDays or export and store the records. ./console exp:audit verify --channel=commerce checks that the chain of records is intact. The frequent cron part must run for indexing, rotation and archives.

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x