[
  {
    "type": "create_table",
    "description": "Create QuickBooks account mapping table for each store",
    "database": "{{store}}",
    "check_query": "SHOW TABLES LIKE 'qb_account_mapping'",
    "sql": "CREATE TABLE IF NOT EXISTS `qb_account_mapping` (\n  `id` INT(11) NOT NULL AUTO_INCREMENT,\n  `fieldName` VARCHAR(100) NOT NULL COMMENT 'S-file field name (e.g., cashTendered)',\n  `fieldDescription` VARCHAR(255) NULL COMMENT 'Human readable description',\n  `fieldCategory` VARCHAR(50) NULL COMMENT 'Category: sales, payments, buys, cash, other',\n  `qbAccountId` VARCHAR(50) NULL COMMENT 'QuickBooks account ID',\n  `qbAccountName` VARCHAR(255) NULL COMMENT 'QuickBooks account name for display',\n  `qbAccountType` VARCHAR(100) NULL COMMENT 'QuickBooks account type',\n  `entryType` ENUM('debit', 'credit') NOT NULL DEFAULT 'debit' COMMENT 'Whether this is a debit or credit entry',\n  `journalEntryGroup` VARCHAR(50) NULL COMMENT 'Which journal entry this belongs to: sales, cogs, buys',\n  `isActive` TINYINT(1) NOT NULL DEFAULT 1,\n  `createdAt` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,\n  `updatedAt` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,\n  PRIMARY KEY (`id`),\n  UNIQUE KEY `uk_field_name` (`fieldName`),\n  INDEX `idx_category` (`fieldCategory`),\n  INDEX `idx_journal_group` (`journalEntryGroup`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Maps S-file fields to QuickBooks accounts'"
  }
]
