diff --git a/_data/sidebars/ca_dev_sidebar.yml b/_data/sidebars/ca_dev_sidebar.yml
index 065af5e38d7..02bc30112b3 100644
--- a/_data/sidebars/ca_dev_sidebar.yml
+++ b/_data/sidebars/ca_dev_sidebar.yml
@@ -138,6 +138,9 @@ entries:
url: /docs/ca/dev/multi-store-setups/checklist-for-a-new-store-implementation.html
- title: Set up data export to S3
url: /docs/ca/dev/set-up-data-export-to-s3.html
+ nested:
+ - title: Database structure reference
+ url: /docs/ca/dev/data-export-to-s3-database-structure-reference.html
- title: Troubleshooting
url: /docs/ca/dev/troubleshooting/troubleshooting.html
nested:
diff --git a/docs/ca/dev/data-export-to-s3-database-structure-reference.md b/docs/ca/dev/data-export-to-s3-database-structure-reference.md
new file mode 100644
index 00000000000..1b5008a6346
--- /dev/null
+++ b/docs/ca/dev/data-export-to-s3-database-structure-reference.md
@@ -0,0 +1,391 @@
+---
+title: Data export to S3 - database structure reference
+description: Reference guide for identifying which database tables to include when configuring data exports to S3.
+template: concept-topic-template
+last_updated: March 18, 2026
+---
+
+When requesting a data export to S3, you need to specify which database tables to include.
+
+If you know exactly which tables contain the data you need, you can request an export for just those specific tables. However, if you're unsure where certain data lives or need a complete picture of a business domain, this guide helps you identify all the relevant tables.
+
+## How Spryker stores data
+
+Spryker stores business data across multiple relational tables that together form logical domain aggregates. For example, an order is not stored in a single table but spread across tables for addresses, items, payments, shipments, and more.
+
+This guide organizes tables by business domain to help you:
+- Discover which tables are related to a specific domain.
+- Ensure you don't miss important data when exporting a complete domain.
+- Identify project-specific tables that extend standard Spryker tables.
+
+The tables are grouped into two categories:
+
+- **Standard tables**: The default Spryker tables for each domain, listed in [Standard tables by domain](#standard-tables-by-domain).
+- **Project-specific tables**: Custom tables your project may have added. See [Identify project-specific tables](#identify-project-specific-tables).
+
+## Standard tables by domain
+
+The following sections list the standard Spryker tables for common business domains. You can reference these lists or use them as a baseline when requesting an export.
+
+### Order
+
+Tables containing order data, including items, addresses, payments, shipments, returns, and reclamations.
+
+
+View Order tables
+
+| Table |
+|-------|
+| spy_sales_order |
+| spy_sales_order_item |
+| spy_sales_order_address |
+| spy_sales_order_address_history |
+| spy_sales_order_comment |
+| spy_sales_order_configured_bundle |
+| spy_sales_order_configured_bundle_item |
+| spy_sales_order_invoice |
+| spy_sales_order_item_bundle |
+| spy_sales_order_item_configuration |
+| spy_sales_order_item_metadata |
+| spy_sales_order_item_option |
+| spy_sales_order_note |
+| spy_sales_order_threshold |
+| spy_sales_order_threshold_tax_set |
+| spy_sales_order_threshold_type |
+| spy_sales_order_totals |
+| spy_sales_discount |
+| spy_sales_discount_code |
+| spy_sales_expense |
+| spy_sales_merchant_commission |
+| spy_sales_payment |
+| spy_sales_payment_detail |
+| spy_sales_payment_merchant_payout |
+| spy_sales_payment_merchant_payout_reversal |
+| spy_sales_payment_method_type |
+| spy_sales_reclamation |
+| spy_sales_reclamation_item |
+| spy_sales_return |
+| spy_sales_return_item |
+| spy_sales_return_reason |
+| spy_sales_shipment |
+| spy_sales_shipment_type |
+| spy_refund |
+| spy_merchant_relationship_sales_order_threshold |
+| spy_merchant_sales_order |
+| spy_merchant_sales_order_item |
+| spy_merchant_sales_order_totals |
+| spy_ssp_inquiry_sales_order |
+| spy_ssp_inquiry_sales_order_item |
+
+
+
+### Order Management System (OMS)
+
+Tables containing order state machine data, including states, transitions, timeouts, and reservations.
+
+
+View OMS tables
+
+| Table |
+|-------|
+| spy_oms_event_timeout |
+| spy_oms_order_item_state |
+| spy_oms_order_item_state_history |
+| spy_oms_order_process |
+| spy_oms_product_offer_reservation |
+| spy_oms_product_reservation |
+| spy_oms_product_reservation_change_version |
+| spy_oms_product_reservation_last_exported_version |
+| spy_oms_product_reservation_store |
+| spy_oms_state_machine_lock |
+
+
+
+### Product
+
+Tables containing product data, including abstract and concrete products, attributes, images, labels, options, bundles, and relations.
+
+
+View Product tables
+
+| Table |
+|-------|
+| spy_product |
+| spy_product_abstract |
+| spy_product_abstract_group |
+| spy_product_abstract_localized_attributes |
+| spy_product_abstract_product_option_group |
+| spy_product_abstract_set |
+| spy_product_abstract_store |
+| spy_product_alternative |
+| spy_product_attribute_key |
+| spy_product_bundle |
+| spy_product_category |
+| spy_product_category_filter |
+| spy_product_configuration |
+| spy_product_customer_permission |
+| spy_product_discontinued |
+| spy_product_discontinued_note |
+| spy_product_group |
+| spy_product_image |
+| spy_product_image_set |
+| spy_product_image_set_to_product_image |
+| spy_product_label |
+| spy_product_label_localized_attributes |
+| spy_product_label_product_abstract |
+| spy_product_label_store |
+| spy_product_list |
+| spy_product_list_category |
+| spy_product_list_product_concrete |
+| spy_product_localized_attributes |
+| spy_product_management_attribute |
+| spy_product_management_attribute_value |
+| spy_product_management_attribute_value_translation |
+| spy_product_measurement_base_unit |
+| spy_product_measurement_sales_unit |
+| spy_product_measurement_sales_unit_store |
+| spy_product_measurement_unit |
+| spy_product_offer |
+| spy_product_offer_store |
+| spy_product_offer_validity |
+| spy_product_option_group |
+| spy_product_option_value |
+| spy_product_option_value_price |
+| spy_product_packaging_unit |
+| spy_product_packaging_unit_type |
+| spy_product_quantity |
+| spy_product_relation |
+| spy_product_relation_product_abstract |
+| spy_product_relation_store |
+| spy_product_relation_type |
+| spy_product_review |
+| spy_product_search |
+| spy_product_search_attribute |
+| spy_product_search_attribute_archive |
+| spy_product_search_attribute_map |
+| spy_product_search_attribute_map_archive |
+| spy_product_set |
+| spy_product_set_data |
+| spy_product_validity |
+| spy_configurable_bundle_template |
+| spy_configurable_bundle_template_slot |
+| spy_price_product |
+| spy_price_product_default |
+| spy_price_product_merchant_relationship |
+| spy_price_product_offer |
+| spy_price_product_schedule |
+| spy_price_product_schedule_list |
+| spy_price_product_store |
+| spy_price_type |
+| spy_tax_set |
+| spy_tax_rate |
+| spy_tax_set_tax |
+| spy_url |
+| spy_currency |
+| spy_currency_store |
+| spy_store |
+| spy_store_context |
+| spy_locale |
+| spy_locale_store |
+
+
+
+### Customer
+
+Tables containing customer data, including addresses, groups, notes, and company associations.
+
+{% info_block infoBox "Info" %}
+
+For security reasons `spy_customer` table will be automatically excluded from exports to prevent security breaches.
+
+{% endinfo_block %}
+
+
+View Customer tables
+
+| Table |
+|-------|
+| spy_customer_address |
+| spy_customer_data_change_request |
+| spy_customer_group |
+| spy_customer_group_to_customer |
+| spy_customer_note |
+| spy_product_customer_permission |
+| spy_company_user |
+| spy_company |
+| spy_company_business_unit |
+| spy_company_role_to_company_user |
+| spy_company_user_file |
+| spy_company_user_invitation |
+| spy_company_user_invitation_status |
+| spy_company_role |
+| spy_company_store |
+| spy_company_unit_address |
+| spy_company_business_unit_file |
+| spy_company_unit_address_to_company_business_unit |
+| spy_company_file |
+| spy_company_role_to_permission |
+| spy_company_unit_address_label |
+| spy_company_unit_address_label_to_company_unit_address |
+| spy_permission |
+| spy_locale |
+
+
+
+### Merchant
+
+Tables containing merchant data, including profiles, commissions, opening hours, and product associations.
+
+
+View Merchant tables
+
+| Table |
+|-------|
+| spy_merchant |
+| spy_merchant_app_onboarding |
+| spy_merchant_app_onboarding_status |
+| spy_merchant_category |
+| spy_merchant_commission |
+| spy_merchant_commission_amount |
+| spy_merchant_commission_group |
+| spy_merchant_commission_merchant |
+| spy_merchant_commission_store |
+| spy_merchant_opening_hours_date_schedule |
+| spy_merchant_opening_hours_weekday_schedule |
+| spy_merchant_product_abstract |
+| spy_merchant_product_option_group |
+| spy_merchant_profile |
+| spy_merchant_profile_address |
+| spy_merchant_sales_order |
+| spy_merchant_sales_order_item |
+| spy_merchant_sales_order_totals |
+| spy_merchant_stock |
+| spy_merchant_store |
+| spy_sales_merchant_commission |
+| spy_sales_payment_merchant_payout |
+| spy_sales_payment_merchant_payout_reversal |
+| spy_date_schedule |
+| spy_weekday_schedule |
+| spy_store |
+| spy_product_offer |
+| spy_product_offer_stock |
+| spy_product_offer_store |
+| spy_product_offer_validity |
+| spy_product_offer_service |
+| spy_product_offer_shipment_type |
+| spy_price_product_offer |
+| spy_currency |
+| spy_price_product |
+| spy_price_product_default |
+| spy_price_type |
+
+
+
+### Price
+
+Tables containing pricing data, including product prices, scheduled prices, and merchant-specific pricing.
+
+
+View Price tables
+
+| Table |
+|-------|
+| spy_price_product |
+| spy_price_product_default |
+| spy_price_product_offer |
+| spy_price_product_schedule |
+| spy_price_product_schedule_list |
+| spy_price_product_store |
+| spy_price_type |
+| spy_price_product_merchant_relationship |
+| spy_product_option_value_price |
+| spy_shipment_method_price |
+| spy_currency |
+| spy_product |
+| spy_product_abstract |
+| spy_product_option_value |
+| spy_shipment_method |
+| spy_store |
+| spy_merchant_relationship |
+
+
+
+### Stock
+
+Tables containing inventory and availability data.
+
+
+View Stock tables
+
+| Table |
+|-------|
+| spy_availability |
+| spy_availability_abstract |
+| spy_stock |
+| spy_stock_address |
+| spy_stock_product |
+| spy_stock_store |
+| spy_store |
+| spy_product_offer_stock |
+
+
+
+### Category
+
+Tables containing category hierarchy, attributes, and images.
+
+
+View Category tables
+
+| Table |
+|-------|
+| spy_category |
+| spy_category_attribute |
+| spy_category_closure_table |
+| spy_category_image |
+| spy_category_image_set |
+| spy_category_image_set_to_category_image |
+| spy_category_node |
+| spy_category_store |
+| spy_category_template |
+| spy_merchant_category |
+| spy_product_category |
+| spy_store |
+
+
+
+## Identify project-specific tables
+
+Your project may include custom tables that extend the standard Spryker domains. To ensure complete exports, identify these tables and include them alongside the standard tables.
+
+Run the following SQL query against your database to find tables related to a specific domain. Replace the table names in the `IN` clause with the base tables of your target domain.
+
+**Example for Order domain:**
+
+```sql
+(
+ -- Tables that reference order tables
+ SELECT DISTINCT kcu.TABLE_NAME AS table_name
+ FROM information_schema.KEY_COLUMN_USAGE kcu
+ WHERE kcu.REFERENCED_TABLE_SCHEMA = DATABASE()
+ AND kcu.REFERENCED_TABLE_NAME IN ('spy_sales_order', 'spy_sales_order_item')
+)
+UNION
+(
+ -- Tables referenced by order tables
+ SELECT DISTINCT kcu.REFERENCED_TABLE_NAME AS table_name
+ FROM information_schema.KEY_COLUMN_USAGE kcu
+ WHERE kcu.TABLE_SCHEMA = DATABASE()
+ AND kcu.TABLE_NAME IN ('spy_sales_order', 'spy_sales_order_item')
+ AND kcu.REFERENCED_TABLE_NAME IS NOT NULL
+)
+ORDER BY table_name;
+```
+
+Compare the query results with the standard tables list. Any tables not in the standard list are project-specific and should be included in your export request.
+
+This query also detects optional Spryker features that may be installed in your project but not listed in the standard tables, such as ECO module tables.
+
+## Next steps
+
+Once you have identified all required tables for your domain, [request an export setup](/docs/ca/dev/set-up-data-export-to-s3.html#request-an-export-setup) by submitting a support ticket with your table list.