-- MySQL dump 10.13  Distrib 26.7.0, for macos26.6 (arm64)
--
-- Host: localhost    Database: ca_automator
-- ------------------------------------------------------
-- Server version	26.7.0

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!50503 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
SET @MYSQLDUMP_TEMP_LOG_BIN = @@SESSION.SQL_LOG_BIN;
SET @@SESSION.SQL_LOG_BIN= 0;

--
-- GTID state at the beginning of the backup 
--

SET @@GLOBAL.GTID_PURGED=/*!80000 '+'*/ 'b220f2d8-a479-11f1-9ebd-f161102ba9cd:1-52297';

--
-- Table structure for table `about_milestone`
--

DROP TABLE IF EXISTS `about_milestone`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `about_milestone` (
  `id` int NOT NULL AUTO_INCREMENT,
  `firm_id` int NOT NULL,
  `year` text NOT NULL,
  `title` text NOT NULL,
  `description` text,
  `image_path` text,
  `sort_order` int NOT NULL DEFAULT '0',
  `is_published` int NOT NULL DEFAULT '0',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_about_milestone_firm` (`firm_id`,`is_published`),
  CONSTRAINT `about_milestone_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `about_milestone`
--

LOCK TABLES `about_milestone` WRITE;
/*!40000 ALTER TABLE `about_milestone` DISABLE KEYS */;
INSERT INTO `about_milestone` VALUES (1,1,'2018','Established','We Started kreesa.com on 2018.','/media/cbf1a908a2888ebdab5b972ec00143b7.png',0,1,'2026-08-30 01:04:37'),(2,1,'2020','Won Startup award','We won startup award in 2020.','/media/b6f72e3fd1fa1bde14de5f51b46cdac8.png',1,1,'2026-08-30 01:05:45');
/*!40000 ALTER TABLE `about_milestone` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `acct_borrowing_capitalization`
--

DROP TABLE IF EXISTS `acct_borrowing_capitalization`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `acct_borrowing_capitalization` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `fy_label` varchar(100) NOT NULL,
  `qualifying_asset` text NOT NULL,
  `period_days` int NOT NULL DEFAULT '365',
  `specific_borrowings_json` varchar(100) NOT NULL DEFAULT '[]',
  `general_borrowings_json` varchar(100) NOT NULL DEFAULT '[]',
  `capitalizable_expenditure_general` double NOT NULL DEFAULT '0',
  `income_from_temp_investment` double NOT NULL DEFAULT '0',
  `note` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_acct_borrowcap_client` (`client_id`,`fy_label`),
  CONSTRAINT `acct_borrowing_capitalization_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `acct_borrowing_capitalization`
--

LOCK TABLES `acct_borrowing_capitalization` WRITE;
/*!40000 ALTER TABLE `acct_borrowing_capitalization` DISABLE KEYS */;
/*!40000 ALTER TABLE `acct_borrowing_capitalization` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `acct_cash_flow_line`
--

DROP TABLE IF EXISTS `acct_cash_flow_line`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `acct_cash_flow_line` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `fy_label` varchar(100) NOT NULL,
  `section` varchar(100) NOT NULL DEFAULT 'operating_adjustment',
  `label` text NOT NULL,
  `amount` double NOT NULL DEFAULT '0',
  `note` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_acct_cfline_client` (`client_id`,`fy_label`),
  CONSTRAINT `acct_cash_flow_line_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `acct_cash_flow_line`
--

LOCK TABLES `acct_cash_flow_line` WRITE;
/*!40000 ALTER TABLE `acct_cash_flow_line` DISABLE KEYS */;
/*!40000 ALTER TABLE `acct_cash_flow_line` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `acct_cash_flow_setting`
--

DROP TABLE IF EXISTS `acct_cash_flow_setting`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `acct_cash_flow_setting` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `fy_label` varchar(100) NOT NULL,
  `method` varchar(100) NOT NULL DEFAULT 'indirect',
  `opening_cash` double NOT NULL DEFAULT '0',
  `closing_cash_actual` double DEFAULT NULL,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `client_id` (`client_id`,`fy_label`),
  CONSTRAINT `acct_cash_flow_setting_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `acct_cash_flow_setting`
--

LOCK TABLES `acct_cash_flow_setting` WRITE;
/*!40000 ALTER TABLE `acct_cash_flow_setting` DISABLE KEYS */;
/*!40000 ALTER TABLE `acct_cash_flow_setting` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `acct_chart_of_accounts`
--

DROP TABLE IF EXISTS `acct_chart_of_accounts`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `acct_chart_of_accounts` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `code` text,
  `name` text NOT NULL,
  `fs_head` text,
  `normal_side` varchar(100) NOT NULL DEFAULT 'debit',
  `parent_code` text,
  `is_active` int NOT NULL DEFAULT '1',
  `notes` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_acct_coa_client` (`client_id`),
  CONSTRAINT `acct_chart_of_accounts_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `acct_chart_of_accounts`
--

LOCK TABLES `acct_chart_of_accounts` WRITE;
/*!40000 ALTER TABLE `acct_chart_of_accounts` DISABLE KEYS */;
/*!40000 ALTER TABLE `acct_chart_of_accounts` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `acct_closing_checklist_item`
--

DROP TABLE IF EXISTS `acct_closing_checklist_item`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `acct_closing_checklist_item` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `fy_label` varchar(100) NOT NULL,
  `area` varchar(100) NOT NULL,
  `criterion` text NOT NULL,
  `status` varchar(100) NOT NULL DEFAULT 'pending',
  `evidence` text,
  `remark` text,
  `created_by` int DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` text,
  PRIMARY KEY (`id`),
  KEY `created_by` (`created_by`),
  KEY `ix_acct_closing_client` (`client_id`,`fy_label`,`area`),
  CONSTRAINT `acct_closing_checklist_item_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `acct_closing_checklist_item_ibfk_2` FOREIGN KEY (`created_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `acct_closing_checklist_item`
--

LOCK TABLES `acct_closing_checklist_item` WRITE;
/*!40000 ALTER TABLE `acct_closing_checklist_item` DISABLE KEYS */;
/*!40000 ALTER TABLE `acct_closing_checklist_item` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `acct_equity_component`
--

DROP TABLE IF EXISTS `acct_equity_component`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `acct_equity_component` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `fy_label` varchar(100) NOT NULL,
  `name` text NOT NULL,
  `opening_balance` double NOT NULL DEFAULT '0',
  `profit_for_year` double NOT NULL DEFAULT '0',
  `oci` double NOT NULL DEFAULT '0',
  `dividend` double NOT NULL DEFAULT '0',
  `share_issued` double NOT NULL DEFAULT '0',
  `share_buyback` double NOT NULL DEFAULT '0',
  `transfer_in` double NOT NULL DEFAULT '0',
  `transfer_out` double NOT NULL DEFAULT '0',
  `other_movement` double NOT NULL DEFAULT '0',
  `note` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_acct_equity_client` (`client_id`,`fy_label`),
  CONSTRAINT `acct_equity_component_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `acct_equity_component`
--

LOCK TABLES `acct_equity_component` WRITE;
/*!40000 ALTER TABLE `acct_equity_component` DISABLE KEYS */;
/*!40000 ALTER TABLE `acct_equity_component` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `acct_fx_item`
--

DROP TABLE IF EXISTS `acct_fx_item`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `acct_fx_item` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `fy_label` varchar(100) NOT NULL,
  `item` text NOT NULL,
  `currency` varchar(100) NOT NULL DEFAULT 'USD',
  `foreign_amount` double NOT NULL DEFAULT '0',
  `booked_rate` double NOT NULL DEFAULT '0',
  `closing_rate` double NOT NULL DEFAULT '0',
  `classification` varchar(100) NOT NULL DEFAULT 'asset',
  `note` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_acct_fx_client` (`client_id`,`fy_label`),
  CONSTRAINT `acct_fx_item_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `acct_fx_item`
--

LOCK TABLES `acct_fx_item` WRITE;
/*!40000 ALTER TABLE `acct_fx_item` DISABLE KEYS */;
/*!40000 ALTER TABLE `acct_fx_item` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `acct_interest_accrual`
--

DROP TABLE IF EXISTS `acct_interest_accrual`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `acct_interest_accrual` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `fy_label` varchar(100) NOT NULL,
  `item` text NOT NULL,
  `principal` double NOT NULL DEFAULT '0',
  `rate_pct` double NOT NULL DEFAULT '0',
  `from_date` text NOT NULL,
  `to_date` text NOT NULL,
  `day_count_basis` varchar(100) NOT NULL DEFAULT '365',
  `compounding` varchar(100) NOT NULL DEFAULT 'simple',
  `note` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_acct_interest_client` (`client_id`,`fy_label`),
  CONSTRAINT `acct_interest_accrual_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `acct_interest_accrual`
--

LOCK TABLES `acct_interest_accrual` WRITE;
/*!40000 ALTER TABLE `acct_interest_accrual` DISABLE KEYS */;
/*!40000 ALTER TABLE `acct_interest_accrual` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `acct_prepayment`
--

DROP TABLE IF EXISTS `acct_prepayment`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `acct_prepayment` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `fy_label` varchar(100) NOT NULL,
  `item` text NOT NULL,
  `total_amount` double NOT NULL DEFAULT '0',
  `start_date` text NOT NULL,
  `end_date` text NOT NULL,
  `note` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_acct_prepay_client` (`client_id`,`fy_label`),
  CONSTRAINT `acct_prepayment_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `acct_prepayment`
--

LOCK TABLES `acct_prepayment` WRITE;
/*!40000 ALTER TABLE `acct_prepayment` DISABLE KEYS */;
/*!40000 ALTER TABLE `acct_prepayment` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `acct_provision`
--

DROP TABLE IF EXISTS `acct_provision`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `acct_provision` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `fy_label` varchar(100) NOT NULL,
  `category` varchar(100) NOT NULL DEFAULT 'provision',
  `item` text NOT NULL,
  `basis` text,
  `opening_balance` double NOT NULL DEFAULT '0',
  `charge_for_year` double NOT NULL DEFAULT '0',
  `utilized` double NOT NULL DEFAULT '0',
  `reversed` double NOT NULL DEFAULT '0',
  `note` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_acct_provision_client` (`client_id`,`fy_label`),
  CONSTRAINT `acct_provision_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `acct_provision`
--

LOCK TABLES `acct_provision` WRITE;
/*!40000 ALTER TABLE `acct_provision` DISABLE KEYS */;
/*!40000 ALTER TABLE `acct_provision` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `acct_working_paper`
--

DROP TABLE IF EXISTS `acct_working_paper`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `acct_working_paper` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `fy_label` text,
  `ref` text NOT NULL,
  `title` text,
  `content` text,
  `prepared_by` int DEFAULT NULL,
  `prepared_at` text,
  `reviewed_by` int DEFAULT NULL,
  `reviewed_at` text,
  `review_status` varchar(100) NOT NULL DEFAULT 'open',
  `review_comment` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `prepared_by` (`prepared_by`),
  KEY `reviewed_by` (`reviewed_by`),
  KEY `ix_acct_wp_client` (`client_id`),
  CONSTRAINT `acct_working_paper_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `acct_working_paper_ibfk_2` FOREIGN KEY (`prepared_by`) REFERENCES `app_user` (`id`),
  CONSTRAINT `acct_working_paper_ibfk_3` FOREIGN KEY (`reviewed_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `acct_working_paper`
--

LOCK TABLES `acct_working_paper` WRITE;
/*!40000 ALTER TABLE `acct_working_paper` DISABLE KEYS */;
/*!40000 ALTER TABLE `acct_working_paper` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ai_provider_key`
--

DROP TABLE IF EXISTS `ai_provider_key`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ai_provider_key` (
  `id` int NOT NULL AUTO_INCREMENT,
  `firm_id` int NOT NULL,
  `provider` varchar(100) NOT NULL,
  `api_key_enc` text NOT NULL,
  `model` text,
  `is_active` int NOT NULL DEFAULT '0',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_by` int DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `firm_id` (`firm_id`,`provider`),
  KEY `updated_by` (`updated_by`),
  CONSTRAINT `ai_provider_key_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE,
  CONSTRAINT `ai_provider_key_ibfk_2` FOREIGN KEY (`updated_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ai_provider_key`
--

LOCK TABLES `ai_provider_key` WRITE;
/*!40000 ALTER TABLE `ai_provider_key` DISABLE KEYS */;
INSERT INTO `ai_provider_key` VALUES (1,1,'groq','dDbWAyqlrPD9MNIRvCBXNbW5cCIprKlpqCVYBtw0w7XszQLSsBjMoAuLOAxyio+uOauK0Pz7GfA0IaUp5k4X3bCJpNEwduZ7',NULL,1,'2026-08-29 11:31:04','2026-08-29 11:31:04',NULL);
/*!40000 ALTER TABLE `ai_provider_key` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `app_user`
--

DROP TABLE IF EXISTS `app_user`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `app_user` (
  `id` int NOT NULL AUTO_INCREMENT,
  `firm_id` int NOT NULL,
  `full_name` text NOT NULL,
  `email` varchar(100) NOT NULL,
  `role` varchar(100) NOT NULL DEFAULT 'staff',
  `membership_no` text,
  `pwd_hash` text NOT NULL,
  `pwd_salt` text NOT NULL,
  `is_active` int NOT NULL DEFAULT '1',
  `last_login_at` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `is_super_admin` int NOT NULL DEFAULT '0',
  `is_platform_admin` int NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `email` (`email`),
  KEY `ix_user_firm` (`firm_id`),
  CONSTRAINT `app_user_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `app_user`
--

LOCK TABLES `app_user` WRITE;
/*!40000 ALTER TABLE `app_user` DISABLE KEYS */;
INSERT INTO `app_user` VALUES (1,1,'Nishant','caautomator.com','partner',NULL,'805ac2dc33825415315b33afe32b8e9751cea2dc00eeb3e9677783c1a01f72c1','c25589039272f100393cd5a063296766',1,'2026-08-31 17:04:12','2026-08-18 14:23:12',1,1),(2,1,'NISHANT MARASINI','nishantmarasini@gmail.com','readonly',NULL,'0ab7359136ff0746c638ffcdc4f38af41caa9ba9a9852defdba3dc5a3112d6cf','ce5d04ba0af8beb2a293aaa7bc097f41',1,'2026-08-22 05:22:33','2026-08-22 05:16:19',0,0),(3,2,'Bikas','jackfernand34@gmail.com','partner',NULL,'2acfb30f66587262333988bead41ffc49ea008ab525e514aad51f0539219be9f','ae564a252791e007d677ebe0c2639d7b',1,'2026-08-30 02:02:29','2026-08-29 16:30:24',1,0);
/*!40000 ALTER TABLE `app_user` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `application_stage_history`
--

DROP TABLE IF EXISTS `application_stage_history`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `application_stage_history` (
  `id` int NOT NULL AUTO_INCREMENT,
  `application_id` int NOT NULL,
  `from_stage` text,
  `to_stage` text NOT NULL,
  `changed_by` int DEFAULT NULL,
  `note` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `changed_by` (`changed_by`),
  KEY `ix_stage_history_app` (`application_id`),
  CONSTRAINT `application_stage_history_ibfk_1` FOREIGN KEY (`application_id`) REFERENCES `job_application` (`id`) ON DELETE CASCADE,
  CONSTRAINT `application_stage_history_ibfk_2` FOREIGN KEY (`changed_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `application_stage_history`
--

LOCK TABLES `application_stage_history` WRITE;
/*!40000 ALTER TABLE `application_stage_history` DISABLE KEYS */;
/*!40000 ALTER TABLE `application_stage_history` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `appointment_booking`
--

DROP TABLE IF EXISTS `appointment_booking`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `appointment_booking` (
  `id` int NOT NULL AUTO_INCREMENT,
  `slot_id` int NOT NULL,
  `firm_id` int NOT NULL,
  `name` text NOT NULL,
  `email` text NOT NULL,
  `phone` text,
  `company` text,
  `method` varchar(100) NOT NULL DEFAULT 'video',
  `message` text,
  `price` double NOT NULL,
  `status` varchar(100) NOT NULL DEFAULT 'pending',
  `cancel_reason` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `active_slot_id` int GENERATED ALWAYS AS ((case when (`status` <> _utf8mb4'cancelled') then `slot_id` end)) VIRTUAL,
  `service` text,
  `service_id` int DEFAULT NULL,
  `client_id` int DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `ux_appt_booking_active_slot` (`active_slot_id`),
  KEY `slot_id` (`slot_id`),
  KEY `ix_appt_booking_firm` (`firm_id`,`status`),
  KEY `service_id` (`service_id`),
  KEY `client_id` (`client_id`),
  CONSTRAINT `appointment_booking_ibfk_1` FOREIGN KEY (`slot_id`) REFERENCES `appointment_slot` (`id`) ON DELETE CASCADE,
  CONSTRAINT `appointment_booking_ibfk_2` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE,
  CONSTRAINT `appointment_booking_ibfk_3` FOREIGN KEY (`service_id`) REFERENCES `service` (`id`) ON DELETE SET NULL,
  CONSTRAINT `appointment_booking_ibfk_4` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `appointment_booking`
--

LOCK TABLES `appointment_booking` WRITE;
/*!40000 ALTER TABLE `appointment_booking` DISABLE KEYS */;
INSERT INTO `appointment_booking` (`id`, `slot_id`, `firm_id`, `name`, `email`, `phone`, `company`, `method`, `message`, `price`, `status`, `cancel_reason`, `created_at`, `service`, `service_id`, `client_id`) VALUES (1,1,1,'NISHANT MARASINI','nishantmarasini@gmail.com','+9779843244288','qew','in_person','qwretryh',2500,'cancelled',NULL,'2026-08-24 16:08:50','fdi',NULL,NULL);
/*!40000 ALTER TABLE `appointment_booking` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `appointment_slot`
--

DROP TABLE IF EXISTS `appointment_slot`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `appointment_slot` (
  `id` int NOT NULL AUTO_INCREMENT,
  `firm_id` int NOT NULL,
  `date` varchar(100) NOT NULL,
  `start_time` varchar(100) NOT NULL,
  `end_time` text NOT NULL,
  `price_per_hour` double NOT NULL,
  `status` varchar(100) NOT NULL DEFAULT 'open',
  `notes` text,
  `created_by` int DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `firm_id` (`firm_id`,`date`,`start_time`),
  KEY `created_by` (`created_by`),
  KEY `ix_appt_slot_lookup` (`firm_id`,`date`,`status`),
  CONSTRAINT `appointment_slot_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE,
  CONSTRAINT `appointment_slot_ibfk_2` FOREIGN KEY (`created_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `appointment_slot`
--

LOCK TABLES `appointment_slot` WRITE;
/*!40000 ALTER TABLE `appointment_slot` DISABLE KEYS */;
INSERT INTO `appointment_slot` VALUES (1,1,'2026-08-25','10:00','11:00',2500,'open',NULL,1,'2026-08-24 15:46:27'),(2,1,'2026-08-25','11:00','12:00',2500,'open',NULL,1,'2026-08-24 15:46:27'),(3,1,'2026-08-25','12:00','13:00',2500,'open',NULL,1,'2026-08-24 15:46:27'),(4,1,'2026-08-26','10:00','11:00',2500,'open',NULL,1,'2026-08-24 15:46:27'),(5,1,'2026-08-26','11:00','12:00',2500,'open',NULL,1,'2026-08-24 15:46:27'),(6,1,'2026-08-26','12:00','13:00',2500,'open',NULL,1,'2026-08-24 15:46:27'),(7,1,'2026-08-27','10:00','11:00',2500,'open',NULL,1,'2026-08-24 15:46:27'),(8,1,'2026-08-27','11:00','12:00',2500,'open',NULL,1,'2026-08-24 15:46:27'),(9,1,'2026-08-27','12:00','13:00',2500,'open',NULL,1,'2026-08-24 15:46:27'),(10,1,'2026-08-28','10:00','11:00',2500,'open',NULL,1,'2026-08-24 15:46:27'),(11,1,'2026-08-28','11:00','12:00',2500,'open',NULL,1,'2026-08-24 15:46:27'),(12,1,'2026-08-28','12:00','13:00',2500,'open',NULL,1,'2026-08-24 15:46:27'),(13,1,'2026-08-31','10:00','11:00',2500,'open',NULL,1,'2026-08-24 15:46:27'),(14,1,'2026-08-31','11:00','12:00',2500,'open',NULL,1,'2026-08-24 15:46:27'),(15,1,'2026-08-31','12:00','13:00',2500,'open',NULL,1,'2026-08-24 15:46:27');
/*!40000 ALTER TABLE `appointment_slot` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `aud_analytical_procedure`
--

DROP TABLE IF EXISTS `aud_analytical_procedure`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `aud_analytical_procedure` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `fy_label` varchar(100) NOT NULL,
  `metric` text NOT NULL,
  `prior_period_value` double DEFAULT NULL,
  `current_period_value` double DEFAULT NULL,
  `expected_value` double DEFAULT NULL,
  `threshold_pct` double NOT NULL DEFAULT '10',
  `explanation` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_aud_analytical_client` (`client_id`,`fy_label`),
  CONSTRAINT `aud_analytical_procedure_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `aud_analytical_procedure`
--

LOCK TABLES `aud_analytical_procedure` WRITE;
/*!40000 ALTER TABLE `aud_analytical_procedure` DISABLE KEYS */;
/*!40000 ALTER TABLE `aud_analytical_procedure` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `aud_checklist_item`
--

DROP TABLE IF EXISTS `aud_checklist_item`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `aud_checklist_item` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `fy_label` varchar(100) NOT NULL,
  `area` varchar(100) NOT NULL,
  `criterion` text NOT NULL,
  `status` varchar(100) NOT NULL DEFAULT 'pending',
  `evidence` text,
  `remark` text,
  `created_by` int DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` text,
  PRIMARY KEY (`id`),
  KEY `created_by` (`created_by`),
  KEY `ix_aud_checklist_client` (`client_id`,`fy_label`,`area`),
  CONSTRAINT `aud_checklist_item_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `aud_checklist_item_ibfk_2` FOREIGN KEY (`created_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `aud_checklist_item`
--

LOCK TABLES `aud_checklist_item` WRITE;
/*!40000 ALTER TABLE `aud_checklist_item` DISABLE KEYS */;
/*!40000 ALTER TABLE `aud_checklist_item` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `aud_going_concern_assessment`
--

DROP TABLE IF EXISTS `aud_going_concern_assessment`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `aud_going_concern_assessment` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `fy_label` varchar(100) NOT NULL,
  `conclusion` text,
  `material_uncertainty_exists` int NOT NULL DEFAULT '0',
  `notes` text,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `client_id` (`client_id`,`fy_label`),
  CONSTRAINT `aud_going_concern_assessment_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `aud_going_concern_assessment`
--

LOCK TABLES `aud_going_concern_assessment` WRITE;
/*!40000 ALTER TABLE `aud_going_concern_assessment` DISABLE KEYS */;
/*!40000 ALTER TABLE `aud_going_concern_assessment` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `aud_going_concern_indicator`
--

DROP TABLE IF EXISTS `aud_going_concern_indicator`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `aud_going_concern_indicator` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `fy_label` varchar(100) NOT NULL,
  `category` text,
  `indicator` text NOT NULL,
  `present` int NOT NULL DEFAULT '0',
  `details` text,
  `mitigating_factor` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_aud_gc_client` (`client_id`,`fy_label`),
  CONSTRAINT `aud_going_concern_indicator_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `aud_going_concern_indicator`
--

LOCK TABLES `aud_going_concern_indicator` WRITE;
/*!40000 ALTER TABLE `aud_going_concern_indicator` DISABLE KEYS */;
INSERT INTO `aud_going_concern_indicator` VALUES (1,4,'2082-83','Financial','New indicator',0,NULL,NULL,'2026-08-25 13:03:27');
/*!40000 ALTER TABLE `aud_going_concern_indicator` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `aud_sample_selection`
--

DROP TABLE IF EXISTS `aud_sample_selection`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `aud_sample_selection` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `fy_label` varchar(100) NOT NULL,
  `area` text NOT NULL,
  `population_description` text,
  `population_size` int NOT NULL DEFAULT '0',
  `population_value` double DEFAULT NULL,
  `method` varchar(100) NOT NULL DEFAULT 'systematic',
  `sample_size` int NOT NULL DEFAULT '0',
  `start_point` int DEFAULT NULL,
  `selected_items_note` text,
  `notes` text,
  `created_by` int DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `created_by` (`created_by`),
  KEY `ix_aud_sample_client` (`client_id`,`fy_label`),
  CONSTRAINT `aud_sample_selection_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `aud_sample_selection_ibfk_2` FOREIGN KEY (`created_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `aud_sample_selection`
--

LOCK TABLES `aud_sample_selection` WRITE;
/*!40000 ALTER TABLE `aud_sample_selection` DISABLE KEYS */;
/*!40000 ALTER TABLE `aud_sample_selection` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `aud_test_item`
--

DROP TABLE IF EXISTS `aud_test_item`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `aud_test_item` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `fy_label` varchar(100) NOT NULL,
  `area` varchar(100) NOT NULL,
  `test_type` varchar(100) NOT NULL DEFAULT 'vouching',
  `sample_id` int DEFAULT NULL,
  `item_ref` text,
  `description` text,
  `book_amount` double NOT NULL DEFAULT '0',
  `tested_amount` double DEFAULT NULL,
  `confirmation_status` text,
  `status` varchar(100) NOT NULL DEFAULT 'open',
  `detail_json` text,
  `remark` text,
  `created_by` int DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `sample_id` (`sample_id`),
  KEY `created_by` (`created_by`),
  KEY `ix_aud_testitem_client` (`client_id`,`fy_label`,`area`),
  CONSTRAINT `aud_test_item_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `aud_test_item_ibfk_2` FOREIGN KEY (`sample_id`) REFERENCES `aud_sample_selection` (`id`) ON DELETE SET NULL,
  CONSTRAINT `aud_test_item_ibfk_3` FOREIGN KEY (`created_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `aud_test_item`
--

LOCK TABLES `aud_test_item` WRITE;
/*!40000 ALTER TABLE `aud_test_item` DISABLE KEYS */;
/*!40000 ALTER TABLE `aud_test_item` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `aud_working_paper`
--

DROP TABLE IF EXISTS `aud_working_paper`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `aud_working_paper` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `fy_label` text,
  `ref` text NOT NULL,
  `title` text,
  `content` text,
  `prepared_by` int DEFAULT NULL,
  `prepared_at` text,
  `reviewed_by` int DEFAULT NULL,
  `reviewed_at` text,
  `review_status` varchar(100) NOT NULL DEFAULT 'open',
  `review_comment` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `prepared_by` (`prepared_by`),
  KEY `reviewed_by` (`reviewed_by`),
  KEY `ix_aud_wp_client` (`client_id`),
  CONSTRAINT `aud_working_paper_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `aud_working_paper_ibfk_2` FOREIGN KEY (`prepared_by`) REFERENCES `app_user` (`id`),
  CONSTRAINT `aud_working_paper_ibfk_3` FOREIGN KEY (`reviewed_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `aud_working_paper`
--

LOCK TABLES `aud_working_paper` WRITE;
/*!40000 ALTER TABLE `aud_working_paper` DISABLE KEYS */;
/*!40000 ALTER TABLE `aud_working_paper` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `audit_criterion`
--

DROP TABLE IF EXISTS `audit_criterion`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `audit_criterion` (
  `id` int NOT NULL AUTO_INCREMENT,
  `area` varchar(100) NOT NULL,
  `criterion` text NOT NULL,
  `applies_to` varchar(100) NOT NULL DEFAULT 'all',
  `sort_order` int NOT NULL DEFAULT '100',
  `is_builtin` int NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `ux_audit_criterion_area_criterion` (`area`,`criterion`(255)),
  KEY `ix_audit_criterion_area` (`area`)
) ENGINE=InnoDB AUTO_INCREMENT=205 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `audit_criterion`
--

LOCK TABLES `audit_criterion` WRITE;
/*!40000 ALTER TABLE `audit_criterion` DISABLE KEYS */;
INSERT INTO `audit_criterion` VALUES (1,'Governance & Audit Planning','Terms of reference / audit charter for this engagement obtained and scope agreed with those charged with governance.','all',10,1),(2,'Governance & Audit Planning','Prior period internal audit findings obtained and their closure status verified before this period\'s fieldwork begins.','all',20,1),(3,'Governance & Audit Planning','Organisation chart, delegation of authority and approval matrix obtained and understood.','all',30,1),(4,'Governance & Audit Planning','Minutes of board/management meetings for the period reviewed for decisions with a financial or control impact.','all',40,1),(5,'Governance & Audit Planning','Key risks facing the entity for this period identified and audit scope adjusted to cover them.','all',50,1),(6,'Governance & Audit Planning','Materiality for the engagement discussed and agreed with the audit committee/management, where applicable.','all',60,1),(7,'Governance & Audit Planning','Any change in accounting policy, key personnel, or IT system during the period identified and its impact assessed.','all',70,1),(8,'Governance & Audit Planning','Confidentiality and independence considerations for this engagement confirmed.','all',80,1),(9,'Cash & Bank','Bank reconciliation statements for all accounts obtained for the period-end and reviewed for old/unusual reconciling items.','all',1000,1),(10,'Cash & Bank','Cash count (if maintaining physical cash) performed on a surprise basis and reconciled to the cash book.','all',1010,1),(11,'Cash & Bank','Authorisation matrix for payments (cheque/online) reviewed — dual signatory/maker-checker in place for material amounts.','all',1020,1),(12,'Cash & Bank','Bank confirmation obtained directly from the bank(s) for balances, facilities and any lien/charge.','all',1030,1),(13,'Cash & Bank','Petty cash imprest system reviewed — replenishment basis, maximum limit, and supporting vouchers for expenses.','all',1040,1),(14,'Cash & Bank','Post-dated cheques (issued and received) reviewed for proper control and disclosure.','all',1050,1),(15,'Cash & Bank','Foreign currency bank accounts (if any) reviewed for exchange rate application and NRB reporting compliance.','all',1060,1),(16,'Cash & Bank','Dormant or unused bank accounts identified and rationale for keeping them open assessed.','all',1070,1),(17,'Purchases & Accounts Payable','Purchase requisition → purchase order → goods receipt → invoice → payment cycle walked through for segregation of duties.','all',2000,1),(18,'Purchases & Accounts Payable','Sample of purchases traced from requisition to payment to confirm each step was properly authorised.','all',2010,1),(19,'Purchases & Accounts Payable','Vendor master data reviewed for duplicate vendors, missing PAN, and unauthorised additions.','all',2020,1),(20,'Purchases & Accounts Payable','Goods received but not invoiced (GRNI) and invoices received but not recorded reviewed for completeness of payables.','all',2030,1),(21,'Purchases & Accounts Payable','Purchase returns and debit notes reviewed for proper authorisation and accounting.','all',2040,1),(22,'Purchases & Accounts Payable','Aging of accounts payable reviewed for old/disputed balances and follow-up status.','all',2050,1),(23,'Purchases & Accounts Payable','Related-party purchases identified and reviewed for arm\'s-length pricing and disclosure.','all',2060,1),(24,'Purchases & Accounts Payable','Advance payments to suppliers reviewed for recoverability and ageing.','all',2070,1),(25,'Sales, Receivables & Revenue','Order → dispatch → invoice → collection cycle walked through for segregation of duties.','all',3000,1),(26,'Sales, Receivables & Revenue','Sample of sales invoices traced to dispatch/delivery documentation to test occurrence and cutoff.','all',3010,1),(27,'Sales, Receivables & Revenue','Credit control policy reviewed — credit limits set, monitored, and exceptions approved.','all',3020,1),(28,'Sales, Receivables & Revenue','Aging of accounts receivable reviewed for overdue balances, and provisioning policy assessed for adequacy.','all',3030,1),(29,'Sales, Receivables & Revenue','Sales returns, credit notes and discounts reviewed for proper authorisation and accounting.','all',3040,1),(30,'Sales, Receivables & Revenue','Revenue recognition policy reviewed against the actual pattern of delivery/performance for this entity.','all',3050,1),(31,'Sales, Receivables & Revenue','Debtors\' balance confirmation performed for a sample of significant customers.','all',3060,1),(32,'Sales, Receivables & Revenue','Related-party sales identified and reviewed for arm\'s-length pricing and disclosure.','all',3070,1),(33,'Inventory & Stores','Physical stock count procedure observed (or count results reviewed) and reconciled to the stock ledger.','all',4000,1),(34,'Inventory & Stores','Slow-moving, obsolete and damaged stock identified and provisioning/write-off policy assessed.','all',4010,1),(35,'Inventory & Stores','Stock valuation method (FIFO/weighted average) applied consistently and correctly.','all',4020,1),(36,'Inventory & Stores','Store issue/receipt vouchers reviewed for proper authorisation and timely recording.','all',4030,1),(37,'Inventory & Stores','Perpetual inventory records (if maintained) reconciled to physical counts periodically, not only at year-end.','all',4040,1),(38,'Inventory & Stores','Stock held at third-party locations (consignment, job-work) confirmed and included/excluded correctly.','all',4050,1),(39,'Inventory & Stores','Insurance coverage for inventory reviewed for adequacy against carrying value.','all',4060,1),(40,'Inventory & Stores','Scrap and waste generation reviewed for proper recording and disposal control.','all',4070,1),(41,'Fixed Assets & Capital Expenditure','Fixed asset register reviewed and physically verified on a sample basis (existence).','all',5000,1),(42,'Fixed Assets & Capital Expenditure','Capital expenditure approval process reviewed — budget vs. actual, authorisation levels.','all',5010,1),(43,'Fixed Assets & Capital Expenditure','Depreciation policy and rates reviewed for consistency with the entity\'s own accounting policy and Schedule 2 (tax) where separately tracked.','all',5020,1),(44,'Fixed Assets & Capital Expenditure','Asset disposals/write-offs reviewed for proper authorisation, gain/loss computation and removal from the register.','all',5030,1),(45,'Fixed Assets & Capital Expenditure','Capital work-in-progress reviewed for ageing and capitalisation trigger.','all',5040,1),(46,'Fixed Assets & Capital Expenditure','Insurance coverage for fixed assets reviewed for adequacy.','all',5050,1),(47,'Fixed Assets & Capital Expenditure','Idle or unused assets identified and their carrying treatment assessed.','all',5060,1),(48,'Fixed Assets & Capital Expenditure','Title deeds/ownership documents for land and buildings verified as available and in the entity\'s name.','all',5070,1),(49,'Payroll & Human Resources','Employee master data reviewed for ghost employees, duplicate records, and proper authorisation of additions/changes.','all',6000,1),(50,'Payroll & Human Resources','Payroll computation for a sample of employees recalculated and traced to bank payment/disbursement.','all',6010,1),(51,'Payroll & Human Resources','Statutory deductions (TDS, SSF/PF, gratuity) reviewed for correct computation and timely deposit.','all',6020,1),(52,'Payroll & Human Resources','Leave, attendance and overtime records reviewed for consistency with payroll processing.','all',6030,1),(53,'Payroll & Human Resources','Employee separation process reviewed — full and final settlement, exit clearance, access revocation.','all',6040,1),(54,'Payroll & Human Resources','Related-party/key management personnel remuneration reviewed for disclosure.','all',6050,1),(55,'Payroll & Human Resources','Statutory registers under the Labour Act (if applicable) reviewed for maintenance and compliance.','all',6060,1),(56,'Payroll & Human Resources','Bonus computation reviewed against the Bonus Act basis where applicable.','all',6070,1),(57,'Statutory & Tax Compliance','Income tax return and instalment payment status reviewed for the period against due dates.','all',7000,1),(58,'Statutory & Tax Compliance','VAT/TDS return filing status reviewed for the period against due dates and reconciled to books.','all',7010,1),(59,'Statutory & Tax Compliance','Any notice, assessment or audit from IRD/OCR/regulator during the period reviewed for status and response.','all',7020,1),(60,'Statutory & Tax Compliance','Statutory registers under the Companies Act (share register, minute books) reviewed for maintenance.','all',7030,1),(61,'Statutory & Tax Compliance','Social Security Fund / provident fund registration and contribution compliance reviewed.','all',7040,1),(62,'Statutory & Tax Compliance','Renewal status of business registration, PAN/VAT certificate, and sector-specific licences reviewed.','all',7050,1),(63,'Statutory & Tax Compliance','Related regulatory filings (NRB, SEBON, sector regulator, as applicable) reviewed for timeliness.','all',7060,1),(64,'IT & General Controls','User access review performed — access rights match current role, terminated employees\' access revoked promptly.','all',8000,1),(65,'IT & General Controls','Data backup policy and its actual execution reviewed for adequacy and recovery testing.','all',8010,1),(66,'IT & General Controls','Password policy and system security settings reviewed for the accounting/ERP system.','all',8020,1),(67,'IT & General Controls','Change management process for the accounting system (if any customisation) reviewed for authorisation and testing.','all',8030,1),(68,'IT & General Controls','Physical access controls over the server/IT room reviewed.','all',8040,1),(69,'IT & General Controls','Business continuity / disaster recovery arrangement reviewed for existence and last test date.','all',8050,1),(70,'Related Party Transactions','Complete list of related parties obtained from management and cross-checked against statutory registers/shareholding.','all',9000,1),(71,'Related Party Transactions','Related-party transactions for the period identified and reviewed for board approval and disclosure.','all',9010,1),(72,'Related Party Transactions','Pricing of related-party transactions assessed for consistency with arm\'s-length practice where determinable.','all',9020,1),(73,'Related Party Transactions','Loans/advances to or from related parties reviewed for terms, interest and recovery status.','all',9030,1),(74,'Legal, Contracts & Insurance','Register of material contracts/agreements reviewed for authorisation and key terms.','all',10000,1),(75,'Legal, Contracts & Insurance','Pending litigation or legal notices reviewed for status and adequacy of provision/disclosure.','all',10010,1),(76,'Legal, Contracts & Insurance','Insurance policies in force reviewed for adequacy of coverage and timely renewal.','all',10020,1),(77,'Legal, Contracts & Insurance','Compliance with key regulatory/contractual covenants (e.g. loan covenants) reviewed.','all',10030,1),(78,'Fraud Risk Indicators','Whistleblower/complaint mechanism (if any) reviewed for complaints received and resolution status during the period.','all',11000,1),(79,'Fraud Risk Indicators','Unusual journal entries (round amounts, weekend/after-hours postings, entries by senior management directly) reviewed.','all',11010,1),(80,'Fraud Risk Indicators','Management override risk assessed — instances of overridden controls or approvals bypassed identified.','all',11020,1),(81,'Fraud Risk Indicators','Vendor/customer master data cross-checked against employee master data for related-party/conflict-of-interest matches.','all',11030,1),(82,'Cash & Bank','Loan portfolio reviewed for classification (pass/watch/substandard/doubtful/loss) per NRB directives and provisioning adequacy.','[\"Bank / Financial Institution\"]',12000,1),(83,'Cash & Bank','Loan documentation for a sample of accounts reviewed for completeness (collateral, sanction, disbursement approval).','[\"Bank / Financial Institution\"]',12010,1),(84,'Cash & Bank','Deposit-taking and interest computation reviewed for a sample of accounts.','[\"Bank / Financial Institution\"]',12020,1),(85,'Cash & Bank','NRB directive compliance (CRR, CAR, single obligor limit) reviewed for the period.','[\"Bank / Financial Institution\"]',12030,1),(86,'Cash & Bank','Non-performing loan recovery and write-off process reviewed for proper authorisation.','[\"Bank / Financial Institution\"]',12040,1),(87,'Governance & Audit Planning','Donor agreement terms reviewed for restricted-fund utilisation compliance.','[\"NGO / INGO\"]',12050,1),(88,'Governance & Audit Planning','SWC (Social Welfare Council) approval and reporting compliance reviewed.','[\"NGO / INGO\"]',12060,1),(89,'Governance & Audit Planning','Project-wise budget vs. actual utilisation reviewed for variance explanation.','[\"NGO / INGO\"]',12070,1),(90,'Governance & Audit Planning','Procurement under donor-funded projects reviewed against the donor\'s own procurement guidelines.','[\"NGO / INGO\"]',12080,1),(91,'Inventory & Stores','Bill of materials (BOM) vs. actual consumption reviewed for abnormal variance.','[\"Manufacturing\"]',12090,1),(92,'Inventory & Stores','Production yield/wastage reviewed against standard/budgeted norms.','[\"Manufacturing\"]',12100,1),(93,'Inventory & Stores','Factory overhead absorption basis reviewed for consistency with NAS 2.','[\"Manufacturing\"]',12110,1),(94,'Sales, Receivables & Revenue','Room revenue reconciled to the occupancy/night-audit report for a sample of days.','[\"Hotel / Hospitality\"]',12120,1),(95,'Sales, Receivables & Revenue','F&B cost-to-sales ratio reviewed against budget/norm for abnormal variance.','[\"Hotel / Hospitality\"]',12130,1),(96,'Sales, Receivables & Revenue','Patient billing reconciled to treatment/discharge records for a sample of cases.','[\"Hospital / Healthcare\"]',12140,1),(97,'Sales, Receivables & Revenue','Drug and medical consumable inventory reviewed for expiry management and pilferage control.','[\"Hospital / Healthcare\"]',12150,1),(98,'Fixed Assets & Capital Expenditure','Contract costing reviewed — percentage of completion basis and its supporting certification.','[\"Construction / Contractor\"]',12160,1),(99,'Fixed Assets & Capital Expenditure','Retention money held by/against the entity reviewed for correct accounting and ageing.','[\"Construction / Contractor\"]',12170,1),(100,'Sales, Receivables & Revenue','Revenue recognition for multi-element/subscription contracts reviewed for consistency with the entity\'s policy.','[\"IT / Software\"]',12180,1),(101,'Cash & Bank','Member savings and group-lending records reviewed for reconciliation to the general ledger.','[\"Microfinance / Cooperative\"]',12190,1),(102,'Cash & Bank','Field-level cash handling by loan officers reviewed for control adequacy.','[\"Microfinance / Cooperative\"]',12200,1);
/*!40000 ALTER TABLE `audit_criterion` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `audit_entity_type`
--

DROP TABLE IF EXISTS `audit_entity_type`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `audit_entity_type` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL,
  `note` text,
  `is_builtin` int NOT NULL DEFAULT '0',
  `sort_order` int NOT NULL DEFAULT '100',
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `audit_entity_type`
--

LOCK TABLES `audit_entity_type` WRITE;
/*!40000 ALTER TABLE `audit_entity_type` DISABLE KEYS */;
INSERT INTO `audit_entity_type` VALUES (1,'Manufacturing','Production/costing cycle, factory overheads, WIP.',1,10),(2,'Trading / Merchandising','Purchase-resale cycle, stock turnover, margins.',1,20),(3,'Service','Time/output-based revenue, WIP on service contracts.',1,30),(4,'Bank / Financial Institution','NRB-regulated; loan portfolio, deposits, treasury.',1,40),(5,'Microfinance / Cooperative','Group lending, member savings, NRB/Department of Cooperatives oversight.',1,50),(6,'Insurance','Underwriting, claims reserving, reinsurance.',1,60),(7,'NGO / INGO','Donor-restricted funds, SWC compliance, project-based budgets.',1,70),(8,'Hospital / Healthcare','Patient billing, drug inventory, medical equipment.',1,80),(9,'Educational Institution','Fee collection, scholarship funds, affiliation compliance.',1,90),(10,'Hotel / Hospitality','Room revenue, F&B cost control, occupancy-linked income.',1,100),(11,'Construction / Contractor','Contract costing, retention money, work-in-progress certification.',1,110),(12,'IT / Software','Revenue recognition on contracts, intangible development cost.',1,120),(13,'Government / Public Enterprise','Budgetary control, public procurement rules, OAG oversight.',1,130),(14,'Remittance / Money Transfer','NRB licensing, agent network reconciliation, AML/CFT.',1,140),(15,'Real Estate / Housing','Land bank, project costing, buyer advances.',1,150),(16,'Other','Not yet catalogued — the workfile records the specific type as free text.',1,9999);
/*!40000 ALTER TABLE `audit_entity_type` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `audit_log`
--

DROP TABLE IF EXISTS `audit_log`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `audit_log` (
  `id` int NOT NULL AUTO_INCREMENT,
  `actor_id` int DEFAULT NULL,
  `action` text NOT NULL,
  `entity` varchar(100) NOT NULL,
  `entity_id` varchar(100) DEFAULT NULL,
  `summary` text,
  `ip` text,
  `at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `actor_id` (`actor_id`),
  KEY `ix_audit_entity` (`entity`,`entity_id`),
  CONSTRAINT `audit_log_ibfk_1` FOREIGN KEY (`actor_id`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=597 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `audit_log`
--

LOCK TABLES `audit_log` WRITE;
/*!40000 ALTER TABLE `audit_log` DISABLE KEYS */;
INSERT INTO `audit_log` VALUES (1,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-18 14:25:32'),(2,1,'create','client','1','dinesh marasini',NULL,'2026-08-18 14:35:23'),(3,1,'update','rate_master','28','PRIMARY',NULL,'2026-08-18 16:06:35'),(4,1,'update','rate_master','29','PRIMARY',NULL,'2026-08-18 16:06:37'),(5,1,'update','rate_master','30','PRIMARY',NULL,'2026-08-18 16:06:40'),(6,1,'update','rate_master','31','PRIMARY',NULL,'2026-08-18 16:06:46'),(7,1,'update','rate_master','32','PRIMARY',NULL,'2026-08-18 16:06:48'),(8,1,'update','rate_master','23','PRIMARY',NULL,'2026-08-18 16:06:50'),(9,1,'update','rate_master','24','PRIMARY',NULL,'2026-08-18 16:06:51'),(10,1,'update','rate_master','25','PRIMARY',NULL,'2026-08-18 16:06:52'),(11,1,'update','rate_master','26','PRIMARY',NULL,'2026-08-18 16:06:53'),(12,1,'update','rate_master','27','PRIMARY',NULL,'2026-08-18 16:06:55'),(13,1,'update','rate_master','33','PRIMARY',NULL,'2026-08-18 16:06:57'),(14,1,'update','rate_master','13','PRIMARY',NULL,'2026-08-18 16:07:01'),(15,1,'update','rate_master','14','PRIMARY',NULL,'2026-08-18 16:07:02'),(16,1,'update','rate_master','15','PRIMARY',NULL,'2026-08-18 16:07:03'),(17,1,'update','rate_master','7','PRIMARY',NULL,'2026-08-18 16:07:05'),(18,1,'update','rate_master','8','PRIMARY',NULL,'2026-08-18 16:07:06'),(19,1,'update','rate_master','9','PRIMARY',NULL,'2026-08-18 16:07:06'),(20,1,'update','rate_master','7','PRIMARY',NULL,'2026-08-18 16:07:09'),(21,1,'update','rate_master','7','PRIMARY',NULL,'2026-08-18 16:07:10'),(22,1,'update','rate_master','10','PRIMARY',NULL,'2026-08-18 16:07:15'),(23,1,'update','rate_master','11','PRIMARY',NULL,'2026-08-18 16:07:17'),(24,1,'update','rate_master','12','PRIMARY',NULL,'2026-08-18 16:07:18'),(25,1,'update','rate_master','1','PRIMARY',NULL,'2026-08-18 16:07:20'),(26,1,'update','rate_master','2','PRIMARY',NULL,'2026-08-18 16:07:23'),(27,1,'update','rate_master','3','PRIMARY',NULL,'2026-08-18 16:07:25'),(28,1,'update','rate_master','4','PRIMARY',NULL,'2026-08-18 16:07:26'),(29,1,'update','rate_master','5','PRIMARY',NULL,'2026-08-18 16:07:27'),(30,1,'update','rate_master','6','PRIMARY',NULL,'2026-08-18 16:07:29'),(31,1,'update','rate_master','16','PRIMARY',NULL,'2026-08-18 16:07:31'),(32,1,'update','rate_master','17','PRIMARY',NULL,'2026-08-18 16:07:31'),(33,1,'update','rate_master','18','PRIMARY',NULL,'2026-08-18 16:07:32'),(34,1,'update','rate_master','19','PRIMARY',NULL,'2026-08-18 16:07:34'),(35,1,'update','rate_master','20','PRIMARY',NULL,'2026-08-18 16:07:34'),(36,1,'update','rate_master','21','PRIMARY',NULL,'2026-08-18 16:07:35'),(37,1,'update','rate_master','22','PRIMARY',NULL,'2026-08-18 16:07:36'),(38,1,'update','rate_master','48','PRIMARY',NULL,'2026-08-18 16:07:39'),(39,1,'update','rate_master','49','PRIMARY',NULL,'2026-08-18 16:07:40'),(40,1,'update','rate_master','50','PRIMARY',NULL,'2026-08-18 16:07:42'),(41,1,'update','rate_master','51','PRIMARY',NULL,'2026-08-18 16:07:46'),(42,1,'update','rate_master','52','PRIMARY',NULL,'2026-08-18 16:07:51'),(43,1,'update','rate_master','34','PRIMARY',NULL,'2026-08-18 16:07:55'),(44,1,'update','rate_master','35','PRIMARY',NULL,'2026-08-18 16:07:56'),(45,1,'update','rate_master','36','PRIMARY',NULL,'2026-08-18 16:07:57'),(46,1,'update','rate_master','37','PRIMARY',NULL,'2026-08-18 16:07:58'),(47,1,'update','rate_master','38','PRIMARY',NULL,'2026-08-18 16:07:59'),(48,1,'update','rate_master','39','PRIMARY',NULL,'2026-08-18 16:07:59'),(49,1,'update','rate_master','40','PRIMARY',NULL,'2026-08-18 16:08:01'),(50,1,'update','rate_master','41','PRIMARY',NULL,'2026-08-18 16:08:01'),(51,1,'update','rate_master','42','PRIMARY',NULL,'2026-08-18 16:08:02'),(52,1,'update','rate_master','43','PRIMARY',NULL,'2026-08-18 16:08:05'),(53,1,'update','rate_master','44','PRIMARY',NULL,'2026-08-18 16:08:08'),(54,1,'update','rate_master','45','PRIMARY',NULL,'2026-08-18 16:08:09'),(55,1,'update','rate_master','46','PRIMARY',NULL,'2026-08-18 16:08:11'),(56,1,'update','rate_master','47','PRIMARY',NULL,'2026-08-18 16:08:12'),(57,1,'create','document','1','xavier clz trial.xls',NULL,'2026-08-19 16:57:54'),(58,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-19 17:00:38'),(59,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-19 17:01:21'),(60,1,'export','report','1','fdi.docx',NULL,'2026-08-19 17:01:38'),(61,1,'export','report','2','fdi.docx_jva',NULL,'2026-08-19 17:01:40'),(62,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-19 17:19:30'),(63,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-19 17:25:06'),(64,1,'update','rate_master','28','PRIMARY',NULL,'2026-08-20 01:09:57'),(65,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-20 01:15:20'),(66,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-20 01:26:20'),(67,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-20 01:28:13'),(68,1,'export','report','3','salary_tds.xlsx',NULL,'2026-08-20 01:59:14'),(69,1,'export','report','4','salary_tds.docx',NULL,'2026-08-20 01:59:14'),(70,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-20 02:15:48'),(71,1,'export','report','3','penalty.xlsx',NULL,'2026-08-20 02:42:45'),(72,1,'export','report','4','penalty.docx',NULL,'2026-08-20 02:42:45'),(73,1,'export','report','3','biz_tax.xlsx',NULL,'2026-08-20 04:06:05'),(74,1,'export','report','4','biz_tax.docx',NULL,'2026-08-20 04:06:05'),(75,1,'create','rate_master','85','income_tax.slab_6_ceiling',NULL,'2026-08-20 04:24:46'),(76,1,'delete','rate_master','85','income_tax.slab_6_ceiling',NULL,'2026-08-20 04:24:46'),(77,1,'export','report','3','emi.xlsx',NULL,'2026-08-20 12:49:02'),(78,1,'export','report','4','lease.docx',NULL,'2026-08-20 12:49:02'),(79,1,'export','report','5','lease.xlsx',NULL,'2026-08-20 12:49:02'),(80,1,'export','report','3','emi.xlsx',NULL,'2026-08-20 12:50:25'),(81,1,'export','report','3','emi.xlsx',NULL,'2026-08-20 13:22:36'),(82,1,'export','report','4','lease.xlsx',NULL,'2026-08-20 13:22:36'),(83,1,'export','report','3','valuation.xlsx',NULL,'2026-08-20 14:01:50'),(84,1,'export','report','4','valuation.docx',NULL,'2026-08-20 14:01:50'),(85,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-20 14:09:01'),(86,1,'export','report','3','inventory.xlsx',NULL,'2026-08-20 14:24:35'),(87,1,'export','report','4','inventory.docx',NULL,'2026-08-20 14:24:35'),(88,1,'export','report','3','fixed_assets.xlsx',NULL,'2026-08-20 14:47:07'),(89,1,'export','report','4','fixed_assets.docx',NULL,'2026-08-20 14:47:07'),(90,1,'create','client','2','Delete Test Co',NULL,'2026-08-20 15:00:03'),(91,1,'update','client','2',NULL,NULL,'2026-08-20 15:00:03'),(92,1,'create','engagement','1',NULL,NULL,'2026-08-20 15:00:03'),(93,1,'delete','client','2','Delete Test Co Renamed',NULL,'2026-08-20 15:00:12'),(94,1,'create','client','2','Directory Test Co',NULL,'2026-08-20 15:38:57'),(95,1,'create','client_followup','1','Bank statements for Poush',NULL,'2026-08-20 15:39:06'),(96,1,'create','client_credential','1','IRD',NULL,'2026-08-20 15:39:06'),(97,1,'reveal','client_credential','1','Directory Test Co — IRD','127.0.0.1','2026-08-20 15:39:06'),(98,1,'export','client',NULL,'1 clients',NULL,'2026-08-20 15:39:20'),(99,1,'create','client','2','Full Flow Co',NULL,'2026-08-20 15:46:16'),(100,1,'create','client_followup','1','Signed rep letter',NULL,'2026-08-20 15:46:16'),(101,1,'create','client_credential','1','OCR',NULL,'2026-08-20 15:46:16'),(102,1,'create','client','2','Alpha Traders',NULL,'2026-08-20 15:48:08'),(104,1,'create','engagement','1','FY 2082-83 audit',NULL,'2026-08-20 16:01:39'),(105,1,'create','invoice','1','INV-0001',NULL,'2026-08-20 16:01:45'),(106,1,'export','invoice','1','INV-0001',NULL,'2026-08-20 16:01:55'),(107,1,'update','invoice','1','sent',NULL,'2026-08-20 16:02:07'),(108,1,'update','invoice','1','paid',NULL,'2026-08-20 16:02:07'),(109,1,'create','client','2','Kreesa Sales Private Limited',NULL,'2026-08-20 16:13:37'),(110,1,'create','client_followup','1','Bank Statement',NULL,'2026-08-20 16:14:29'),(111,1,'create','client_credential','1','IRD',NULL,'2026-08-20 16:14:53'),(112,1,'reveal','client_credential','1','Kreesa Sales Private Limited — IRD','127.0.0.1','2026-08-20 16:15:01'),(113,1,'create','invoice','1','INV-0001',NULL,'2026-08-20 16:18:10'),(114,1,'export','invoice','1','INV-0001',NULL,'2026-08-20 16:18:15'),(115,1,'update','invoice','1','sent',NULL,'2026-08-20 16:18:46'),(116,1,'update','invoice','1','paid',NULL,'2026-08-20 16:18:49'),(117,1,'export','invoice','1','INV-0001',NULL,'2026-08-20 16:18:52'),(118,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-20 16:25:31'),(119,1,'reveal','client_credential','1','Kreesa Sales Private Limited — IRD','127.0.0.1','2026-08-21 01:52:41'),(120,1,'create','client_credential','2','ocr',NULL,'2026-08-21 01:53:08'),(121,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-21 02:20:17'),(122,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-21 02:56:03'),(123,1,'export','report','5','internal_audit.docx',NULL,'2026-08-22 01:45:31'),(125,1,'export','report','7','audit_report.docx',NULL,'2026-08-22 01:45:32'),(126,1,'export','report','8','internal_audit.docx',NULL,'2026-08-22 01:46:35'),(127,1,'create','audit_entity_type','17','Cooperative — Savings & Credit',NULL,'2026-08-22 01:46:58'),(128,1,'delete','audit_entity_type','17','Cooperative — Savings & Credit',NULL,'2026-08-22 01:46:58'),(129,1,'create','audit_criterion','103','Test Area: Test criterion text',NULL,'2026-08-22 01:46:58'),(130,1,'delete','audit_criterion','103','Test Area',NULL,'2026-08-22 01:46:58'),(131,1,'export','report','5','stat_audit.docx',NULL,'2026-08-22 01:56:12'),(133,1,'create','engagement','1','FY 2082-83 internal audit',NULL,'2026-08-22 02:00:14'),(134,1,'create','workfile','1','Internal Audit FY 2082-83',NULL,'2026-08-22 02:00:14'),(135,1,'create','engagement','1','FY 2082-83 statutory audit',NULL,'2026-08-22 02:03:35'),(136,1,'create','workfile','1','Statutory Audit FY 2082-83',NULL,'2026-08-22 02:03:35'),(137,1,'export','report','5','tds.docx',NULL,'2026-08-22 02:14:55'),(139,1,'export','report','5','personal_tax.docx',NULL,'2026-08-22 02:22:26'),(141,1,'export','report','5','vat.xlsx',NULL,'2026-08-22 02:44:28'),(145,1,'grant','client_collaborator','2','shared with Test Staffer',NULL,'2026-08-22 03:19:59'),(147,1,'resolve','rate_remark','1','Checked — still correct for FY 2083-84, no change.',NULL,'2026-08-22 03:20:11'),(149,1,'reset_requested','app_user','1',NULL,NULL,'2026-08-22 03:20:35'),(150,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-22 04:28:58'),(151,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-22 04:49:55'),(152,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-22 04:54:02'),(153,1,'delete','client','1','dinesh marasini',NULL,'2026-08-22 04:55:37'),(154,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-22 04:59:37'),(155,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-22 05:03:43'),(156,1,'create','app_user','2','NISHANT MARASINI <nishantmarasini@gmail.com>',NULL,'2026-08-22 05:16:19'),(157,2,'invite_accepted','app_user','2',NULL,NULL,'2026-08-22 05:17:27'),(158,2,'create','rate_remark','1','good',NULL,'2026-08-22 05:17:58'),(159,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-22 05:18:16'),(160,1,'resolve','rate_remark','1','thanks',NULL,'2026-08-22 05:19:08'),(161,1,'update','app_user','2','{\"is_active\": false}',NULL,'2026-08-22 05:19:24'),(162,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-22 05:20:01'),(163,1,'update','app_user','2','{\"is_active\": true}',NULL,'2026-08-22 05:20:06'),(164,2,'login','app_user','2',NULL,'127.0.0.1','2026-08-22 05:20:11'),(165,2,'login','app_user','2',NULL,'127.0.0.1','2026-08-22 05:22:33'),(166,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-22 05:25:52'),(169,1,'create','engagement','1','FY2083-84',NULL,'2026-08-22 10:46:32'),(170,1,'delete','rate_master','28','depreciation.tranche_q1',NULL,'2026-08-22 12:00:04'),(171,1,'delete','rate_master','29','depreciation.tranche_q2',NULL,'2026-08-22 12:00:08'),(172,1,'delete','rate_master','30','depreciation.tranche_q3',NULL,'2026-08-22 12:00:10'),(173,1,'delete','rate_master','31','depreciation.repair_ceiling',NULL,'2026-08-22 12:00:13'),(174,1,'delete','rate_master','32','depreciation.de_minimis',NULL,'2026-08-22 12:00:18'),(175,1,'delete','rate_master','23','depreciation.pool_a_rate',NULL,'2026-08-22 12:00:25'),(176,1,'delete','rate_master','24','depreciation.pool_b_rate',NULL,'2026-08-22 12:00:28'),(177,1,'delete','rate_master','25','depreciation.pool_c_rate',NULL,'2026-08-22 12:00:33'),(178,1,'delete','rate_master','26','depreciation.pool_d_rate',NULL,'2026-08-22 12:00:37'),(179,1,'delete','rate_master','27','depreciation.pool_e_rate',NULL,'2026-08-22 12:00:40'),(180,1,'delete','rate_master','33','depreciation.special_extra_third',NULL,'2026-08-22 12:00:44'),(181,1,'delete','rate_master','13','income_tax.company_rate_general',NULL,'2026-08-22 12:01:20'),(182,1,'delete','rate_master','14','income_tax.company_rate_special',NULL,'2026-08-22 12:01:23'),(183,1,'delete','rate_master','15','income_tax.company_rate_bfi',NULL,'2026-08-22 12:01:27'),(184,1,'delete','rate_master','7','income_tax.slab_1_ceiling',NULL,'2026-08-22 12:02:25'),(185,1,'delete','rate_master','8','income_tax.slab_2_ceiling',NULL,'2026-08-22 12:02:27'),(186,1,'delete','rate_master','9','income_tax.slab_3_ceiling',NULL,'2026-08-22 12:02:30'),(187,1,'delete','rate_master','10','income_tax.slab_4_ceiling',NULL,'2026-08-22 12:02:33'),(188,1,'delete','rate_master','11','income_tax.slab_5_ceiling',NULL,'2026-08-22 12:02:36'),(189,1,'delete','rate_master','12','income_tax.slab_top',NULL,'2026-08-22 12:02:39'),(190,1,'delete','rate_master','1','income_tax.slab_1_ceiling',NULL,'2026-08-22 12:03:04'),(191,1,'delete','rate_master','2','income_tax.slab_2_ceiling',NULL,'2026-08-22 12:03:06'),(192,1,'delete','rate_master','3','income_tax.slab_3_ceiling',NULL,'2026-08-22 12:03:09'),(193,1,'delete','rate_master','4','income_tax.slab_4_ceiling',NULL,'2026-08-22 12:03:12'),(194,1,'delete','rate_master','5','income_tax.slab_5_ceiling',NULL,'2026-08-22 12:03:15'),(195,1,'delete','rate_master','6','income_tax.slab_top',NULL,'2026-08-22 12:03:18'),(196,1,'delete','rate_master','16','income_tax.retirement_deduction_cap',NULL,'2026-08-22 12:03:22'),(197,1,'delete','rate_master','17','income_tax.retirement_deduction_pct',NULL,'2026-08-22 12:03:25'),(198,1,'delete','rate_master','18','income_tax.insurance_premium_cap',NULL,'2026-08-22 12:03:27'),(199,1,'delete','rate_master','19','income_tax.health_insurance_cap',NULL,'2026-08-22 12:03:30'),(200,1,'delete','rate_master','20','income_tax.remote_area_cap',NULL,'2026-08-22 12:03:32'),(201,1,'delete','rate_master','21','income_tax.female_rebate',NULL,'2026-08-22 12:03:35'),(202,1,'delete','rate_master','22','income_tax.ssf_rebate_slab1',NULL,'2026-08-22 12:03:38'),(203,1,'delete','rate_master','48','payroll.ssf_employee',NULL,'2026-08-22 12:03:54'),(204,1,'delete','rate_master','49','payroll.ssf_employer',NULL,'2026-08-22 12:03:56'),(205,1,'delete','rate_master','50','payroll.pf_employee',NULL,'2026-08-22 12:03:59'),(206,1,'delete','rate_master','51','payroll.pf_employer',NULL,'2026-08-22 12:04:01'),(207,1,'delete','rate_master','52','payroll.gratuity_rate',NULL,'2026-08-22 12:04:04'),(208,1,'delete','rate_master','34','penalty.s117_estimate_fee',NULL,'2026-08-22 12:04:20'),(209,1,'delete','rate_master','35','penalty.s117_income_return_pct',NULL,'2026-08-22 12:04:22'),(210,1,'delete','rate_master','36','penalty.s117_income_return_month',NULL,'2026-08-22 12:04:24'),(211,1,'delete','rate_master','37','penalty.s118_interest_rate',NULL,'2026-08-22 12:04:27'),(212,1,'delete','rate_master','38','penalty.s119_interest_rate',NULL,'2026-08-22 12:04:30'),(213,1,'delete','rate_master','39','penalty.s120_false_statement',NULL,'2026-08-22 12:04:32'),(214,1,'delete','rate_master','40','penalty.instalment_1_pct',NULL,'2026-08-22 12:04:35'),(215,1,'delete','rate_master','41','penalty.instalment_2_pct',NULL,'2026-08-22 12:04:37'),(216,1,'delete','rate_master','42','penalty.instalment_3_pct',NULL,'2026-08-22 12:04:40'),(217,1,'delete','rate_master','43','vat.standard_rate',NULL,'2026-08-22 12:04:48'),(218,1,'delete','rate_master','44','vat.reg_threshold_goods',NULL,'2026-08-22 12:04:51'),(219,1,'delete','rate_master','45','vat.reg_threshold_services',NULL,'2026-08-22 12:04:54'),(220,1,'delete','rate_master','46','vat.late_return_fee',NULL,'2026-08-22 12:04:56'),(221,1,'delete','rate_master','47','vat.late_payment_addl_fee',NULL,'2026-08-22 12:04:59'),(222,1,'restore','rate_master',NULL,'52 rows recovered from seed.sql after accidental deletion (2082-83 rates mistaken for duplicates of 2083-84 rollover)',NULL,'2026-08-22 12:08:25'),(223,1,'create','client_credential','3','IRD',NULL,'2026-08-22 15:13:22'),(224,1,'reveal','client_credential','3','Inner Wish Kids Home — IRD','127.0.0.1','2026-08-22 15:13:33'),(225,1,'create','client','4','Agro Unicorn',NULL,'2026-08-22 15:17:27'),(226,1,'create','client_credential','4','IRD',NULL,'2026-08-22 15:18:07'),(227,1,'reveal','client_credential','4','Inner Wish Kids Home — IRD','127.0.0.1','2026-08-22 15:18:26'),(228,1,'delete','client_credential','4','IRD',NULL,'2026-08-22 15:18:33'),(229,1,'create','client_credential','4','IRD',NULL,'2026-08-22 15:18:52'),(230,1,'create','client_credential','5','IRD',NULL,'2026-08-22 15:19:20'),(231,1,'delete','client_credential','4','IRD',NULL,'2026-08-22 15:19:31'),(232,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-22 15:52:05'),(233,1,'export','report','5','audit_report.docx',NULL,'2026-08-22 16:04:11'),(234,1,'delete','report','1','dinesh marasini - fdi - 20260819-224638.docx',NULL,'2026-08-22 16:11:10'),(235,1,'delete','report','2','dinesh marasini - JVA - 20260819-224640.docx',NULL,'2026-08-22 16:11:12'),(236,1,'delete','report','3','Kreesa Sales Private Limited - invoice - 20260820-220315.docx',NULL,'2026-08-22 16:11:14'),(237,1,'delete','report','4','Kreesa Sales Private Limited - invoice - 20260820-220352.docx',NULL,'2026-08-22 16:11:17'),(238,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-24 13:30:02'),(239,1,'create','tp_entity','1','New entity',NULL,'2026-08-24 13:31:26'),(241,1,'create','tp_entity','2','Self NP',NULL,'2026-08-24 13:33:39'),(242,1,'create','tp_entity','3','Counterparty IN',NULL,'2026-08-24 13:33:39'),(243,1,'create','tp_transaction','1','services',NULL,'2026-08-24 13:33:39'),(244,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-24 13:36:36'),(246,1,'create','tp_entity','2','Self DE',NULL,'2026-08-24 13:42:47'),(247,1,'create','tp_entity','3','Counterparty SG',NULL,'2026-08-24 13:42:47'),(248,1,'create','tp_transaction','1','goods',NULL,'2026-08-24 13:42:55'),(250,1,'create','tp_entity','2','Self NP',NULL,'2026-08-24 13:46:18'),(251,1,'create','tp_transaction','1','goods',NULL,'2026-08-24 13:46:18'),(253,1,'create','tp_entity','2','Self NP',NULL,'2026-08-24 14:06:32'),(254,1,'create','tp_transaction','1','financing',NULL,'2026-08-24 14:06:32'),(255,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-24 14:14:08'),(257,1,'create','tp_entity','2','Self NP',NULL,'2026-08-24 14:19:54'),(258,1,'create','tp_transaction','1','goods',NULL,'2026-08-24 14:19:54'),(259,1,'create','tp_transaction','2','services',NULL,'2026-08-24 14:19:54'),(260,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-24 14:22:43'),(262,1,'create','tp_entity','2','Self NP',NULL,'2026-08-24 14:23:12'),(263,1,'create','tp_entity','3','India Sub',NULL,'2026-08-24 14:23:12'),(264,1,'create','tp_transaction','1','goods',NULL,'2026-08-24 14:23:12'),(265,1,'export','report','6','transfer_pricing.related_party.xlsx',NULL,'2026-08-24 14:23:12'),(266,1,'export','report','7','transfer_pricing.related_party.docx',NULL,'2026-08-24 14:23:12'),(267,1,'export','report','8','transfer_pricing.far_method_benchmark.xlsx',NULL,'2026-08-24 14:23:12'),(268,1,'export','report','9','transfer_pricing.far_method_benchmark.docx',NULL,'2026-08-24 14:23:12'),(269,1,'export','report','10','transfer_pricing.risk_assessment.xlsx',NULL,'2026-08-24 14:23:12'),(270,1,'export','report','11','transfer_pricing.risk_assessment.docx',NULL,'2026-08-24 14:23:12'),(271,1,'export','report','12','transfer_pricing.tp_study.xlsx',NULL,'2026-08-24 14:23:12'),(272,1,'export','report','13','transfer_pricing.tp_study.docx',NULL,'2026-08-24 14:23:12'),(273,1,'export','report','14','transfer_pricing.adjustment_exposure.xlsx',NULL,'2026-08-24 14:23:12'),(274,1,'export','report','15','transfer_pricing.adjustment_exposure.docx',NULL,'2026-08-24 14:23:12'),(275,1,'export','report','16','transfer_pricing.documentation_gap.xlsx',NULL,'2026-08-24 14:23:12'),(276,1,'export','report','17','transfer_pricing.documentation_gap.docx',NULL,'2026-08-24 14:23:12'),(277,1,'export','report','18','transfer_pricing.advisory_memo.docx',NULL,'2026-08-24 14:23:12'),(278,1,'export','report','19','transfer_pricing.client_info_request.docx',NULL,'2026-08-24 14:23:12'),(279,1,'export','report','20','transfer_pricing.working_paper_pack.docx',NULL,'2026-08-24 14:23:12'),(280,1,'export','report','21','transfer_pricing.tp_study.docx',NULL,'2026-08-24 14:23:25'),(281,1,'export','report','22','transfer_pricing.working_paper_pack.docx',NULL,'2026-08-24 14:23:26'),(282,1,'export','report','23','transfer_pricing.tp_study.xlsx',NULL,'2026-08-24 14:23:26'),(283,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-24 14:24:48'),(284,1,'create','tp_transaction','1','goods',NULL,'2026-08-24 14:25:02'),(285,1,'delete','tp_transaction','1',NULL,NULL,'2026-08-24 14:25:40'),(286,1,'create','tp_transaction','1','goods',NULL,'2026-08-24 14:25:42'),(288,1,'create','tp_entity','2','Self NP',NULL,'2026-08-24 14:40:06'),(289,1,'create','tp_entity','3','India Sub',NULL,'2026-08-24 14:40:06'),(290,1,'create','tp_transaction','2','goods',NULL,'2026-08-24 14:40:06'),(291,1,'create','client','5','CA Nishant Test Company',NULL,'2026-08-24 15:18:20'),(292,1,'create','engagement','1','FY 2083-84 compliance',NULL,'2026-08-24 15:18:20'),(293,1,'create','workfile','1','depreciation',NULL,'2026-08-24 15:18:20'),(294,1,'export','report','6','depreciation.xlsx',NULL,'2026-08-24 15:18:20'),(295,1,'export','report','7','depreciation.docx',NULL,'2026-08-24 15:18:20'),(296,1,'create','workfile','2','salary_tds',NULL,'2026-08-24 15:18:20'),(297,1,'export','report','8','salary_tds.xlsx',NULL,'2026-08-24 15:18:20'),(298,1,'export','report','9','salary_tds.docx',NULL,'2026-08-24 15:18:20'),(299,1,'create','workfile','3','personal_tax',NULL,'2026-08-24 15:18:20'),(300,1,'export','report','10','personal_tax.xlsx',NULL,'2026-08-24 15:18:20'),(301,1,'export','report','11','personal_tax.docx',NULL,'2026-08-24 15:18:20'),(302,1,'create','workfile','4','biz_tax',NULL,'2026-08-24 15:18:20'),(303,1,'export','report','12','biz_tax.xlsx',NULL,'2026-08-24 15:18:20'),(304,1,'export','report','13','biz_tax.docx',NULL,'2026-08-24 15:18:20'),(305,1,'create','workfile','5','penalty',NULL,'2026-08-24 15:18:20'),(306,1,'export','report','14','penalty.xlsx',NULL,'2026-08-24 15:18:20'),(307,1,'export','report','15','penalty.docx',NULL,'2026-08-24 15:18:20'),(308,1,'create','workfile','6','tds',NULL,'2026-08-24 15:18:20'),(309,1,'export','report','16','tds.xlsx',NULL,'2026-08-24 15:18:20'),(310,1,'export','report','17','tds.docx',NULL,'2026-08-24 15:18:20'),(311,1,'create','workfile','7','vat',NULL,'2026-08-24 15:18:20'),(312,1,'export','report','18','vat.xlsx',NULL,'2026-08-24 15:18:20'),(313,1,'export','report','19','vat.docx',NULL,'2026-08-24 15:18:20'),(314,1,'create','workfile','8','inventory',NULL,'2026-08-24 15:18:20'),(315,1,'export','report','20','inventory.xlsx',NULL,'2026-08-24 15:18:20'),(316,1,'export','report','21','inventory.docx',NULL,'2026-08-24 15:18:20'),(317,1,'create','workfile','9','fixed_assets',NULL,'2026-08-24 15:18:20'),(318,1,'export','report','22','fixed_assets.xlsx',NULL,'2026-08-24 15:18:20'),(319,1,'export','report','23','fixed_assets.docx',NULL,'2026-08-24 15:18:20'),(320,1,'create','workfile','10','emi',NULL,'2026-08-24 15:18:20'),(321,1,'export','report','24','emi.xlsx',NULL,'2026-08-24 15:18:20'),(322,1,'export','report','25','emi.docx',NULL,'2026-08-24 15:18:20'),(323,1,'create','workfile','11','lease',NULL,'2026-08-24 15:18:20'),(324,1,'export','report','26','lease.xlsx',NULL,'2026-08-24 15:18:20'),(325,1,'export','report','27','lease.docx',NULL,'2026-08-24 15:18:20'),(326,1,'create','workfile','12','fin_statements',NULL,'2026-08-24 15:18:20'),(327,1,'export','report','28','fin_statements.xlsx',NULL,'2026-08-24 15:18:20'),(328,1,'export','report','29','fin_statements.docx',NULL,'2026-08-24 15:18:20'),(329,1,'create','workfile','13','grant',NULL,'2026-08-24 15:18:20'),(330,1,'export','report','30','grant.xlsx',NULL,'2026-08-24 15:18:20'),(331,1,'export','report','31','grant.docx',NULL,'2026-08-24 15:18:21'),(332,1,'create','workfile','14','projection',NULL,'2026-08-24 15:18:21'),(333,1,'export','report','32','projection.xlsx',NULL,'2026-08-24 15:18:21'),(334,1,'export','report','33','projection.docx',NULL,'2026-08-24 15:18:21'),(335,1,'create','workfile','15','valuation',NULL,'2026-08-24 15:18:21'),(336,1,'export','report','34','valuation.xlsx',NULL,'2026-08-24 15:18:21'),(337,1,'export','report','35','valuation.docx',NULL,'2026-08-24 15:18:21'),(338,1,'create','workfile','16','internal_audit',NULL,'2026-08-24 15:18:21'),(339,1,'export','report','36','internal_audit.xlsx',NULL,'2026-08-24 15:18:21'),(340,1,'export','report','37','internal_audit.docx',NULL,'2026-08-24 15:18:21'),(341,1,'create','workfile','17','stat_audit',NULL,'2026-08-24 15:18:21'),(342,1,'create','workfile','18','audit_report',NULL,'2026-08-24 15:18:21'),(343,1,'export','report','38','audit_report.xlsx',NULL,'2026-08-24 15:18:21'),(344,1,'export','report','39','audit_report.docx',NULL,'2026-08-24 15:18:21'),(345,1,'create','workfile','19','dd',NULL,'2026-08-24 15:18:21'),(346,1,'export','report','40','dd.xlsx',NULL,'2026-08-24 15:18:21'),(347,1,'export','report','41','dd.docx',NULL,'2026-08-24 15:18:21'),(348,1,'create','workfile','20','fdi',NULL,'2026-08-24 15:18:21'),(349,1,'export','report','42','fdi.xlsx',NULL,'2026-08-24 15:18:21'),(350,1,'export','report','43','fdi.docx',NULL,'2026-08-24 15:18:21'),(351,1,'export','report','44','fdi.docx_jva',NULL,'2026-08-24 15:18:21'),(352,1,'export','report','45','fdi.docx_poa',NULL,'2026-08-24 15:18:21'),(353,1,'export','report','46','fdi.docx_tta',NULL,'2026-08-24 15:18:21'),(354,1,'export','report','47','fdi.docx_profiles',NULL,'2026-08-24 15:18:21'),(355,1,'export','report','48','fdi.docx_advisory',NULL,'2026-08-24 15:18:21'),(356,1,'create','invoice','2','INV-0002',NULL,'2026-08-24 15:18:21'),(357,1,'export','invoice','2','INV-0002',NULL,'2026-08-24 15:18:21'),(358,1,'export','client',NULL,'1 clients',NULL,'2026-08-24 15:18:21'),(359,1,'create','workfile','21','stat_audit (corrected)',NULL,'2026-08-24 15:19:02'),(360,1,'export','report','51','stat_audit.xlsx',NULL,'2026-08-24 15:19:02'),(361,1,'export','report','52','stat_audit.docx',NULL,'2026-08-24 15:19:02'),(362,1,'create','workfile','22','fin_statements (corrected prev sign check)',NULL,'2026-08-24 15:22:19'),(363,1,'export','report','53','fin_statements.xlsx',NULL,'2026-08-24 15:22:19'),(364,1,'create','workfile','23','fin_statements (post auto_head fix)',NULL,'2026-08-24 15:24:55'),(365,1,'export','report','54','fin_statements.xlsx',NULL,'2026-08-24 15:24:55'),(366,1,'create','tp_entity','2','CA Nishant Test Company',NULL,'2026-08-24 15:25:38'),(367,1,'create','tp_entity','3','Test India Subsidiary Pvt Ltd',NULL,'2026-08-24 15:25:38'),(368,1,'create','tp_entity','4','Test UAE Holdco',NULL,'2026-08-24 15:25:38'),(369,1,'create','tp_transaction','2','goods',NULL,'2026-08-24 15:25:38'),(370,1,'create','tp_transaction','3','financing',NULL,'2026-08-24 15:25:38'),(371,1,'export','report','55','transfer_pricing.related_party.xlsx',NULL,'2026-08-24 15:25:38'),(372,1,'export','report','56','transfer_pricing.related_party.docx',NULL,'2026-08-24 15:25:38'),(373,1,'export','report','57','transfer_pricing.far_method_benchmark.xlsx',NULL,'2026-08-24 15:25:38'),(374,1,'export','report','58','transfer_pricing.far_method_benchmark.docx',NULL,'2026-08-24 15:25:38'),(375,1,'export','report','59','transfer_pricing.risk_assessment.xlsx',NULL,'2026-08-24 15:25:38'),(376,1,'export','report','60','transfer_pricing.risk_assessment.docx',NULL,'2026-08-24 15:25:38'),(377,1,'export','report','61','transfer_pricing.tp_study.xlsx',NULL,'2026-08-24 15:25:38'),(378,1,'export','report','62','transfer_pricing.tp_study.docx',NULL,'2026-08-24 15:25:38'),(379,1,'export','report','63','transfer_pricing.adjustment_exposure.xlsx',NULL,'2026-08-24 15:25:38'),(380,1,'export','report','64','transfer_pricing.adjustment_exposure.docx',NULL,'2026-08-24 15:25:38'),(381,1,'export','report','65','transfer_pricing.documentation_gap.xlsx',NULL,'2026-08-24 15:25:38'),(382,1,'export','report','66','transfer_pricing.documentation_gap.docx',NULL,'2026-08-24 15:25:38'),(383,1,'export','report','67','transfer_pricing.advisory_memo.docx',NULL,'2026-08-24 15:25:38'),(384,1,'export','report','68','transfer_pricing.client_info_request.docx',NULL,'2026-08-24 15:25:38'),(385,1,'export','report','69','transfer_pricing.working_paper_pack.docx',NULL,'2026-08-24 15:25:38'),(386,1,'create','workfile','24','tds (corrected gross_amount field)',NULL,'2026-08-24 15:31:19'),(387,1,'export','report','70','tds.xlsx',NULL,'2026-08-24 15:31:19'),(388,1,'export','report','71','tds.docx',NULL,'2026-08-24 15:31:19'),(389,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-24 15:37:32'),(390,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-24 15:41:29'),(391,1,'create','tp_transaction','4','goods',NULL,'2026-08-24 15:45:12'),(392,1,'delete','tp_transaction','4',NULL,NULL,'2026-08-24 15:45:19'),(393,1,'create','appointment_slot',NULL,'bulk: 15 slots 2026-08-25..2026-08-31',NULL,'2026-08-24 15:46:27'),(394,1,'update','appointment_booking','1','cancelled',NULL,'2026-08-24 15:46:27'),(395,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-24 15:47:10'),(396,1,'update','appointment_booking','2','cancelled',NULL,'2026-08-24 16:01:19'),(397,1,'update','appointment_booking','4','cancelled',NULL,'2026-08-24 16:07:38'),(398,1,'update','appointment_booking','5','cancelled',NULL,'2026-08-24 16:07:38'),(399,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-24 16:09:08'),(400,1,'update','appointment_booking','1','confirmed',NULL,'2026-08-24 16:09:45'),(401,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-24 16:11:00'),(402,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-25 02:16:33'),(404,1,'create','engagement','2','FY2083-84 compliance',NULL,'2026-08-25 02:28:11'),(405,1,'update','pm_acceptance','1','accepted',NULL,'2026-08-25 02:28:11'),(406,1,'export','report','72','practice_mgmt.proposal.docx',NULL,'2026-08-25 02:28:11'),(407,1,'export','report','73','practice_mgmt.fee_quote.docx',NULL,'2026-08-25 02:28:11'),(408,1,'export','report','74','practice_mgmt.engagement_letter.docx',NULL,'2026-08-25 02:28:11'),(409,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-25 02:31:25'),(410,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-25 02:32:01'),(412,1,'create','fa_dataset','1','payments: 5 rows',NULL,'2026-08-25 02:44:41'),(413,1,'create','fa_finding',NULL,'5 findings from dataset 1',NULL,'2026-08-25 02:44:42'),(414,1,'create','fa_dataset','2','payroll: 3 rows',NULL,'2026-08-25 02:44:42'),(415,1,'create','fa_finding',NULL,'5 findings from dataset 2',NULL,'2026-08-25 02:44:42'),(416,1,'create','fa_dataset','3','expenses: 3 rows',NULL,'2026-08-25 02:44:42'),(417,1,'create','fa_finding',NULL,'6 findings from dataset 3',NULL,'2026-08-25 02:44:42'),(418,1,'create','fa_dataset','4','vendors: 2 rows',NULL,'2026-08-25 02:44:42'),(419,1,'create','fa_finding',NULL,'2 findings from dataset 4',NULL,'2026-08-25 02:44:42'),(420,1,'export','report','72','forensic_audit.investigation_report.xlsx',NULL,'2026-08-25 02:44:42'),(421,1,'export','report','73','forensic_audit.investigation_report.docx',NULL,'2026-08-25 02:44:42'),(422,1,'export','report','74','forensic_audit.working_paper_pack.docx',NULL,'2026-08-25 02:44:42'),(423,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-25 02:48:58'),(424,1,'create','engagement','2','IA test round-trip',NULL,'2026-08-25 03:02:53'),(425,1,'create','workfile','25','IA roundtrip test',NULL,'2026-08-25 03:02:53'),(426,1,'export','report','72','internal_audit.docx',NULL,'2026-08-25 03:03:17'),(427,1,'export','report','73','internal_audit.xlsx',NULL,'2026-08-25 03:03:17'),(428,1,'export','report','74','stat_audit.docx',NULL,'2026-08-25 03:03:47'),(429,1,'create','engagement','2','Capital advisory roundtrip test',NULL,'2026-08-25 03:26:30'),(430,1,'create','workfile','25','CA roundtrip test',NULL,'2026-08-25 03:26:30'),(431,1,'export','report','72','capital_advisory.docx',NULL,'2026-08-25 03:26:45'),(432,1,'export','report','73','capital_advisory.xlsx',NULL,'2026-08-25 03:26:45'),(433,1,'create','workfile','26','DD regression test',NULL,'2026-08-25 03:26:56'),(434,1,'export','report','74','dd.docx',NULL,'2026-08-25 03:26:56'),(435,1,'create','engagement','2','Valuation roundtrip test',NULL,'2026-08-25 03:43:39'),(436,1,'create','workfile','25','VAL roundtrip test',NULL,'2026-08-25 03:43:39'),(437,1,'export','report','72','valuation.docx',NULL,'2026-08-25 03:43:57'),(438,1,'export','report','73','valuation.xlsx',NULL,'2026-08-25 03:43:57'),(439,1,'update','ca_entity_profile','4',NULL,NULL,'2026-08-25 03:58:28'),(440,1,'export','report','72','corporate_advisory.resolution.docx',NULL,'2026-08-25 03:58:50'),(441,1,'export','report','73','corporate_advisory.docx',NULL,'2026-08-25 03:58:59'),(442,1,'export','report','74','corporate_advisory.xlsx',NULL,'2026-08-25 03:58:59'),(443,1,'export','report','72','business_advisory.management_dashboard.docx',NULL,'2026-08-25 11:49:37'),(444,1,'export','report','73','business_advisory.management_dashboard.xlsx',NULL,'2026-08-25 11:49:37'),(445,1,'export','report','74','business_advisory.business_plan.docx',NULL,'2026-08-25 11:49:37'),(446,1,'export','report','72','business_advisory.management_dashboard.docx',NULL,'2026-08-25 11:50:53'),(447,1,'export','report','73','business_advisory.business_plan.docx',NULL,'2026-08-25 11:50:53'),(448,1,'export','report','74','corporate_advisory.resolution.docx',NULL,'2026-08-25 11:51:00'),(449,1,'export','report','75','corporate_advisory.docx',NULL,'2026-08-25 11:51:00'),(450,1,'update','appointment_booking','1','cancelled',NULL,'2026-08-25 12:25:12'),(451,1,'export','report','72','ipo_advisory.docx',NULL,'2026-08-25 12:26:57'),(452,1,'export','report','73','ipo_advisory.xlsx',NULL,'2026-08-25 12:26:57'),(453,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-25 12:27:13'),(454,1,'export','report','72','tax_advisory.case_response.docx',NULL,'2026-08-25 12:42:31'),(455,1,'export','report','73','tax_advisory.audit_pack.docx',NULL,'2026-08-25 12:42:31'),(456,1,'export','report','74','tax_advisory.audit_pack.xlsx',NULL,'2026-08-25 12:42:31'),(457,1,'export','report','72','audit_execution.management_letter.docx',NULL,'2026-08-25 12:58:57'),(458,1,'export','report','73','audit_execution.execution_summary.docx',NULL,'2026-08-25 12:58:57'),(459,1,'export','report','74','audit_execution.execution_summary.xlsx',NULL,'2026-08-25 12:58:57'),(460,1,'export','report','72','acct_automation.adjustments_schedule.docx',NULL,'2026-08-25 13:32:07'),(461,1,'export','report','73','acct_automation.automation_workbook.xlsx',NULL,'2026-08-25 13:32:07'),(462,1,'export','report','74','acct_automation.automation_workbook.docx',NULL,'2026-08-25 13:32:07'),(463,1,'update','app_user','2','{}',NULL,'2026-08-25 13:32:32'),(464,1,'update','app_user','2','{}',NULL,'2026-08-25 13:32:32'),(465,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-25 14:48:58'),(466,1,'export','report','72','fdi.docx_advisory',NULL,'2026-08-25 16:24:46'),(467,1,'export','report','72','depreciation.xlsx',NULL,'2026-08-25 16:36:28'),(468,1,'export','report','73','depreciation.docx',NULL,'2026-08-25 16:36:28'),(469,1,'delete','report','72','client - depreciation - 20260825-222128.xlsx',NULL,'2026-08-25 16:36:34'),(470,1,'delete','report','73','client - depreciation - 20260825-222128.docx',NULL,'2026-08-25 16:36:34'),(471,1,'update','app_user','2','{}',NULL,'2026-08-25 16:40:32'),(472,1,'update','app_user','2','{}',NULL,'2026-08-25 16:40:46'),(473,1,'create','client','6','Hub Test Co',NULL,'2026-08-25 17:18:33'),(474,1,'create','engagement','2','General engagement — Hub Test Co',NULL,'2026-08-25 17:18:33'),(475,1,'create','workfile','25','test',NULL,'2026-08-25 17:18:41'),(476,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-26 00:44:57'),(477,1,'update','app_user','2','{}',NULL,'2026-08-26 01:08:41'),(478,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-26 01:52:18'),(479,1,'create','engagement','2','General engagement — Agro Unicorn',NULL,'2026-08-26 02:04:12'),(480,1,'create','workfile','25','Lease (NFRS 16) — 2082-83',NULL,'2026-08-26 02:07:26'),(481,1,'sync','workfile',NULL,'1 beats from dev-dwihnfdq',NULL,'2026-08-26 02:07:26'),(482,1,'sync','workfile',NULL,'1 beats from dev-dwihnfdq',NULL,'2026-08-26 02:12:26'),(483,1,'create','client','6','Hub Wire Test Co',NULL,'2026-08-28 13:39:27'),(484,1,'create','engagement','3','test',NULL,'2026-08-28 13:39:27'),(485,1,'create','workfile','26','FA',NULL,'2026-08-28 13:39:27'),(486,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-28 13:43:13'),(487,1,'create','workfile','26','Projection — 2082-83',NULL,'2026-08-28 13:48:26'),(488,1,'sync','workfile',NULL,'1 beats from dev-dwihnfdq',NULL,'2026-08-28 13:48:26'),(489,1,'export','report','72','emi.xlsx',NULL,'2026-08-28 14:06:02'),(490,1,'export','report','73','emi.xlsx',NULL,'2026-08-28 14:06:18'),(491,1,'create','workfile','27','Government grants — 2082-83',NULL,'2026-08-28 16:32:35'),(492,1,'sync','workfile',NULL,'1 beats from dev-dwihnfdq',NULL,'2026-08-28 16:32:35'),(493,1,'create','job_posting','1','WEB Tester',NULL,'2026-08-29 04:30:19'),(494,1,'update','job_posting','1',NULL,NULL,'2026-08-29 04:31:38'),(495,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-29 05:02:58'),(496,1,'update','client_followup','1',NULL,NULL,'2026-08-29 05:04:42'),(497,1,'create','service_category','1','FDI',NULL,'2026-08-29 05:06:39'),(498,1,'create','service','1','Foreign Direct Investment Assessment',NULL,'2026-08-29 05:07:08'),(499,1,'update','service','1',NULL,NULL,'2026-08-29 05:08:32'),(500,1,'update','service','1',NULL,NULL,'2026-08-29 05:08:40'),(501,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-29 05:09:57'),(502,1,'create','workfile','28','VAT Return — 2082-83',NULL,'2026-08-29 05:15:04'),(503,1,'sync','workfile',NULL,'1 beats from dev-dwihnfdq',NULL,'2026-08-29 05:15:04'),(504,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-29 06:01:15'),(505,1,'create','page','1','About Us',NULL,'2026-08-29 06:03:00'),(506,1,'update','page','1',NULL,NULL,'2026-08-29 06:15:20'),(507,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-29 06:16:24'),(508,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-29 06:31:32'),(509,1,'update','page','1',NULL,NULL,'2026-08-29 06:31:56'),(510,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-29 06:35:15'),(511,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-29 06:35:36'),(512,1,'update','page','1',NULL,NULL,'2026-08-29 06:36:01'),(513,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-29 07:02:14'),(514,1,'update','page','1',NULL,NULL,'2026-08-29 07:44:43'),(515,1,'create','page','2','Privacy Policy',NULL,'2026-08-29 07:45:01'),(516,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-29 07:48:18'),(517,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-29 07:48:29'),(518,1,'create','blog_category','9','FDI',NULL,'2026-08-29 07:49:50'),(519,1,'create','blog_post','1','Nepal FDI in 2026: the entry threshold and the negative list',NULL,'2026-08-29 07:50:32'),(520,1,'create','media','e32b14e33b7dbb98ee620926bdadefe6.png','Negative_List_FDI.png',NULL,'2026-08-29 07:53:25'),(521,1,'update','blog_post','1',NULL,NULL,'2026-08-29 07:56:17'),(522,1,'update','blog_post','1',NULL,NULL,'2026-08-29 07:56:53'),(523,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-29 07:58:14'),(524,1,'update','page','2',NULL,NULL,'2026-08-29 08:03:36'),(525,1,'create','page','3','Terms & Conditions',NULL,'2026-08-29 09:05:51'),(526,1,'create','page','4','Cookie Policy',NULL,'2026-08-29 09:05:51'),(527,1,'create','page','5','Refund & Cancellation Policy',NULL,'2026-08-29 09:05:51'),(528,1,'create','page','6','Disclaimer',NULL,'2026-08-29 09:05:51'),(529,1,'create','page','7','Career & Application Privacy Notice',NULL,'2026-08-29 09:05:51'),(530,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-29 09:14:02'),(531,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-29 09:16:39'),(532,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-29 09:54:52'),(533,1,'update','service','1',NULL,NULL,'2026-08-29 09:56:21'),(534,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-29 10:05:52'),(535,1,'create','workfile','29','Loan & EMI — 2082-83',NULL,'2026-08-29 10:21:22'),(536,1,'sync','workfile',NULL,'1 beats from dev-dwihnfdq',NULL,'2026-08-29 10:21:22'),(537,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-29 12:24:25'),(538,1,'update','chatbot_conversation','1',NULL,NULL,'2026-08-29 12:25:34'),(539,1,'create','team_member','1','Nishant Marasini',NULL,'2026-08-29 12:26:41'),(540,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-29 12:56:45'),(541,1,'create','media','7017f8995141cf746612d858a0e07f61.jpg','IMG_3513.jpg',NULL,'2026-08-29 12:57:33'),(542,1,'update','page','1',NULL,NULL,'2026-08-29 12:57:49'),(543,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-29 13:20:34'),(544,1,'update','site_banner','1','Banner settings',NULL,'2026-08-29 13:22:26'),(545,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-29 13:23:50'),(546,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-29 13:24:35'),(547,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-29 13:55:46'),(548,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-29 14:22:58'),(549,1,'create','engagement','3','General engagement — Kreesa Sales Private Limited',NULL,'2026-08-29 14:24:12'),(550,1,'create','workfile','30','Auditor\'s Report — 2082-83',NULL,'2026-08-29 14:28:02'),(551,1,'create','workfile','31','Financial statements — 2082-83',NULL,'2026-08-29 14:28:02'),(552,1,'create','workfile','32','Internal Audit — 2082-83',NULL,'2026-08-29 14:28:02'),(553,1,'sync','workfile',NULL,'3 beats from dev-dwihnfdq',NULL,'2026-08-29 14:28:02'),(554,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-29 15:01:35'),(555,1,'delete','job_posting','1',NULL,NULL,'2026-08-29 15:02:11'),(556,1,'create','workfile','33','Personal Income Tax — 2083-84',NULL,'2026-08-29 15:30:52'),(557,1,'sync','workfile',NULL,'1 beats from dev-1mmqcnrv',NULL,'2026-08-29 15:30:52'),(558,1,'create','workfile','34','TDS / Withholding — 2083-84',NULL,'2026-08-29 15:40:52'),(559,1,'create','workfile','35','VAT Return — 2083-84',NULL,'2026-08-29 15:40:52'),(560,1,'sync','workfile',NULL,'2 beats from dev-1mmqcnrv',NULL,'2026-08-29 15:40:52'),(561,1,'create','workfile','36','Internal Audit — 2083-84',NULL,'2026-08-29 15:50:52'),(562,1,'create','workfile','37','Auditor\'s Report — 2083-84',NULL,'2026-08-29 15:50:52'),(563,1,'create','workfile','38','Statutory Audit — 2083-84',NULL,'2026-08-29 15:50:52'),(564,1,'sync','workfile',NULL,'3 beats from dev-1mmqcnrv',NULL,'2026-08-29 15:50:52'),(565,1,'update','firm','1','{\"name\": \"CA Nishant Marasini\", \"max_seats\": 500, \"plan_label\": \"Super Admin\", \"is_active\": true}',NULL,'2026-08-29 16:29:02'),(566,1,'create','firm','2','Kreesa Sales',NULL,'2026-08-29 16:30:24'),(567,1,'update','firm_module_grant','2','1 modules',NULL,'2026-08-29 16:30:32'),(568,3,'invite_accepted','app_user','3',NULL,NULL,'2026-08-29 16:31:11'),(569,3,'login','app_user','3',NULL,'127.0.0.1','2026-08-29 16:34:24'),(570,3,'login','app_user','3',NULL,'127.0.0.1','2026-08-29 16:51:14'),(571,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-29 17:11:33'),(572,3,'login','app_user','3',NULL,'127.0.0.1','2026-08-29 17:13:03'),(573,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-30 01:01:04'),(574,1,'create','testimonial','1','Nishant Marasini',NULL,'2026-08-30 01:03:31'),(575,1,'create','about_milestone','1','Established',NULL,'2026-08-30 01:04:37'),(576,1,'create','media','cbf1a908a2888ebdab5b972ec00143b7.png','CA-automator-logo.png',NULL,'2026-08-30 01:05:16'),(577,1,'update','about_milestone','1',NULL,NULL,'2026-08-30 01:05:28'),(578,1,'create','about_milestone','2','Won Startup award',NULL,'2026-08-30 01:05:45'),(579,1,'create','media','b6f72e3fd1fa1bde14de5f51b46cdac8.png','for landing page.png',NULL,'2026-08-30 01:06:10'),(580,1,'update','about_milestone','2',NULL,NULL,'2026-08-30 01:06:18'),(581,1,'create','media','fbacbd4693afcc66689e59f83455101a.jpg','IMG_3513.jpg',NULL,'2026-08-30 01:07:52'),(582,1,'update','team_member','1',NULL,NULL,'2026-08-30 01:07:56'),(583,1,'create','youtube_video','2','Vlogging video Of Nishant Marasini',NULL,'2026-08-30 01:08:51'),(584,1,'create','youtube_video','3','Hiking Vlogs',NULL,'2026-08-30 01:09:23'),(585,1,'create','youtube_video','4','Shambhu Stuti',NULL,'2026-08-30 01:10:12'),(586,1,'create','download_file','1','Test Download',NULL,'2026-08-30 01:11:10'),(587,1,'create','download_file','2','second file test',NULL,'2026-08-30 01:12:05'),(588,1,'update','firm','1','profile',NULL,'2026-08-30 01:17:36'),(589,1,'update','firm','1','profile',NULL,'2026-08-30 01:19:31'),(590,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-30 01:23:18'),(591,3,'login','app_user','3',NULL,'127.0.0.1','2026-08-30 02:02:29'),(592,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-30 02:06:06'),(593,1,'update','testimonial','1',NULL,NULL,'2026-08-30 02:06:57'),(594,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-30 02:35:12'),(595,1,'login','app_user','1',NULL,'127.0.0.1','2026-08-31 22:49:12'),(596,1,'update','firm','1','profile',NULL,'2026-09-01 07:01:57');
/*!40000 ALTER TABLE `audit_log` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `auth_session`
--

DROP TABLE IF EXISTS `auth_session`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `auth_session` (
  `token` varchar(100) NOT NULL,
  `user_id` int NOT NULL,
  `device_id` text,
  `issued_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `expires_at` text NOT NULL,
  `revoked_at` text,
  PRIMARY KEY (`token`),
  KEY `ix_session_user` (`user_id`),
  CONSTRAINT `auth_session_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `app_user` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `auth_session`
--

LOCK TABLES `auth_session` WRITE;
/*!40000 ALTER TABLE `auth_session` DISABLE KEYS */;
INSERT INTO `auth_session` VALUES ('-ITi2srg_6Jg9JqV4EKSInn2Bx0B7nAv5GL1Me-4u5U',1,NULL,'2026-08-25 17:20:29','2026-09-24 17:20:29',NULL),('0tfIKQLZseSYBUFDoDgj_XpqTEEk1eGIpT0ynKNpWM8',1,NULL,'2026-08-25 16:49:33','2026-09-24 16:49:33',NULL),('0XvSz8pXgKtIqSWilajfHA_7yp1etLVOTP75h0puRvw',1,'dev-dwihnfdq','2026-08-29 09:16:39','2026-09-28 09:16:39',NULL),('2kxBwfnMcqLNCyv25LVGo0FLgB8Y6JStLXp9e-eaG-8',1,'dev-dwihnfdq','2026-08-29 05:09:57','2026-09-28 05:09:57',NULL),('4_ozIzUrhoKgIxkcSGcJelyfePZiO7OKr2H0SNtG_d4',1,NULL,'2026-08-25 03:26:11','2026-09-24 03:26:11',NULL),('6AAKsXLLioPpFfyRB7LtPgLlJuYo4TyGkkSbIfT-YwE',1,NULL,'2026-08-25 16:24:30','2026-09-24 16:24:30',NULL),('71BGz6bxe6waEDxMhKl96XOARD2-f6hXYe8_8o_QcfM',1,'dev-yu8rwvlj','2026-08-29 07:48:18','2026-09-28 07:48:18',NULL),('7aB3lBsra83FfByY8TM7JXkqIa77HccGThdV9vERsow',1,'dev-1mmqcnrv','2026-08-29 06:16:24','2026-09-28 06:16:24',NULL),('7aNR_zSF2mnP_95U8u-eGirBjGcyGo-9F__t5pSIl98',2,NULL,'2026-08-25 16:40:39','2026-09-24 16:40:39',NULL),('7L0FRHYH1k4yj8a-JvdEDWZFQhsT0xZ6ZrqvGAz5DT0',1,'dev-yu8rwvlj','2026-08-29 13:23:50','2026-09-28 13:23:50',NULL),('8JqwEVVQ2VNC0a8XsuBo3MixXHDVjQ_qb3fhiC0Qcz0',1,NULL,'2026-08-25 03:58:22','2026-09-24 03:58:22',NULL),('8PU8c4qXeNifMSNIAi6rS-31pBttdCxgv5zy82F2vZ4',1,'dev-dwihnfdq','2026-08-26 00:44:57','2026-09-25 00:44:57',NULL),('9Y8wTBwC8-rMJimAmbiXrDqEgh1G_cShVXNjtZgP1c8',3,'dev-dwihnfdq','2026-08-29 16:31:11','2026-09-28 16:31:11',NULL),('ABS6VtIHbN1HfNQg6lnv7qpREiODoyupY8SFUzfzrO0',1,'dev-1mmqcnrv','2026-08-25 12:27:13','2026-09-24 12:27:13',NULL),('AEIPPKI8J61BujmheDqkr7rgbEUFTIUmsTWvnqJhmEc',1,NULL,'2026-08-25 16:53:36','2026-09-24 16:53:36',NULL),('C3VWGeJ_GHH2XtZ9l44A6pvYHM82lerUZTv70_rF3-k',1,'dev-1mmqcnrv','2026-08-29 10:05:52','2026-09-28 10:05:52',NULL),('CtXLvLFu3lxGit8H4WdGB9d6_hJ3pl-kB-FPDFRamXU',1,'dev-yu8rwvlj','2026-08-29 07:58:14','2026-09-28 07:58:14',NULL),('d1ovqKKaBlKed24IbsPSFnUKo6rHARbvpS56ujQBfzs',1,NULL,'2026-08-25 13:31:08','2026-09-24 13:31:08',NULL),('DSGGfLoUJl3xsYorwgCJaJ9pFFsIgZ_v1mlFtQ4DO94',1,'dev-1mmqcnrv','2026-08-29 07:02:14','2026-09-28 07:02:14',NULL),('e2BqVVw4-D1eHN5yBX1zdk1nhxV1-QrKO1MPrBny4Jo',1,'dev-yu8rwvlj','2026-08-29 07:48:29','2026-09-28 07:48:29',NULL),('F_aqeAFhtcvBMPb3xpERw6Nqtzx58YWM4QGpyvWNJgg',1,'dev-1mmqcnrv','2026-08-29 09:54:52','2026-09-28 09:54:52',NULL),('fhgkNnhnK0ENTM0KXH5s5HZyWKm_JSf_r74eO1zwbCY',1,NULL,'2026-08-25 11:50:46','2026-09-24 11:50:46',NULL),('G1etKHvMKqNoJGaQX7AedfNT94NScNMk5Jj7DdatZ4g',1,NULL,'2026-08-25 12:41:56','2026-09-24 12:41:56',NULL),('GmGCK6sbot_BblPKxgxpPuJxoUD-LquQhWg-lrr1iyY',1,'dev-dwihnfdq','2026-08-25 02:48:58','2026-09-24 02:48:58',NULL),('GOiSFUud7SDzIin8rYzZ0yErfdveneqUgH6rTOAxZ1o',1,NULL,'2026-08-25 12:57:57','2026-09-24 12:57:57',NULL),('GQ8_7eO0rpTCx_EIDTTAPbDosQh0Y1BAMb38m6_k0vI',1,NULL,'2026-08-25 12:26:26','2026-09-24 12:26:26',NULL),('H0IErbhC0i3ZBR2QSGXlIvIXcr003KRiKXpFeFHD77o',2,NULL,'2026-08-25 12:59:45','2026-09-24 12:59:45',NULL),('Ih6yKMzbJHnuaoeCrDuxD6HPMxBeMM8OU1kVzuQsr88',1,'dev-1mmqcnrv','2026-08-29 17:11:33','2026-09-28 17:11:33',NULL),('jGHQpApNq1k-KDBRuqW61TqkTyyAg1Yd_GbyjP-EHrw',1,NULL,'2026-08-25 16:36:21','2026-09-24 16:36:21',NULL),('Ke60HqD7ObbvUMQaDtwtBhX1cNSLMnHMySO0crPOww8',1,'dev-dwihnfdq','2026-08-29 14:22:58','2026-09-28 14:22:58',NULL),('kOd1QMkzQitFFRZ8_UvWVJaAyRlhrj8a0ZcydO_fBCM',2,NULL,'2026-08-25 13:32:23','2026-09-24 13:32:23',NULL),('l_7ywFD9BLTWuMe7yFL6CJ26cuN19nlwN58vgfayFeU',1,'dev-yu8rwvlj','2026-08-29 13:24:35','2026-09-28 13:24:35',NULL),('l7gnhR8zyT8TGU-bHtsmoAH_97syWMtHRew-FfCdVpY',1,'dev-1mmqcnrv','2026-08-30 01:23:18','2026-09-29 01:23:18',NULL),('lFLVZMJrKmKHYOEglgnsSj5WKGvc5S91A1V3o2Bp2lo',1,'dev-yu8rwvlj','2026-08-29 13:20:34','2026-09-28 13:20:34',NULL),('lN-Xp3ZynvZPwb2K292Y3nhgNmEV7YMAc1Pxweu5FrY',1,'dev-dwihnfdq','2026-08-26 01:52:18','2026-09-25 01:52:18',NULL),('MktY33_j8zCgBLt6pjoyCnz3dCXNQK0zRGOJA3WgVDA',1,'dev-dwihnfdq','2026-08-25 14:48:58','2026-09-24 14:48:58',NULL),('mkVIpUSaS8sOV3t_BrnTcFSVV_6JmDt5rv0pICcMvWA',3,'dev-dwihnfdq','2026-08-30 02:02:29','2026-09-29 02:02:29',NULL),('nOUQKdVzz3kE7yuIvG3gxMZqSs-mrFeSXkbXfmPk-V8',1,NULL,'2026-08-25 17:21:11','2026-09-24 17:21:11',NULL),('oBpxLbHdtH8MJRDIN_hRVKrDZ-HZ_mXlwO_q4trCjZ0',1,'dev-1mmqcnrv','2026-08-29 13:55:46','2026-09-28 13:55:46',NULL),('oCBgPla7Zcgfe34b2Ewwz9ddGHy0E365dZ7mbG506TY',1,'dev-1mmqcnrv','2026-08-29 06:31:32','2026-09-28 06:31:32',NULL),('OqdwoRNXheF36a9oarpqfmoZrsKevICxVVIGWszSfmU',1,'dev-1mmqcnrv','2026-08-29 06:35:15','2026-09-28 06:35:15',NULL),('oVJ30UA00pJgmJnFal36nfDB5RCxrjREY8nHxJVz3ek',1,'dev-1mmqcnrv','2026-08-29 06:01:15','2026-09-28 06:01:15',NULL),('pckBdz6IjxJXabBrXbdiXQqKXFKrPni7XUPublsT9NQ',1,NULL,'2026-08-25 03:43:33','2026-09-24 03:43:33',NULL),('pLT5WI5DV8RNPM2QDHDw6CP1ZCzhiC7w5y_i5AMJlDc',1,'dev-yu8rwvlj','2026-08-29 12:24:25','2026-09-28 12:24:25',NULL),('Q7yOOFTTNpvxloFVqdpip5zJGxlDZkGtCRFNX2nETg8',1,NULL,'2026-08-25 11:48:58','2026-09-24 11:48:58',NULL),('qAhDdrPqnxlQhcLe5-G6V5K-2rUQhp0TasMSZU2YbTc',1,NULL,'2026-08-28 14:05:57','2026-09-27 14:05:57',NULL),('rssQE7ehl33DXdq1Ed1C6-i05mEGwpftPCoZ73nLQQE',1,'dev-yu8rwvlj','2026-08-29 12:56:45','2026-09-28 12:56:45',NULL),('Rv0vJmpAM3_jmy7a2SFB_lDmhr07t6hLCbBcIwsiU5o',1,'dev-dwihnfdq','2026-08-28 13:43:13','2026-09-27 13:43:13',NULL),('RzOKEgHquyUuQyZT1KbII3dkrf9DASCW4vhvi4_zxmA',1,NULL,'2026-08-25 17:18:24','2026-09-24 17:18:24',NULL),('s0kqz9Wh3MWTHrMTuO04aIogW0Xu7hUoHVHHLQdsxWs',1,NULL,'2026-08-25 03:02:08','2026-09-24 03:02:08',NULL),('sfrNIPjHoZntak7hHAWdj-AimevrapF1k63MK8SjR6Y',1,NULL,'2026-08-25 16:40:25','2026-09-24 16:40:25',NULL),('sOBc4yq0bIyCpNQ1JSzE4ICmQNowIKGcrh9jncjz9TU',3,'dev-dwihnfdq','2026-08-29 16:34:24','2026-09-28 16:34:24',NULL),('TpMZBM0yUgkvYZ0f6w605k2gCfhZNk7woICbnShoYFc',1,'dev-1mmqcnrv','2026-08-29 06:35:36','2026-09-28 06:35:36',NULL),('U1umg8HSHWaeb0U4i_rHrgYCSOUDfHT4CbBAuFvdH7s',1,'dev-1mmqcnrv','2026-08-29 05:02:58','2026-09-28 05:02:58',NULL),('uIBKJZNWa6dNHFXmoGC6v7jBUDYuP3P-HbM2yFq0Nxg',1,'dev-1mmqcnrv','2026-08-30 01:01:04','2026-09-29 01:01:04',NULL),('uL_KkVWKWt3snzRrxPpVjVbDcQhTIAsj6VluGAQWNTk',1,NULL,'2026-08-28 13:39:18','2026-09-27 13:39:18',NULL),('UzIEo9flXk3i0CNrMjlq4ojlee5mv5esprUqEh5tig4',3,'dev-1mmqcnrv','2026-08-29 16:51:14','2026-09-28 16:51:14',NULL),('v2qzTG7bIYA1B3aFUealO7SX5pisXadktwLeYBmIt-4',1,'dev-dwihnfdq','2026-08-29 15:01:35','2026-09-28 15:01:35',NULL),('Vo616b2KRaWmu1Jeyu9JjctkDXcMAwEqnNhKLJH_lVI',2,NULL,'2026-08-25 13:32:32','2026-09-24 13:32:32',NULL),('Vrle6251h2SM-mj0-5MpPl8T_kp36kluN7OmJ6VwjjA',3,'dev-1mmqcnrv','2026-08-29 17:13:03','2026-09-28 17:13:03',NULL),('w2ffvjOdl69aBinr0jTrR3slq9fFdYl2XQTBBKzBriQ',2,NULL,'2026-08-25 17:21:30','2026-09-24 17:21:30',NULL),('x0_Wr-i8t2UkaPC_3FmqB1bvmS-gijfAmyxQ6J3dAHY',1,'dev-dwihnfdq','2026-08-30 02:35:12','2026-09-29 02:35:12',NULL),('YjhKXheX4LiTCk4mrPzFcj0GXXyD4AKbXVXeUfYSvEI',1,'dev-1mmqcnrv','2026-08-29 09:14:02','2026-09-28 09:14:02',NULL),('Z3BRpjyPQUKhthYQVoVxBK95EgYOZQKQ5_238eEJAmw',1,NULL,'2026-08-28 13:40:18','2026-09-27 13:40:18',NULL),('zPLt68ANWIkj8xYFtO-INj5R9ETMVwkCp40ZP4jRxBs',1,'dev-dwihnfdq','2026-08-30 02:06:06','2026-09-29 02:06:06',NULL),('zpnWuhVqeTrrjOV_5aOkdypiljwApEv8HhMgBjXZwrA',1,'dev-1mmqcnrv','2026-08-31 22:49:12','2026-09-30 17:04:12',NULL);
/*!40000 ALTER TABLE `auth_session` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `autosave_snapshot`
--

DROP TABLE IF EXISTS `autosave_snapshot`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `autosave_snapshot` (
  `id` int NOT NULL AUTO_INCREMENT,
  `workfile_id` int NOT NULL,
  `payload` text NOT NULL,
  `origin` varchar(100) NOT NULL DEFAULT 'auto',
  `client_seq` int DEFAULT NULL,
  `device_id` text,
  `saved_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `byte_size` int DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `ix_snap_wf_time` (`workfile_id`,`saved_at` DESC),
  CONSTRAINT `autosave_snapshot_ibfk_1` FOREIGN KEY (`workfile_id`) REFERENCES `workfile` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=40 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `autosave_snapshot`
--

LOCK TABLES `autosave_snapshot` WRITE;
/*!40000 ALTER TABLE `autosave_snapshot` DISABLE KEYS */;
INSERT INTO `autosave_snapshot` VALUES (1,1,'{\"pools\": [{\"pool\": \"a\", \"opening_base\": 500000, \"additions\": [{\"desc\": \"New laptop\", \"amount\": 120000, \"bs_month\": 3}], \"disposals\": 0, \"repairs\": 20000, \"business_use_pct\": 100}, {\"pool\": \"b\", \"opening_base\": 2000000, \"additions\": [{\"desc\": \"Delivery van\", \"amount\": 1800000, \"bs_month\": 6}], \"disposals\": 150000, \"repairs\": 50000, \"business_use_pct\": 90}], \"opts\": {\"special_industry\": false}}','manual',NULL,'unknown','2026-08-24 15:18:20',396),(2,2,'{\"employees\": [{\"name\": \"Rita Sharma\", \"designation\": \"Accountant\", \"status\": \"individual\", \"basic_monthly\": 45000, \"allowance_monthly\": 5000, \"months\": 12, \"ssf_contributor\": true}, {\"name\": \"Bikash Thapa\", \"designation\": \"Manager\", \"status\": \"couple\", \"basic_monthly\": 80000, \"allowance_monthly\": 10000, \"months\": 12, \"ssf_contributor\": true}]}','manual',NULL,'unknown','2026-08-24 15:18:20',346),(3,3,'{\"person\": {\"status\": \"individual\", \"is_resident_woman\": false, \"ssf_contributor\": true, \"is_senior_citizen\": false}, \"incomes\": {\"employment_assessable\": 900000, \"business_net_profit\": 300000, \"rental_gross\": 240000, \"rental_expenses\": 50000, \"other_income\": 20000}, \"deductions\": {\"retirement_contribution\": 90000, \"life_insurance_premium\": 25000, \"health_insurance_premium\": 15000, \"donations\": 10000}}','manual',NULL,'unknown','2026-08-24 15:18:20',405),(4,4,'{\"profit_before_tax\": 2500000, \"entity\": \"company\", \"rate_category\": \"general\", \"tax_holiday_pct\": 0, \"additions\": [{\"desc\": \"Disallowed entertainment\", \"amount\": 80000}], \"deductions\": [{\"desc\": \"Extra allowable provision\", \"amount\": 30000}], \"book_depreciation\": 400000, \"tax_depreciation\": 550000, \"donations\": 50000}','manual',NULL,'unknown','2026-08-24 15:18:20',320),(5,5,'{\"estimate_return_filed\": true, \"books_maintained\": true, \"assessable_income\": 2500000, \"months_late_return\": 2, \"advance_tax_estimate\": 625000, \"paid_by_poush\": 200000, \"paid_by_chaitra\": 200000, \"paid_by_ashad\": 200000, \"instalment_shortfalls\": []}','manual',NULL,'unknown','2026-08-24 15:18:20',250),(6,6,'{\"entries\": [{\"category\": \"contract\", \"date\": \"2083-05-10\", \"party\": \"Himal Suppliers Pvt Ltd\", \"amount\": 500000}, {\"category\": \"commission\", \"date\": \"2083-06-15\", \"party\": \"Sagar Agency\", \"amount\": 120000}, {\"category\": \"consultancy_registered\", \"date\": \"2083-07-01\", \"party\": \"Everest Consulting\", \"amount\": 300000}], \"signatory\": {\"name\": \"Nishant Marasini\", \"designation\": \"ca\", \"membership_no\": \"12345\", \"firm_name\": \"CA Nishant Marasini & Associates\", \"place\": \"Kathmandu\", \"date\": \"2083-12-01\", \"udin\": \"2412345ABCDEF12345\"}}','manual',NULL,'unknown','2026-08-24 15:18:20',532),(7,7,'{\"entity\": {\"name\": \"CA Nishant Test Company\", \"pan\": \"600000001\", \"period_label\": \"Shrawan-Bhadra 2083\"}, \"sales\": [{\"date\": \"2083-04-05\", \"party\": \"Retail Buyer A\", \"desc\": \"Goods sold\", \"taxable_amount\": 800000, \"zero_rated_amount\": 0, \"exempt_amount\": 0}, {\"date\": \"2083-04-20\", \"party\": \"Export Buyer B\", \"desc\": \"Export sale\", \"taxable_amount\": 0, \"zero_rated_amount\": 200000, \"exempt_amount\": 0}], \"purchases\": [{\"date\": \"2083-04-02\", \"party\": \"Supplier X\", \"desc\": \"Raw material\", \"taxable_amount\": 400000, \"blocked\": false, \"capital_goods\": false}, {\"date\": \"2083-04-10\", \"party\": \"Supplier Y\", \"desc\": \"Office car\", \"taxable_amount\": 100000, \"blocked\": true, \"capital_goods\": false}], \"credit_notes_issued\": 10000, \"debit_notes_issued\": 0, \"credit_notes_received\": 5000, \"debit_notes_received\": 0, \"opening_credit\": 15000, \"mixed_supply\": false, \"signatory\": {\"name\": \"Nishant Marasini\", \"designation\": \"ca\", \"membership_no\": \"12345\", \"firm_name\": \"CA Nishant Marasini & Associates\", \"place\": \"Kathmandu\", \"date\": \"2083-12-01\", \"udin\": \"2412345ABCDEF12346\"}}','manual',NULL,'unknown','2026-08-24 15:18:20',1068),(8,8,'{\"entity\": {\"name\": \"CA Nishant Test Company\", \"period_label\": \"FY 2083-84\"}, \"raw_materials\": [{\"name\": \"PVC resin\", \"unit\": \"kg\", \"costing_method\": \"weighted_avg\", \"opening\": {\"date\": \"2083-04-01\", \"qty\": 1000, \"rate\": 120}, \"purchases\": [{\"date\": \"2083-05-01\", \"qty\": 2000, \"rate\": 125, \"freight\": 5000, \"duty\": 2000, \"other_cost\": 0, \"discount\": 0, \"desc\": \"Purchase 1\"}], \"issues\": [{\"date\": \"2083-06-01\", \"qty\": 1500, \"desc\": \"Issued to production\"}], \"replacement_cost_per_unit\": 122, \"fg_expected_below_cost\": false}], \"wip\": {\"opening\": {\"qty\": 0, \"cost\": 0}, \"units_introduced\": 3000, \"material_cost_override\": null, \"direct_labor_cost\": 150000, \"variable_overhead\": 80000, \"normal_capacity_units\": 3000, \"actual_production_units\": 2800, \"budgeted_fixed_overhead\": 60000, \"normal_loss_units\": 50, \"abnormal_loss_units\": 20, \"scrap_rate_per_unit\": 5, \"units_completed_transferred\": 2700, \"closing_wip_units\": 30, \"closing_material_pct\": 100, \"closing_conversion_pct\": 60, \"nrv_selling_price_per_unit\": 200, \"nrv_cost_to_complete_per_unit\": 10, \"nrv_selling_cost_per_unit\": 5}, \"fg\": {\"costing_method\": \"weighted_avg\", \"opening\": {\"date\": \"2083-04-01\", \"qty\": 100, \"rate\": 180}, \"transfer_date\": \"2083-06-05\", \"sales\": [{\"date\": \"2083-06-10\", \"qty\": 2000, \"desc\": \"Sold to distributor\"}], \"selling_price_per_unit\": 200, \"selling_cost_per_unit\": 5}}','manual',NULL,'unknown','2026-08-24 15:18:20',1356),(9,9,'{\"entity\": {\"name\": \"CA Nishant Test Company\", \"period_label\": \"FY 2083-84\"}, \"classes\": [{\"key\": \"furniture\", \"label\": \"Furniture & fixtures\", \"method\": \"straight_line\", \"rate_pct\": 10, \"useful_life_years\": 10, \"residual_pct\": 5, \"opening_block_nbv\": 500000, \"opening_block_remaining_life_years\": 7, \"opening_block_residual_value\": 25000, \"assets\": [{\"code\": \"FA-01\", \"name\": \"Office desks\", \"status\": \"existing\", \"acquisition_date\": \"2080-04-01\", \"cost\": 300000, \"additional_cost\": 0, \"opening_nbv\": 250000, \"opening_nbv_remaining_life_years\": 7, \"opening_nbv_residual_value\": 15000, \"method\": \"straight_line\", \"rate_pct\": 10, \"useful_life_years\": 10, \"residual_pct\": 5, \"business_use_pct\": 100, \"disposal_date\": null, \"disposal_proceeds\": null}, {\"code\": \"FA-02\", \"name\": \"New chairs\", \"status\": \"addition\", \"acquisition_date\": \"2083-06-15\", \"cost\": 150000, \"additional_cost\": 0, \"opening_nbv\": 0, \"opening_nbv_remaining_life_years\": null, \"opening_nbv_residual_value\": null, \"method\": \"straight_line\", \"rate_pct\": 10, \"useful_life_years\": 10, \"residual_pct\": 5, \"business_use_pct\": 100, \"disposal_date\": null, \"disposal_proceeds\": null}]}]}','manual',NULL,'unknown','2026-08-24 15:18:20',1144),(10,10,'{\"principal\": 5000000, \"annual_rate\": 11.5, \"tenure_periods\": 60, \"frequency\": \"monthly\", \"repayment\": \"emi\", \"modifications\": []}','manual',NULL,'unknown','2026-08-24 15:18:20',130),(11,11,'{\"payment\": 50000, \"periods\": 60, \"frequency\": \"monthly\", \"annual_rate\": 12, \"timing\": \"arrear\", \"tds_borne_by\": \"lessor\", \"start_date_ad\": \"2026-08-01\", \"rent_steps\": [{\"from_period\": 13, \"payment\": 55000}, {\"from_period\": 25, \"payment\": 60500}], \"modifications\": [], \"escalation\": {\"type\": \"pct\", \"pct\": 10, \"amount\": 0, \"every_years\": 1}, \"short_term_or_low_value\": false, \"initial_direct_costs\": 20000, \"incentives\": 0, \"restoration_provision\": 0}','manual',NULL,'unknown','2026-08-24 15:18:20',451),(12,12,'{\"entity\": {\"name\": \"CA Nishant Test Company\", \"address\": \"Kathmandu, Nepal\", \"pan\": \"600000001\", \"fy_label\": \"2083-84\", \"prev_label\": \"2082-83\"}, \"rows\": [{\"name\": \"Cash in hand\", \"group\": \"Current Assets\", \"dr\": 150000, \"cr\": 0, \"prev\": 100000, \"opening_dr\": 100000, \"opening_cr\": 0}, {\"name\": \"Bank balance\", \"group\": \"Current Assets\", \"dr\": 850000, \"cr\": 0, \"prev\": 600000, \"opening_dr\": 600000, \"opening_cr\": 0}, {\"name\": \"Trade receivables\", \"group\": \"Current Assets\", \"dr\": 1200000, \"cr\": 0, \"prev\": 900000, \"opening_dr\": 900000, \"opening_cr\": 0}, {\"name\": \"Inventory\", \"group\": \"Current Assets\", \"dr\": 700000, \"cr\": 0, \"prev\": 500000, \"opening_dr\": 500000, \"opening_cr\": 0}, {\"name\": \"Furniture & fixtures\", \"group\": \"Non-current Assets\", \"dr\": 450000, \"cr\": 0, \"prev\": 500000, \"opening_dr\": 500000, \"opening_cr\": 0}, {\"name\": \"Trade payables\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 650000, \"prev\": 400000, \"opening_dr\": 0, \"opening_cr\": 400000}, {\"name\": \"Bank loan\", \"group\": \"Non-current Liabilities\", \"dr\": 0, \"cr\": 2000000, \"prev\": 2500000, \"opening_dr\": 0, \"opening_cr\": 2500000}, {\"name\": \"Share capital\", \"group\": \"Equity\", \"dr\": 0, \"cr\": 1000000, \"prev\": 1000000, \"opening_dr\": 0, \"opening_cr\": 1000000}, {\"name\": \"Retained earnings\", \"group\": \"Equity\", \"dr\": 0, \"cr\": 350000, \"prev\": 200000, \"opening_dr\": 0, \"opening_cr\": 200000}, {\"name\": \"Sales\", \"group\": \"Revenue\", \"dr\": 0, \"cr\": 8500000, \"prev\": 7200000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Purchases\", \"group\": \"Cost of Sales\", \"dr\": 5200000, \"cr\": 0, \"prev\": 4400000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Salary expense\", \"group\": \"Operating Expenses\", \"dr\": 1400000, \"cr\": 0, \"prev\": 1200000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Rent expense\", \"group\": \"Operating Expenses\", \"dr\": 300000, \"cr\": 0, \"prev\": 260000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Depreciation\", \"group\": \"Operating Expenses\", \"dr\": 150000, \"cr\": 0, \"prev\": 140000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Interest expense\", \"group\": \"Finance Cost\", \"dr\": 200000, \"cr\": 0, \"prev\": 250000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"TDS payable\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 50000, \"prev\": 30000, \"opening_dr\": 0, \"opening_cr\": 30000}, {\"name\": \"VAT payable\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 90000, \"prev\": 60000, \"opening_dr\": 0, \"opening_cr\": 60000}], \"closing_stock\": {\"current\": 700000, \"previous\": 500000}, \"accounting_policy\": \"These financial statements have been prepared in accordance with Nepal Financial Reporting Standards (NFRS) for Small and Medium-sized Entities.\", \"disclosures\": {\"related_party_transactions\": \"No material related party transactions during the year.\", \"contingent_liabilities\": \"None.\", \"capital_commitments\": \"None.\", \"subsequent_events\": \"No material subsequent events noted.\"}}','manual',NULL,'unknown','2026-08-24 15:18:20',2844),(13,13,'{\"meta\": {\"fy_start\": \"07-16\", \"fy_label\": \"bs\"}, \"grants\": [{\"name\": \"Export promotion subsidy\", \"type\": \"income\", \"amount\": 500000, \"received_date_ad\": \"2026-08-01\", \"recognition_method\": \"immediate\", \"related_asset_life_years\": null, \"conditions_met\": true}], \"events\": []}','manual',NULL,'unknown','2026-08-24 15:18:20',276),(14,14,'{\"company\": \"CA Nishant Test Company\", \"client\": \"greenfield\", \"years\": 5, \"industry\": \"Plastic Products — PVC & HDPE Pipe\", \"loan_type\": \"epi\", \"loan\": 60000000, \"equity\": 40000000, \"rate\": 0.115, \"wc_rate\": 0.12, \"wc_margin\": 0.75, \"od_spread\": 0.01, \"disc_rate\": 0.13, \"tv_basis\": \"going\", \"tgrowth\": 0.03, \"proc_fee\": 0.0075, \"payout\": 0}','manual',NULL,'unknown','2026-08-24 15:18:21',342),(15,15,'{\"subject\": {\"name\": \"CA Nishant Test Company\", \"subject_type\": \"entity\", \"valuation_date\": \"2083-12-01\", \"purpose\": \"Sale negotiation\"}, \"workings\": [{\"id\": \"w1\", \"method\": \"nav\", \"label\": \"Net asset value\", \"fair_value_level\": 2, \"inputs\": {\"assets\": [{\"desc\": \"Fixed assets\", \"book_value\": 450000, \"fair_value\": 500000}, {\"desc\": \"Current assets\", \"book_value\": 2900000, \"fair_value\": 2900000}], \"liabilities\": [{\"desc\": \"Trade payables\", \"book_value\": 650000, \"fair_value\": 650000}, {\"desc\": \"Bank loan\", \"book_value\": 2000000, \"fair_value\": 2000000}]}}], \"conclusion\": {\"weights\": {\"w1\": 100}, \"notes\": \"NAV taken as sole basis given limited trading history.\"}}','manual',NULL,'unknown','2026-08-24 15:18:21',666),(16,16,'{\"entity\": {\"name\": \"CA Nishant Test Company\", \"entity_type\": \"Private Limited\", \"other_entity_type_label\": \"\", \"period_label\": \"FY 2083-84\", \"scope\": \"Review of purchase-to-pay and cash controls\", \"objectives\": \"Assess control effectiveness\"}, \"planning\": {\"previous_findings_status\": \"No prior findings\", \"key_risks_noted\": \"Manual approval bottlenecks\"}, \"criteria_responses\": {}, \"findings\": [{\"area\": \"Purchase\", \"title\": \"No three-way match evidence\", \"severity\": \"medium\", \"recommendation\": \"Implement PO-GRN-invoice matching before payment\", \"management_response\": \"Agreed, to implement next quarter\"}], \"conclusion\": {\"overall_rating\": \"satisfactory\", \"summary\": \"Controls generally adequate with noted improvement areas.\"}, \"signatory\": {\"name\": \"Nishant Marasini\", \"designation\": \"ca\", \"membership_no\": \"12345\", \"firm_name\": \"CA Nishant Marasini & Associates\", \"place\": \"Kathmandu\", \"date\": \"2083-12-01\", \"udin\": \"2412345ABCDEF12347\"}}','manual',NULL,'unknown','2026-08-24 15:18:21',946),(17,17,'{\"entity\": {\"name\": \"CA Nishant Test Company\", \"entity_type\": \"Private Limited\", \"other_entity_type_label\": \"\", \"period_label\": \"FY 2083-84\"}, \"materiality\": {\"benchmark\": \"Revenue\", \"benchmark_value\": 8500000, \"materiality_pct\": 1, \"pm_pct\": 75, \"ct_pct\": 5}, \"sample_size\": {\"population_value\": 5200000, \"population_count\": 120, \"tolerable_misstatement\": \"medium\", \"expected_misstatement\": 20000, \"risk_level\": \"medium\"}, \"risk_assessment\": {}, \"criteria_responses\": {}, \"findings\": [{\"area\": \"Revenue\", \"title\": \"Cut-off testing\", \"severity\": \"low\", \"recommendation\": \"Maintain current cut-off procedures\", \"management_response\": \"Noted\"}], \"conclusion\": {\"overall_rating\": \"unqualified\", \"summary\": \"No material misstatements identified.\"}, \"signatory\": {\"name\": \"Nishant Marasini\", \"designation\": \"ca\", \"membership_no\": \"12345\", \"firm_name\": \"CA Nishant Marasini & Associates\", \"place\": \"Kathmandu\", \"date\": \"2083-12-01\", \"udin\": \"2412345ABCDEF12348\"}}','manual',NULL,'unknown','2026-08-24 15:18:21',957),(18,18,'{\"entity\": {\"name\": \"CA Nishant Test Company\"}, \"opinion_type\": \"unqualified\", \"opinion_paragraph\": \"In our opinion, the accompanying financial statements present fairly, in all material respects, the financial position of CA Nishant Test Company as at Ashad end 2083, and its financial performance and cash flows for the year then ended in accordance with Nepal Financial Reporting Standards (NFRS).\", \"basis_paragraph\": \"We conducted our audit in accordance with Nepal Standards on Auditing (NSA).\", \"eom_paragraph\": \"\", \"other_matter_paragraph\": \"\", \"kam_paragraphs\": [], \"responsibilities_management\": \"Management is responsible for the preparation of the financial statements.\", \"responsibilities_auditor\": \"Our objectives are to obtain reasonable assurance about whether the financial statements as a whole are free from material misstatement.\", \"signatory\": {\"name\": \"Nishant Marasini\", \"designation\": \"ca\", \"membership_no\": \"12345\", \"firm_name\": \"CA Nishant Marasini & Associates\", \"place\": \"Kathmandu\", \"date\": \"2083-12-01\", \"udin\": \"2412345ABCDEF12349\"}}','manual',NULL,'unknown','2026-08-24 15:18:21',1064),(19,19,'{\"eng\": {\"target\": \"CA Nishant Test Company\", \"pan\": \"600000001\", \"sector\": \"Manufacturing\", \"txn\": \"Acquisition\", \"stake\": 100, \"dealval\": 15000000, \"unit\": \"Thousands\", \"cur\": \"NPR\", \"latest_fy\": \"2082/83\", \"nyears\": 5, \"matmode\": \"auto\", \"mat\": 0, \"multiple\": 0}, \"fin\": {}, \"ov\": {}, \"g\": {\"dr\": [], \"acct\": [], \"tds\": [], \"conc\": [], \"stream\": [], \"norm\": [], \"wcm\": [], \"debt\": [], \"dlike\": [], \"rp\": [], \"oneoff\": [], \"cont\": [], \"it\": [], \"vat\": [], \"notice\": [], \"find\": [], \"rec\": []}}','manual',NULL,'unknown','2026-08-24 15:18:21',495),(20,20,'{\"client\": {\"name\": \"CA Nishant Test Company\", \"status\": \"Proposed — to be incorporated\", \"sector\": \"Manufacturing — general\", \"pan\": \"600000001\"}, \"fx\": {\"base\": \"USD\", \"rate\": 135, \"rates\": {\"USD\": 135, \"EUR\": 146, \"INR\": 1.6}}, \"investors\": [{\"kind\": \"FC\", \"name\": \"Global Investor Pte Ltd\", \"country\": \"Singapore\", \"amount\": 500000, \"currency\": \"USD\", \"source_of_funds\": \"Retained earnings\"}], \"capital\": {\"authorised\": 100000000, \"issued\": 67500000, \"face_value\": 100, \"premium\": 0}, \"cost\": [[\"Land and land development\", 20000000], [\"Building and civil works\", 15000000], [\"Plant and machinery\", 25000000], [\"Utilities and installation\", 3000000], [\"Vehicles\", 2000000], [\"Office equipment and furniture\", 1000000], [\"Preliminary and pre-operative expenses\", 1500000], [\"Contingency\", 1000000], [\"Margin money for working capital\", 1500000]], \"loan\": {\"f_amt\": 3000000, \"f_rate\": 9, \"f_tenure\": 7, \"f_morat\": 1, \"f_cur\": \"USD\", \"l_amt\": 0, \"l_rate\": 11, \"l_tenure\": 7, \"l_morat\": 1}, \"proj\": {\"years\": 5, \"rev_y1\": 40000000, \"growth\": 10, \"util\": [60, 75, 85, 95, 100], \"cogs_pct\": 55, \"admin_pct\": 8, \"sell_pct\": 5, \"other_pct\": 2, \"salary_pct\": 0, \"dep_life\": 15, \"dep_bldg\": 20, \"preop_amort\": 5, \"tax_rate\": 20, \"tax_holiday\": 0, \"concession_pct\": 0, \"ar_days\": 45, \"inv_days\": 60, \"ap_days\": 30, \"payout\": 40, \"royalty_pct\": 0, \"tech_fee_pct\": 0, \"mgmt_fee_pct\": 0}, \"params\": {\"min_fdi\": 20000000, \"min_fdi_exempt_it\": true, \"auto_cap\": 500000000, \"ibn_threshold\": 6000000000, \"dividend_wht\": 5, \"interest_wht\": 15, \"royalty_wht\": 15, \"service_wht\": 15, \"cgt_non_resident\": 25, \"cgt_res_entity\": 15, \"cgt_res_indiv\": 10, \"vat\": 13, \"de_ratio\": 70, \"royalty_domestic_sales_cap\": 5, \"royalty_domestic_profit_cap\": 15, \"royalty_export_sales_cap\": 10, \"royalty_export_profit_cap\": 20, \"last_verified\": \"\"}, \"route\": {\"neg_checks\": {}, \"cap_override\": \"\", \"authority\": \"auto\", \"auto_eligible\": \"auto\"}, \"val\": {\"wacc\": 16, \"tg\": 4, \"pe\": 12, \"ev_ebitda\": 8, \"net_debt\": 0, \"net_assets\": 0, \"surplus\": 0, \"exit_year\": 5, \"exit_multiple\": 8, \"exit_cost_base\": 0, \"nav_weight\": 30, \"dcf_weight\": 40, \"pe_weight\": 15, \"ebitda_weight\": 15}, \"dd\": {}, \"tt\": {\"has\": true, \"licensor\": \"Global Investor Pte Ltd\", \"type\": \"Technical know-how and trade mark licence\", \"term\": 10}}','manual',NULL,'unknown','2026-08-24 15:18:21',2278),(21,21,'{\"entity\": {\"name\": \"CA Nishant Test Company\", \"entity_type\": \"Private Limited\", \"other_entity_type_label\": \"\", \"period_label\": \"FY 2083-84\"}, \"materiality\": {\"benchmark\": \"Revenue\", \"benchmark_value\": 8500000, \"materiality_pct\": 1, \"pm_pct\": 75, \"ct_pct\": 5}, \"sample_size\": {\"population_value\": 5200000, \"population_count\": 120, \"tolerable_misstatement\": 63750, \"expected_misstatement\": 20000, \"risk_level\": \"medium\"}, \"risk_assessment\": {}, \"criteria_responses\": {}, \"findings\": [{\"area\": \"Revenue\", \"title\": \"Cut-off testing\", \"severity\": \"low\", \"recommendation\": \"Maintain current cut-off procedures\", \"management_response\": \"Noted\"}], \"conclusion\": {\"overall_rating\": \"unqualified\", \"summary\": \"No material misstatements identified.\"}, \"signatory\": {\"name\": \"Nishant Marasini\", \"designation\": \"ca\", \"membership_no\": \"12345\", \"firm_name\": \"CA Nishant Marasini & Associates\", \"place\": \"Kathmandu\", \"date\": \"2083-12-01\", \"udin\": \"2412345ABCDEF12348\"}}','manual',NULL,'unknown','2026-08-24 15:19:02',954),(22,22,'{\"entity\": {\"name\": \"CA Nishant Test Company\", \"address\": \"Kathmandu, Nepal\", \"pan\": \"600000001\", \"fy_label\": \"2083-84\", \"prev_label\": \"2082-83\"}, \"rows\": [{\"name\": \"Cash in hand\", \"group\": \"Current Assets\", \"dr\": 150000, \"cr\": 0, \"prev\": 100000, \"opening_dr\": 100000, \"opening_cr\": 0}, {\"name\": \"Bank balance\", \"group\": \"Current Assets\", \"dr\": 850000, \"cr\": 0, \"prev\": 600000, \"opening_dr\": 600000, \"opening_cr\": 0}, {\"name\": \"Trade receivables\", \"group\": \"Current Assets\", \"dr\": 1200000, \"cr\": 0, \"prev\": 900000, \"opening_dr\": 900000, \"opening_cr\": 0}, {\"name\": \"Inventory\", \"group\": \"Current Assets\", \"dr\": 700000, \"cr\": 0, \"prev\": 500000, \"opening_dr\": 500000, \"opening_cr\": 0}, {\"name\": \"Furniture & fixtures\", \"group\": \"Non-current Assets\", \"dr\": 450000, \"cr\": 0, \"prev\": 500000, \"opening_dr\": 500000, \"opening_cr\": 0}, {\"name\": \"Trade payables\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 650000, \"prev\": 400000, \"opening_dr\": 0, \"opening_cr\": 400000}, {\"name\": \"Bank loan\", \"group\": \"Non-current Liabilities\", \"dr\": 0, \"cr\": 2000000, \"prev\": 2500000, \"opening_dr\": 0, \"opening_cr\": 2500000}, {\"name\": \"Share capital\", \"group\": \"Equity\", \"dr\": 0, \"cr\": 1000000, \"prev\": 1000000, \"opening_dr\": 0, \"opening_cr\": 1000000}, {\"name\": \"Retained earnings\", \"group\": \"Equity\", \"dr\": 0, \"cr\": 350000, \"prev\": 200000, \"opening_dr\": 0, \"opening_cr\": 200000}, {\"name\": \"Sales\", \"group\": \"Revenue\", \"dr\": 0, \"cr\": 8500000, \"prev\": 7200000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Purchases\", \"group\": \"Cost of Sales\", \"dr\": 5200000, \"cr\": 0, \"prev\": 4400000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Salary expense\", \"group\": \"Operating Expenses\", \"dr\": 1400000, \"cr\": 0, \"prev\": 1200000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Rent expense\", \"group\": \"Operating Expenses\", \"dr\": 300000, \"cr\": 0, \"prev\": 260000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Depreciation\", \"group\": \"Operating Expenses\", \"dr\": 150000, \"cr\": 0, \"prev\": 140000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Interest expense\", \"group\": \"Finance Cost\", \"dr\": 200000, \"cr\": 0, \"prev\": 250000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"TDS payable\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 50000, \"prev\": 30000, \"opening_dr\": 0, \"opening_cr\": 30000}, {\"name\": \"VAT payable\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 90000, \"prev\": 60000, \"opening_dr\": 0, \"opening_cr\": 60000}], \"closing_stock\": {\"current\": 700000, \"previous\": 500000}, \"accounting_policy\": \"NFRS for SMEs.\", \"disclosures\": {\"related_party_transactions\": \"None.\", \"contingent_liabilities\": \"None.\", \"capital_commitments\": \"None.\", \"subsequent_events\": \"None.\"}}','manual',NULL,'unknown','2026-08-24 15:22:19',2633),(23,23,'{\"entity\": {\"name\": \"CA Nishant Test Company\", \"address\": \"Kathmandu, Nepal\", \"pan\": \"600000001\", \"fy_label\": \"2083-84\", \"prev_label\": \"2082-83\"}, \"rows\": [{\"name\": \"Cash in hand\", \"group\": \"Current Assets\", \"dr\": 150000, \"cr\": 0, \"prev\": 100000, \"opening_dr\": 100000, \"opening_cr\": 0}, {\"name\": \"Bank balance\", \"group\": \"Current Assets\", \"dr\": 850000, \"cr\": 0, \"prev\": 600000, \"opening_dr\": 600000, \"opening_cr\": 0}, {\"name\": \"Trade receivables\", \"group\": \"Current Assets\", \"dr\": 1200000, \"cr\": 0, \"prev\": 900000, \"opening_dr\": 900000, \"opening_cr\": 0}, {\"name\": \"Inventory\", \"group\": \"Current Assets\", \"dr\": 700000, \"cr\": 0, \"prev\": 500000, \"opening_dr\": 500000, \"opening_cr\": 0}, {\"name\": \"Furniture & fixtures\", \"group\": \"Non-current Assets\", \"dr\": 450000, \"cr\": 0, \"prev\": 500000, \"opening_dr\": 500000, \"opening_cr\": 0}, {\"name\": \"Trade payables\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 650000, \"prev\": 400000, \"opening_dr\": 0, \"opening_cr\": 400000}, {\"name\": \"Bank loan\", \"group\": \"Non-current Liabilities\", \"dr\": 0, \"cr\": 2000000, \"prev\": 2500000, \"opening_dr\": 0, \"opening_cr\": 2500000}, {\"name\": \"Share capital\", \"group\": \"Equity\", \"dr\": 0, \"cr\": 1000000, \"prev\": 1000000, \"opening_dr\": 0, \"opening_cr\": 1000000}, {\"name\": \"Retained earnings\", \"group\": \"Equity\", \"dr\": 0, \"cr\": 350000, \"prev\": 200000, \"opening_dr\": 0, \"opening_cr\": 200000}, {\"name\": \"Sales\", \"group\": \"Revenue\", \"dr\": 0, \"cr\": 8500000, \"prev\": 7200000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Purchases\", \"group\": \"Cost of Sales\", \"dr\": 5200000, \"cr\": 0, \"prev\": 4400000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Salary expense\", \"group\": \"Operating Expenses\", \"dr\": 1400000, \"cr\": 0, \"prev\": 1200000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Rent expense\", \"group\": \"Operating Expenses\", \"dr\": 300000, \"cr\": 0, \"prev\": 260000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Depreciation\", \"group\": \"Operating Expenses\", \"dr\": 150000, \"cr\": 0, \"prev\": 140000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Interest expense\", \"group\": \"Finance Cost\", \"dr\": 200000, \"cr\": 0, \"prev\": 250000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"TDS payable\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 50000, \"prev\": 30000, \"opening_dr\": 0, \"opening_cr\": 30000}, {\"name\": \"VAT payable\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 90000, \"prev\": 60000, \"opening_dr\": 0, \"opening_cr\": 60000}], \"closing_stock\": {\"current\": 700000, \"previous\": 500000}, \"accounting_policy\": \"NFRS for SMEs.\", \"disclosures\": {\"related_party_transactions\": \"None.\", \"contingent_liabilities\": \"None.\", \"capital_commitments\": \"None.\", \"subsequent_events\": \"None.\"}}','manual',NULL,'unknown','2026-08-24 15:24:55',2633),(24,24,'{\"entries\": [{\"category\": \"contract\", \"date\": \"2083-05-10\", \"party\": \"Himal Suppliers Pvt Ltd\", \"gross_amount\": 500000, \"description\": \"Supply contract\"}, {\"category\": \"commission\", \"date\": \"2083-06-15\", \"party\": \"Sagar Agency\", \"gross_amount\": 120000, \"description\": \"Sales commission\"}, {\"category\": \"consultancy_registered\", \"date\": \"2083-07-01\", \"party\": \"Everest Consulting\", \"gross_amount\": 300000, \"description\": \"Advisory fees\"}], \"signatory\": {\"name\": \"Nishant Marasini\", \"designation\": \"ca\", \"membership_no\": \"12345\", \"firm_name\": \"CA Nishant Marasini & Associates\", \"place\": \"Kathmandu\", \"date\": \"2083-12-01\", \"udin\": \"2412345ABCDEF12346\"}}','manual',NULL,'unknown','2026-08-24 15:31:19',651),(25,25,'{\"payment\": 125000, \"periods\": 120, \"frequency\": \"monthly\", \"annual_rate\": 12, \"timing\": \"advance\", \"tds_borne_by\": \"none\", \"rent_steps\": [{\"from_period\": 25, \"payment\": 137500}, {\"from_period\": 49, \"payment\": 151250}, {\"from_period\": 73, \"payment\": 166375}, {\"from_period\": 97, \"payment\": 183012.5}], \"modifications\": [], \"escalation\": {\"pct\": 10, \"every_years\": 2, \"type\": \"pct\"}}','manual',NULL,'dev-dwihnfdq','2026-08-26 02:07:26',382),(26,25,'{\"payment\": 125000, \"periods\": 120, \"frequency\": \"monthly\", \"annual_rate\": 12, \"timing\": \"advance\", \"tds_borne_by\": \"lessor\", \"rent_steps\": [{\"from_period\": 25, \"payment\": 137500}, {\"from_period\": 49, \"payment\": 151250}, {\"from_period\": 73, \"payment\": 166375}, {\"from_period\": 97, \"payment\": 183012.5}], \"modifications\": [], \"escalation\": {\"pct\": 10, \"every_years\": 2, \"type\": \"pct\"}}','sync',8,'dev-dwihnfdq','2026-08-26 02:12:26',384),(27,26,'{\"company\": \"\", \"client\": \"greenfield\", \"years\": 5, \"industry\": \"Plastic Products — PVC & HDPE Pipe\", \"loan_type\": \"epi\", \"loan\": 60000000, \"equity\": 40000000, \"rate\": 0.115, \"wc_rate\": 0.12, \"wc_margin\": 0.75, \"od_spread\": 0.01, \"disc_rate\": 0.13, \"tv_basis\": \"going\", \"tgrowth\": 0.03, \"proc_fee\": 0.0075, \"payout\": 0}','manual',NULL,'dev-dwihnfdq','2026-08-28 13:48:26',319),(28,27,'{\"meta\": {\"fy_start\": \"07-16\", \"fy_label\": \"ad\"}, \"grants\": [{\"id\": \"g1787934714122ombp\", \"name\": \"\", \"type\": \"loan\", \"freq\": 12, \"tenor\": 60, \"mode\": \"emi\", \"release\": \"interest\", \"dep_method\": \"slm\", \"present\": \"deferred\"}], \"events\": []}','manual',NULL,'dev-dwihnfdq','2026-08-28 16:32:35',240),(29,28,'{\"entity\": {\"name\": \"\", \"pan\": \"\", \"period_label\": \"\"}, \"sales\": [], \"purchases\": [], \"credit_notes_issued\": 0, \"debit_notes_issued\": 0, \"credit_notes_received\": 0, \"debit_notes_received\": 0, \"opening_credit\": 0, \"mixed_supply\": false, \"signatory\": {\"name\": \"\", \"designation\": \"ca\", \"membership_no\": \"\", \"firm_name\": \"\", \"place\": \"\", \"date\": \"\", \"udin\": \"\"}}','manual',NULL,'dev-dwihnfdq','2026-08-29 05:15:04',358),(30,29,'{\"principal\": 1000000, \"annual_rate\": 8, \"tenure_periods\": 12, \"frequency\": \"quarterly\", \"repayment\": \"emi\", \"modifications\": [], \"start_date_ad\": \"2026-08-29\"}','manual',NULL,'dev-dwihnfdq','2026-08-29 10:21:22',160),(31,30,'{\"entity\": {\"name\": \"Kreesa Sales Private Limited\"}, \"opinion_type\": \"unqualified\", \"opinion_paragraph\": \"In our opinion, the accompanying financial statements present fairly, in all material respects, the financial position of [Entity] as at [date], and its financial performance and cash flows for the year then ended in accordance with Nepal Financial Reporting Standards (NFRS).\", \"basis_paragraph\": \"We conducted our audit in accordance with Nepal Standards on Auditing (NSA). Our responsibilities under those standards are further described in the Auditor\'s Responsibilities section below. We are independent of the entity in accordance with the ICAN Handbook of Code of Ethics, and we have fulfilled our other ethical responsibilities in accordance with these requirements. We believe that the audit evidence we have obtained is sufficient and appropriate to provide a basis for our opinion.\", \"eom_paragraph\": \"We draw attention to Note 14 of the financial statements, which describes the uncertainty related to the outcome of the pending lawsuit filed against the Company by XYZ Corp. Our opinion is not modified with respect to this matter\", \"other_matter_paragraph\": \"The financial statements of ABC Company for the year ended December 31, 2024, were audited by another auditor who expressed an unmodified opinion on those statements on March 15, 2025.\", \"kam_paragraphs\": [{\"heading\": \"Key Audit Matter Paragraph\", \"text\": \"As disclosed in Note 4 to the financial statements, the company holds finished goods and raw materials totaling $14.5 million, representing 35% of total current assets.Management values inventory at the lower of cost and net realizable value (NRV). Determining NRV requires significant management judgment regarding future selling prices, expected product obsolescence, and slow-moving inventory items. Because of the high level of estimation uncertainty and the material balance involved, we identified inventory valuation as a significant risk area requiring our focused audit attention.\"}], \"responsibilities_management\": \"Management is responsible for the preparation and fair presentation of these financial statements in accordance with Nepal Financial Reporting Standards (NFRS), and for such internal control as management determines is necessary to enable the preparation of financial statements that are free from material misstatement, whether due to fraud or error. In preparing the financial statements, management is responsible for assessing the Company’s ability to continue as a going concern, disclosing, as applicable, matters related to going concern and using the going concern basis of accounting unless management either intends to liquidate the Company or to cease operations, or has no realistic alternative but to do so. Those charged with governance are responsible for overseeing the Company’s financial reporting process.\", \"responsibilities_auditor\": \"Our objectives are to obtain reasonable assurance about whether the financial statements as a whole are free from material misstatement, whether due to fraud or error, and to issue an auditor’s report that includes our opinion. Reasonable assurance is a high level of assurance, but is not a guarantee that an audit conducted in accordance with Nepal Standards on Auditing (NSAs) will always detect a material misstatement when it exists. Misstatements can arise from fraud or error and are considered material if, individually or in the aggregate, they could reasonably be expected to influence the economic decisions of users taken on the basis of these financial statements.As part of an audit in accordance with NSAs, we exercise professional judgment and maintain professional skepticism throughout the audit. We also identify and assess the risks of material misstatement of the financial statements, whether due to fraud or error, design and perform audit procedures responsive to those risks, and obtain audit evidence that is sufficient and appropriate to provide a basis for our opinion. The risk of not detecting a material misstatement resulting from fraud is higher than for one resulting from error, as fraud may involve collusion, forgery, intentional omissions, misrepresentations, or the override of internal control. We obtain an understanding of internal control relevant to the audit in order to design audit procedures that are appropriate in the circumstances, but not for the purpose of expressing an opinion on the effectiveness of the Company’s internal control. We evaluate the appropriateness of accounting policies used and the reasonableness of accounting estimates and related disclosures made by management. We conclude on the appropriateness of management’s use of the going concern basis of accounting and, based on the audit evidence obtained, whether a material uncertainty exists related to events or conditions that may cast significant doubt on the Company’s ability to continue as a going concern. If we conclude that a material uncertainty exists, we are required to draw attention in our auditor’s report to the related disclosures in the financial statements or, if such disclosures are inadequate, to modify our opinion. Our conclusions are based on the audit evidence obtained up to the date of our auditor’s report. However, future events or conditions may cause the Company to cease to continue as a going concern. We evaluate the overall presentation, structure and content of the financial statements, including the disclosures, and whether the financial statements represent the underlying transactions and events in a manner that achieves fair presentation.We communicate with those charged with governance regarding, among other matters, the planned scope and timing of the audit and significant audit findings, including any significant deficiencies in internal control that we identify during our audit.\", \"signatory\": {\"name\": \"Kumar Prasad Nepal\", \"designation\": \"ra\", \"membership_no\": \"112346\", \"firm_name\": \"K Nepal and Associates\", \"place\": \"Kathmandu\", \"date\": \"2026-08-22\", \"udin\": \"hfjsdguH4566TYUU\"}}','manual',NULL,'dev-dwihnfdq','2026-08-29 14:28:02',6080),(32,31,'{\"entity\": {\"name\": \"\", \"address\": \"\", \"pan\": \"\", \"fy_label\": \"\", \"prev_label\": \"\"}, \"rows\": [], \"closing_stock\": {\"current\": 0, \"previous\": 0}, \"accounting_policy\": \"These financial statements have been prepared in accordance with Nepal Financial Reporting Standards (NFRS) for Small and Medium-sized Entities, on the historical cost basis, and are presented in Nepalese Rupees.\\n\\nBasis of accounting: the accrual basis is used throughout.\\n\\nProperty, plant and equipment: stated at cost less accumulated depreciation. Depreciation is charged on a [straight-line / reducing-balance] basis over each asset’s estimated useful life.\\n\\nInventories: valued at the lower of cost and net realisable value.\\n\\nRevenue recognition: revenue is recognised when the significant risks and rewards of ownership have transferred to the customer.\\n\\nTaxation: current tax is provided at the rates and on the basis enacted at the reporting date.\\n\\n[This is a starting draft — edit every bracketed choice and anything else that doesn’t match this entity before it is relied on.]\", \"disclosures\": {\"related_party\": \"\", \"contingent_liabilities\": \"\", \"capital_commitments\": \"\", \"subsequent_events\": \"\"}}','manual',NULL,'dev-dwihnfdq','2026-08-29 14:28:02',1187),(33,32,'{\"entity\": {\"name\": \"\", \"entity_type\": \"\", \"other_entity_type_label\": \"\", \"period_label\": \"\", \"scope\": \"\", \"objectives\": \"\"}, \"planning\": {\"previous_findings_status\": \"\", \"key_risks_noted\": \"\", \"materiality\": \"\", \"team\": \"\", \"start_date\": \"\", \"end_date\": \"\"}, \"criteria_responses\": {}, \"risk_universe\": [], \"racm\": [], \"fraud_risk\": {\"incentives_pressures\": \"\", \"opportunities\": \"\", \"attitudes_rationalization\": \"\", \"override_notes\": \"\", \"conclusion\": \"\"}, \"walkthroughs\": [], \"follow_ups\": [], \"findings\": [], \"conclusion\": {\"overall_rating\": \"\", \"summary\": \"\"}, \"signatory\": {\"name\": \"\", \"designation\": \"ca\", \"membership_no\": \"\", \"firm_name\": \"\", \"place\": \"\", \"date\": \"\", \"udin\": \"\"}}','manual',NULL,'dev-dwihnfdq','2026-08-29 14:28:02',686),(34,33,'{\"person\": {\"status\": \"individual\", \"is_resident_woman\": false, \"ssf_contributor\": true, \"is_senior_citizen\": false}, \"incomes\": {\"employment_assessable\": 0, \"business_net_profit\": 0, \"rental_gross\": 0, \"rental_expenses\": 0, \"other_income\": 0}, \"deductions\": {\"retirement_contribution\": 0, \"life_insurance_premium\": 0, \"health_insurance_premium\": 0, \"donations\": 0}, \"ssf_contributor\": true, \"is_resident_woman\": false, \"is_senior_citizen\": false}','manual',NULL,'dev-1mmqcnrv','2026-08-29 15:30:52',447),(35,34,'{\"entries\": [], \"signatory\": {\"name\": \"\", \"designation\": \"ca\", \"membership_no\": \"\", \"firm_name\": \"\", \"place\": \"\", \"date\": \"\", \"udin\": \"\"}}','manual',NULL,'dev-1mmqcnrv','2026-08-29 15:40:52',138),(36,35,'{\"entity\": {\"name\": \"Agro Unicorn\", \"pan\": \"\", \"period_label\": \"\"}, \"sales\": [], \"purchases\": [], \"credit_notes_issued\": 0, \"debit_notes_issued\": 0, \"credit_notes_received\": 0, \"debit_notes_received\": 0, \"opening_credit\": 0, \"mixed_supply\": false, \"signatory\": {\"name\": \"\", \"designation\": \"ca\", \"membership_no\": \"\", \"firm_name\": \"\", \"place\": \"\", \"date\": \"\", \"udin\": \"\"}}','manual',NULL,'dev-1mmqcnrv','2026-08-29 15:40:52',370),(37,36,'{\"entity\": {\"name\": \"Agro Unicorn\", \"entity_type\": \"Manufacturing\", \"other_entity_type_label\": \"\", \"period_label\": \"\", \"scope\": \"\", \"objectives\": \"\"}, \"planning\": {\"previous_findings_status\": \"\", \"key_risks_noted\": \"\", \"materiality\": \"\", \"team\": \"\", \"start_date\": \"\", \"end_date\": \"\"}, \"criteria_responses\": {}, \"risk_universe\": [], \"racm\": [], \"fraud_risk\": {\"incentives_pressures\": \"\", \"opportunities\": \"\", \"attitudes_rationalization\": \"\", \"override_notes\": \"\", \"conclusion\": \"\"}, \"walkthroughs\": [], \"follow_ups\": [], \"findings\": [], \"conclusion\": {\"overall_rating\": \"\", \"summary\": \"\"}, \"signatory\": {\"name\": \"\", \"designation\": \"ca\", \"membership_no\": \"\", \"firm_name\": \"\", \"place\": \"\", \"date\": \"\", \"udin\": \"\"}}','manual',NULL,'dev-1mmqcnrv','2026-08-29 15:50:52',711),(38,37,'{\"entity\": {\"name\": \"Agro Unicorn\"}, \"opinion_type\": \"unqualified\", \"opinion_paragraph\": \"In our opinion, the accompanying financial statements present fairly, in all material respects, the financial position of [Entity] as at [date], and its financial performance and cash flows for the year then ended in accordance with Nepal Financial Reporting Standards (NFRS).\", \"basis_paragraph\": \"We conducted our audit in accordance with Nepal Standards on Auditing (NSA). Our responsibilities under those standards are further described in the Auditor\'s Responsibilities section below. We are independent of the entity in accordance with the ICAN Handbook of Code of Ethics, and we have fulfilled our other ethical responsibilities in accordance with these requirements. We believe that the audit evidence we have obtained is sufficient and appropriate to provide a basis for our opinion.\", \"eom_paragraph\": \"\", \"other_matter_paragraph\": \"\", \"kam_paragraphs\": [], \"responsibilities_management\": \"\", \"responsibilities_auditor\": \"\", \"signatory\": {\"name\": \"\", \"designation\": \"ca\", \"membership_no\": \"\", \"firm_name\": \"\", \"place\": \"\", \"date\": \"\", \"udin\": \"\"}}','manual',NULL,'dev-1mmqcnrv','2026-08-29 15:50:52',1147),(39,38,'{\"entity\": {\"name\": \"Agro Unicorn\", \"entity_type\": \"Other\", \"other_entity_type_label\": \"agri\", \"period_label\": \"FY 2083-84\"}, \"materiality\": {\"benchmark\": \"\", \"benchmark_value\": 0, \"materiality_pct\": 1, \"pm_pct\": 75, \"ct_pct\": 5}, \"sample_size\": {\"population_value\": 0, \"population_count\": 0, \"tolerable_misstatement\": \"\", \"expected_misstatement\": 0, \"risk_level\": \"medium\"}, \"risk_assessment\": {}, \"criteria_responses\": {}, \"findings\": [], \"conclusion\": {\"overall_rating\": \"\", \"summary\": \"\"}, \"signatory\": {\"name\": \"\", \"designation\": \"ca\", \"membership_no\": \"\", \"firm_name\": \"\", \"place\": \"\", \"date\": \"\", \"udin\": \"\"}}','manual',NULL,'dev-1mmqcnrv','2026-08-29 15:50:52',616);
/*!40000 ALTER TABLE `autosave_snapshot` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ba_budget_line`
--

DROP TABLE IF EXISTS `ba_budget_line`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ba_budget_line` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `fiscal_year_label` varchar(100) NOT NULL,
  `period_label` text,
  `line_type` varchar(100) NOT NULL DEFAULT 'expense',
  `category` text NOT NULL,
  `budgeted_amount` double NOT NULL DEFAULT '0',
  `actual_amount` double DEFAULT NULL,
  `notes` text,
  `created_by` int DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `created_by` (`created_by`),
  KEY `ix_ba_budget_client` (`client_id`,`fiscal_year_label`),
  CONSTRAINT `ba_budget_line_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `ba_budget_line_ibfk_2` FOREIGN KEY (`created_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ba_budget_line`
--

LOCK TABLES `ba_budget_line` WRITE;
/*!40000 ALTER TABLE `ba_budget_line` DISABLE KEYS */;
/*!40000 ALTER TABLE `ba_budget_line` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ba_business_model`
--

DROP TABLE IF EXISTS `ba_business_model`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ba_business_model` (
  `client_id` int NOT NULL,
  `value_proposition` text,
  `customer_segments` text,
  `channels` text,
  `customer_relationships` text,
  `revenue_streams` text,
  `key_resources` text,
  `key_activities` text,
  `key_partners` text,
  `cost_structure_notes` text,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`client_id`),
  CONSTRAINT `ba_business_model_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ba_business_model`
--

LOCK TABLES `ba_business_model` WRITE;
/*!40000 ALTER TABLE `ba_business_model` DISABLE KEYS */;
/*!40000 ALTER TABLE `ba_business_model` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ba_business_plan_section`
--

DROP TABLE IF EXISTS `ba_business_plan_section`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ba_business_plan_section` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `section_key` varchar(100) NOT NULL,
  `content` text,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `client_id` (`client_id`,`section_key`),
  CONSTRAINT `ba_business_plan_section_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ba_business_plan_section`
--

LOCK TABLES `ba_business_plan_section` WRITE;
/*!40000 ALTER TABLE `ba_business_plan_section` DISABLE KEYS */;
/*!40000 ALTER TABLE `ba_business_plan_section` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ba_kpi`
--

DROP TABLE IF EXISTS `ba_kpi`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ba_kpi` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `name` text NOT NULL,
  `category` text,
  `unit` text,
  `target_value` double DEFAULT NULL,
  `higher_is_better` int NOT NULL DEFAULT '1',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_ba_kpi_client` (`client_id`),
  CONSTRAINT `ba_kpi_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ba_kpi`
--

LOCK TABLES `ba_kpi` WRITE;
/*!40000 ALTER TABLE `ba_kpi` DISABLE KEYS */;
/*!40000 ALTER TABLE `ba_kpi` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ba_kpi_value`
--

DROP TABLE IF EXISTS `ba_kpi_value`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ba_kpi_value` (
  `id` int NOT NULL AUTO_INCREMENT,
  `kpi_id` int NOT NULL,
  `period_label` varchar(100) NOT NULL,
  `actual_value` double NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `kpi_id` (`kpi_id`,`period_label`),
  KEY `ix_ba_kpiv_kpi` (`kpi_id`,`period_label`),
  CONSTRAINT `ba_kpi_value_ibfk_1` FOREIGN KEY (`kpi_id`) REFERENCES `ba_kpi` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ba_kpi_value`
--

LOCK TABLES `ba_kpi_value` WRITE;
/*!40000 ALTER TABLE `ba_kpi_value` DISABLE KEYS */;
/*!40000 ALTER TABLE `ba_kpi_value` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ba_pricing_scenario`
--

DROP TABLE IF EXISTS `ba_pricing_scenario`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ba_pricing_scenario` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `product_name` text NOT NULL,
  `unit_cost` double NOT NULL DEFAULT '0',
  `target_margin_pct` double NOT NULL DEFAULT '0',
  `competitor_price` double DEFAULT NULL,
  `current_price` double DEFAULT NULL,
  `notes` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_ba_pricing_client` (`client_id`),
  CONSTRAINT `ba_pricing_scenario_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ba_pricing_scenario`
--

LOCK TABLES `ba_pricing_scenario` WRITE;
/*!40000 ALTER TABLE `ba_pricing_scenario` DISABLE KEYS */;
/*!40000 ALTER TABLE `ba_pricing_scenario` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ba_profitability_line`
--

DROP TABLE IF EXISTS `ba_profitability_line`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ba_profitability_line` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `period_label` varchar(100) NOT NULL,
  `dimension_type` varchar(100) NOT NULL,
  `dimension_name` text NOT NULL,
  `revenue` double NOT NULL DEFAULT '0',
  `direct_cost` double NOT NULL DEFAULT '0',
  `allocated_overhead` double NOT NULL DEFAULT '0',
  `notes` text,
  `created_by` int DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `created_by` (`created_by`),
  KEY `ix_ba_profit_client` (`client_id`,`dimension_type`,`period_label`),
  CONSTRAINT `ba_profitability_line_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `ba_profitability_line_ibfk_2` FOREIGN KEY (`created_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ba_profitability_line`
--

LOCK TABLES `ba_profitability_line` WRITE;
/*!40000 ALTER TABLE `ba_profitability_line` DISABLE KEYS */;
/*!40000 ALTER TABLE `ba_profitability_line` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ba_working_paper`
--

DROP TABLE IF EXISTS `ba_working_paper`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ba_working_paper` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `ref` text NOT NULL,
  `title` text,
  `content` text,
  `prepared_by` int DEFAULT NULL,
  `prepared_at` text,
  `reviewed_by` int DEFAULT NULL,
  `reviewed_at` text,
  `review_status` varchar(100) NOT NULL DEFAULT 'open',
  `review_comment` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `prepared_by` (`prepared_by`),
  KEY `reviewed_by` (`reviewed_by`),
  KEY `ix_ba_wp_client` (`client_id`),
  CONSTRAINT `ba_working_paper_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `ba_working_paper_ibfk_2` FOREIGN KEY (`prepared_by`) REFERENCES `app_user` (`id`),
  CONSTRAINT `ba_working_paper_ibfk_3` FOREIGN KEY (`reviewed_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ba_working_paper`
--

LOCK TABLES `ba_working_paper` WRITE;
/*!40000 ALTER TABLE `ba_working_paper` DISABLE KEYS */;
/*!40000 ALTER TABLE `ba_working_paper` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `blog_category`
--

DROP TABLE IF EXISTS `blog_category`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `blog_category` (
  `id` int NOT NULL AUTO_INCREMENT,
  `slug` varchar(100) NOT NULL,
  `name` text NOT NULL,
  `intro` text,
  PRIMARY KEY (`id`),
  UNIQUE KEY `slug` (`slug`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `blog_category`
--

LOCK TABLES `blog_category` WRITE;
/*!40000 ALTER TABLE `blog_category` DISABLE KEYS */;
INSERT INTO `blog_category` VALUES (1,'income-tax','Income tax','Filing, computation, assessments and the questions that come up every year.'),(2,'vat','VAT','Registration, returns, credits and the reconciliation problems behind them.'),(3,'tds','TDS','Deduction rates, deposit timing, e-TDS and the mismatches clients discover late.'),(4,'company-law','Company law & OCR','Incorporation, AGMs, returns, share structure and secretarial compliance.'),(5,'audit','Audit & assurance','What an audit does, what it does not, and how to be ready for one.'),(6,'accounting','Accounting & NFRS','Standards, treatments and the entries people argue about.'),(7,'starting-up','Starting a business','Registration, structure choice and the first year of compliance.'),(8,'payroll','Payroll & SSF','Salary structuring, contributions, gratuity and year-end reconciliation.'),(9,'fdi','FDI',NULL);
/*!40000 ALTER TABLE `blog_category` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `blog_faq`
--

DROP TABLE IF EXISTS `blog_faq`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `blog_faq` (
  `id` int NOT NULL AUTO_INCREMENT,
  `post_id` int NOT NULL,
  `question` text NOT NULL,
  `answer` text NOT NULL,
  `sort_order` int NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `post_id` (`post_id`),
  CONSTRAINT `blog_faq_ibfk_1` FOREIGN KEY (`post_id`) REFERENCES `blog_post` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `blog_faq`
--

LOCK TABLES `blog_faq` WRITE;
/*!40000 ALTER TABLE `blog_faq` DISABLE KEYS */;
INSERT INTO `blog_faq` VALUES (1,1,'1. What is the minimum foreign investment required in Nepal?','The general minimum foreign investment is NPR 20 million (two crore) per foreign investor subscribing to shares in a Nepali company. It is a per-investor threshold, not a per-company threshold.',0),(2,1,'2. Does the NPR 20 million threshold apply to each foreign shareholder?','Yes. If four foreign investors are separately subscribing to shares, the general threshold would ordinarily need to be considered for each investor, rather than simply applying NPR 20 million to the company as a whole.',1),(3,1,'3. Is there any exception to the NPR 20 million minimum?','Yes. A defined list of technology-based industries has no minimum threshold. The list includes software development, data processing, digital mapping, BPO, KPO, data centres, cloud computing, web portals, web designing and other specified technology activities. Web hosting was added in February 2026.',2),(4,1,'4. Does simply calling a business a “technology company” qualify for the IT exemption?','No. The exemption is based on the actual classified activity, not merely the company\'s description or marketing language. The relevant activity must fall within the specified list.',3);
/*!40000 ALTER TABLE `blog_faq` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `blog_internal_link`
--

DROP TABLE IF EXISTS `blog_internal_link`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `blog_internal_link` (
  `from_post_id` int NOT NULL,
  `to_post_id` int NOT NULL,
  `anchor_text` text,
  PRIMARY KEY (`from_post_id`,`to_post_id`),
  KEY `to_post_id` (`to_post_id`),
  CONSTRAINT `blog_internal_link_ibfk_1` FOREIGN KEY (`from_post_id`) REFERENCES `blog_post` (`id`) ON DELETE CASCADE,
  CONSTRAINT `blog_internal_link_ibfk_2` FOREIGN KEY (`to_post_id`) REFERENCES `blog_post` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `blog_internal_link`
--

LOCK TABLES `blog_internal_link` WRITE;
/*!40000 ALTER TABLE `blog_internal_link` DISABLE KEYS */;
/*!40000 ALTER TABLE `blog_internal_link` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `blog_post`
--

DROP TABLE IF EXISTS `blog_post`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `blog_post` (
  `id` int NOT NULL AUTO_INCREMENT,
  `slug` varchar(100) NOT NULL,
  `title` text NOT NULL,
  `h1` text,
  `meta_description` text,
  `focus_keyword` text,
  `secondary_keywords` text,
  `category_id` int DEFAULT NULL,
  `body_md` text NOT NULL,
  `reading_minutes` int DEFAULT NULL,
  `author_id` int DEFAULT NULL,
  `status` varchar(100) NOT NULL DEFAULT 'draft',
  `published_at` varchar(100) DEFAULT NULL,
  `updated_at` text,
  `canonical_url` text,
  `og_image_path` text,
  `schema_type` varchar(100) DEFAULT 'Article',
  `review_due_on` text,
  `views` int NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `slug` (`slug`),
  KEY `category_id` (`category_id`),
  KEY `author_id` (`author_id`),
  KEY `ix_post_status` (`status`,`published_at` DESC),
  CONSTRAINT `blog_post_ibfk_1` FOREIGN KEY (`category_id`) REFERENCES `blog_category` (`id`),
  CONSTRAINT `blog_post_ibfk_2` FOREIGN KEY (`author_id`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `blog_post`
--

LOCK TABLES `blog_post` WRITE;
/*!40000 ALTER TABLE `blog_post` DISABLE KEYS */;
INSERT INTO `blog_post` VALUES (1,'fdi-negativelist','Nepal FDI in 2026: the entry threshold and the negative list',NULL,'Explore Nepal’s 2026 FDI rules, including the NPR 20 million entry threshold, IT-sector exemptions, negative list, ownership limits, automatic approval, repatriation, and key compliance requirements for foreign investors.','Nepal FDI in 2026: the entry threshold and the negative list',NULL,9,'Two rules decide whether a foreign investment into Nepal is possible at all — how much each investor must bring, and what the company is allowed to do. Both moved in the last eighteen months.\n\nPrepared by Nishant Marasini and team · Position stated as at 17 August 2026\n\nMost Nepal deals that collapse do not collapse at the Department of Industry. They collapse on a spreadsheet three weeks earlier, when someone divides the agreed equity cheque across four investors and quietly puts two of them below the statutory floor — or when a business plan that reads beautifully in English turns out to describe an activity foreign capital is not allowed to carry on at all.\n\nNepal has spent several years courting foreign capital: three investment summits, an online approval window, and a steady run of gazette notices loosening entry conditions. Open for business, though, is not open everywhere. The Foreign Investment and Technology Transfer Act, 2075 (2019) — FITTA — draws two lines that every prospective investor has to clear before anything else is worth discussing. This briefing sets out where both lines sit today, and where they tend to cut.\n\n1. The floor is per investor, not per company\nThe minimum is NPR 20,000,000 — two crore — for each foreign investor subscribing to shares in a Nepali company. It is not a per-company figure, and this is the single most expensive misreading we see. A consortium of four foreign shareholders is looking at eight crore of committed foreign equity as an entry condition, not two. A strategic partner who wants a token five percent alongside a lead investor cannot come in for a nominal amount at incorporation; either the cheque grows, or that shareholder stays outside the cap table until a later, structured entry.\n\nWorth knowing where the number lives: the threshold is fixed by notice in the Nepal Gazette under FITTA rather than written into the Act itself. That is why it has moved twice in recent memory — from NPR 50 million down to the present NPR 20 million — and why it can move again without any amendment to the statute. A number that changes by notice is a number you verify on the day you structure, not the day you quote.\n\nA separate bracket may apply to Non-Resident Nepalis and certain other categories of investor, and NRN investment can also travel under its own legislation rather than under FITTA. If your client holds an NRN card, confirm the applicable route and the applicable minimum before the funding schedule is agreed — the answer changes the whole capital plan.\n\nApproval is not injection\nClearing the threshold on paper is only half of it. Capital has to be brought in within the timeline set under the Foreign Investment and Technology Transfer Regulations, through the banking channel, and recorded with Nepal Rastra Bank. Inflow that was never properly recorded is the most common reason a profitable company finds, years later, that it cannot repatriate. The compliance you skip at entry is the compliance you pay for at exit.\n\n2. The IT carve-out — Nepal\'s clearest policy signal\nIf you want to know where the government wants growth to come from, read this exemption. A Ministry of Industry, Commerce and Supplies notice dated 2080/06/15 (2 October 2023) removed the minimum threshold altogether for a defined list of technology-based industries. For a genuinely early-stage venture, that is the difference between a two-crore entry ticket and none.\n\nIndustries where no minimum threshold applies\n#	Industry\na	Technology park\nb	IT park\nc	Biotech park\nd	Software development\ne	Data processing\nf	Digital mapping\ng	Business process outsourcing (BPO)\nh	Knowledge process outsourcing (KPO)\ni	Data centre\nj	Data mining\nk	Cloud computing\nl	Web portal\nm	Web designing service\nn	Web hosting — added by Gazette notice dated 2082/11/04 (16 February 2026)\nThe list is maintained, not frozen. Web hosting joined it only in February 2026, which tells you two things: the ministry is willing to extend the carve-out as the sector matures, and an activity that is outside the list this quarter may be inside it next. It also means the exemption is read against the listed activity, not against a self-description. \"We are a technology company\" is a pitch; \"software development\" is a classification, and the classification is what the Department of Industry registers.\n\n3. What changed in the last eighteen months\nThree developments matter more than anything else on this page, because they postdate most of the guidance still circulating online.\n\nThe automatic route lost its ceiling (February 2026). The online window opened in October 2023 with an upper limit of NPR 500 million per approval. The gazette notice of 16 February 2026 — the same notice that added web hosting — repealed the earlier notification and removed that ceiling, extending automatic approval to a schedule of around 102 activities across energy, agriculture and forest products, manufacturing, services, infrastructure, IT and tourism. Applications made through the Department\'s online system are cleared by email immediately or within a matter of working days. The general minimum of two crore is unchanged; the IT exemption continues to sit alongside it.\n\nShare transfers now need approval before, not after (March 2025). The Act amending several investment-related statutes, authenticated on 31 March 2025, requires a foreign investor to obtain prior approval from the Department of Industry before selling or transferring shares to a domestic party. The old position — complete the transaction, then register the change within thirty days — is gone. If you are drafting an exit, that regulatory consent is now a condition precedent with a real timeline attached, and it belongs in the SPA and the escrow mechanics rather than in a closing checklist.\n\nTechnology transfer was widened. The same amendment expanded what may be structured as technology transfer — management and technical services, IT, marketing, finance, engineering, outsourcing and digital data processing among them — and opened project lending from foreign financial institutions more broadly. For groups that cannot or will not put the whole commitment into equity, this reopens a funding mix conversation that was previously quite narrow.\n\n4. The negative list\nEvery investment regime reserves something. Nepal\'s reservations follow a recognisable logic — protect livelihoods at the base of the economy, keep security-sensitive manufacture in domestic hands, and hold consumer-facing intermediation local. Grouped by that logic, the restricted sectors are:\n\nSectors closed to foreign investment under FITTA\nCategory	What is restricted\nPrimary agriculture	Animal husbandry, fish farming, beekeeping, fruit, vegetables, oilseeds, pulses, dairy and primary agricultural production — except large-scale industry (fixed capital above NPR 500 million) and agricultural technology and mechanisation exporting at least 75% of output\nSmall enterprise	Cottage and small industries\nPersonal services	Hairdressing, tailoring, driving and similar personal service businesses\nSecurity-sensitive	Arms, ammunition, bullets, shells, gunpowder and explosives; nuclear, biological and chemical weapons; atomic energy and radioactive materials\nLocal trade and intermediation	Real estate (excluding the construction industry), retail business, internal courier service, local catering service, money changing, remittance service\nGround-level tourism	Travel agencies, guides, trekking and mountaineering guides, rural tourism including homestay\nMedia	Mass communication media — newspaper, radio, television and online news — and motion pictures in the national language\nProfessional services and training	Management, accounting, engineering and legal consultancy; language, music and computer training\nThree distinctions that decide files\n\"Internal\" courier, not all courier. The restriction is on domestic courier service. International courier, freight forwarding and logistics are a different conversation.\nRetail, and the international chain. Retail is on the list, but retail conducted as an international chain present in more than two countries has been treated as permissible in practice. Confirm the current position with the Department before it becomes a term sheet assumption.\nReal estate excludes construction. Trading in land and buildings is closed; the construction industry itself is not.\n5. Capped, not closed\nA second group of sectors admits foreign capital up to a ceiling. Structuring here is not about eligibility but about control, and the two are easily confused.\n\nMaximum permitted foreign shareholding\nSector	Ceiling\nConsultancy services	51%\nRide-sharing businesses	70%\nInternational airline service	80%\nDomestic airline service	49%\nAviation training institutions	95%\nAircraft repair and maintenance	95%\nNote how the consultancy entries interact. Management, accounting, engineering and legal consultancy — and language, music and computer training — sit on the closed list outright. Other consultancy services are open, but only up to 51% foreign holding. Read together, the message is that Nepal will take foreign capital into advisory businesses, but not foreign control of the regulated professions.\n\n6. Where these rules actually break deals\nThe arithmetic nobody checks twice\nThreshold × number of foreign shareholders, before anything else. Then test it against the shareholding percentages the parties have already agreed: a shareholder who must bring two crore but was promised four percent of the company has, by implication, fixed the company\'s valuation at fifty crore. That is a real constraint on the cap table, and it is better discovered now than in the second round.\n\nBeing too small to qualify\nBecause cottage and small industries are closed, the scale classification under the Industrial Enterprises Act is doing quiet work in the background. A modest manufacturing proposal can be refused not because the sector is restricted but because the fixed capital puts it in a class reserved for domestic investors. Classification should be settled before the project report is finalised, not adjusted afterwards to fit.\n\n51% is a governance problem, not a percentage\nAn investor capped at bare majority holds control on paper and very little of it in practice unless the constitutional documents say otherwise. Reserved matters, board composition, quorum, deadlock and the valuation mechanic on a put or call are where the economics of a capped sector are actually decided. Where the ceiling binds, the shareholders\' agreement carries the weight the shareholding cannot.\n\nExit is now sequenced differently\nWith prior Department approval required for a transfer to a domestic buyer, the exit timeline lengthens and the valuation has to survive a review by someone who is not a party to the deal. Share valuation on exit from an unlisted Nepali company deserves a defensible, documented basis — prepared with the transfer application in view, not reverse-engineered from a price the parties have already shaken hands on.\n\nRepatriation follows the paper trail\nDividends, interest, royalties and sale proceeds leave the country on the strength of recorded inflow, audited financial statements, tax clearance and the original approvals. Every one of those is created at entry. A clean file is not administrative tidiness; it is the mechanism by which the money gets out.\n\n7. Before the term sheet is signed\nClassify the activity against the negative list and the capped list — by registered activity, not by business description.\nMultiply the threshold by the number of foreign shareholders and reconcile it to the agreed shareholding percentages.\nCheck whether the activity sits on the IT exemption list or the automatic route schedule; both are updated by gazette notice.\nConfirm the applicable bracket for any NRN or specially categorised investor before the funding schedule is fixed.\nFix the funding mix — equity, shareholder loan, technology transfer — with repatriation and withholding tax modelled at the same time, not later.\nWrite the transfer-approval requirement into the exit clauses, with a realistic timeline and a valuation basis you would be content to defend.\nBoth of the questions this briefing answers are cheap to answer early and expensive to answer late. Restructuring an ownership model after term sheets are signed costs goodwill with the counterparty as well as fees. Confirm the threshold and the sector classification before the investment vehicle is chosen — never after.\n\nPlanning an investment into Nepal?\nWe advise foreign investors and Nepali promoters on FITTA eligibility, Department of Industry and Nepal Rastra Bank approvals, capital structuring, share valuation and repatriation planning — from first structuring memo through to exit.\n\nWhatsApp: +977 9813007298\n\nThis article is general information current as at 17 August 2026 and is not advice on any specific transaction. Thresholds, exemption lists and sectoral caps in Nepal are set and revised by notice in the Nepal Gazette and can change without amendment to the underlying Act; the position should be verified against the current notice before it is relied upon. No professional relationship is created by reading this material.\n\nGazette chronology\n2 Oct 2023 · 2080/06/15Automatic route opened, capped at NPR 500m. Minimum threshold removed for listed IT industries.\n\n28 Apr 2024Ordinance amendments to FITTA; ride-sharing brought in at a 70% ceiling.\n\n31 Mar 2025Amending Act: prior DoI approval required for share transfer to domestic parties; technology transfer scope widened.\n\n16 Feb 2026 · 2082/11/04Automatic route ceiling repealed, c.102 activities covered. Web hosting added to the threshold exemption list.',9,1,'published','2026-08-29 07:56:53','2026-08-29 07:56:53','https://nishantmarasini.com.np/post/26-nepal-fdi-in-2026-the-entry-threshold-and-the-negative-list','/media/e32b14e33b7dbb98ee620926bdadefe6.png','Article',NULL,3);
/*!40000 ALTER TABLE `blog_post` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ca_assistant_message`
--

DROP TABLE IF EXISTS `ca_assistant_message`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ca_assistant_message` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_id` int DEFAULT NULL,
  `client_id` int DEFAULT NULL,
  `engagement_id` int DEFAULT NULL,
  `user_message` text NOT NULL,
  `assistant_reply` text,
  `knowledge_context` text,
  `client_context` text,
  `model` text,
  `input_tokens` int DEFAULT NULL,
  `output_tokens` int DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `client_id` (`client_id`),
  KEY `engagement_id` (`engagement_id`),
  KEY `ix_ca_assistant_user` (`user_id`,`created_at` DESC),
  CONSTRAINT `ca_assistant_message_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `app_user` (`id`),
  CONSTRAINT `ca_assistant_message_ibfk_2` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`),
  CONSTRAINT `ca_assistant_message_ibfk_3` FOREIGN KEY (`engagement_id`) REFERENCES `engagement` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ca_assistant_message`
--

LOCK TABLES `ca_assistant_message` WRITE;
/*!40000 ALTER TABLE `ca_assistant_message` DISABLE KEYS */;
INSERT INTO `ca_assistant_message` VALUES (1,1,2,NULL,'What\'s the status of this client\'s file?','Kreesa Sales Private Limited (CL-0002) — stage: active.\nLooked after by: Nishant.\nNo engagements on file yet.',NULL,NULL,'local',NULL,NULL,'2026-08-21 02:56:52'),(2,1,2,NULL,'What\'s remaining / pending?','Outstanding for Kreesa Sales Private Limited:\nDocument follow-ups (1):\n  • Bank Statement — due 2026-08-31\nReminders (2):\n  • VAT filing — due 2026-08-24 (due in 3 days)\n  • Statutory audit — due 2026-09-30 (due in 40 days)',NULL,NULL,'local',NULL,NULL,'2026-08-21 02:56:58'),(3,1,2,NULL,'What deadlines are coming up?','Upcoming/overdue for Kreesa Sales Private Limited:\n  • VAT filing — 2026-08-24 (due in 3 days)\n  • Statutory audit — 2026-09-30 (due in 40 days)',NULL,NULL,'local',NULL,NULL,'2026-08-21 02:57:24'),(4,1,2,NULL,'What documents are outstanding?','0 document(s) on file for Kreesa Sales Private Limited.\nStill being chased (1):\n  • Bank Statement — due 2026-08-31',NULL,NULL,'local',NULL,NULL,'2026-08-21 02:57:30'),(5,1,2,NULL,'What\'s the billing status?','1 invoice(s) for Kreesa Sales Private Limited. Outstanding (sent, unpaid): NPR 0.00.\n  • INV-0001 — 2026-08-20 — paid — NPR 50,000.00',NULL,NULL,'local',NULL,NULL,'2026-08-21 02:57:36'),(6,1,2,NULL,'Any urgent items?','Kreesa Sales Private Limited is flagged URGENT in the Client Directory.',NULL,NULL,'local',NULL,NULL,'2026-08-21 02:57:42'),(7,1,5,NULL,'What\'s the status of this client\'s file?','CA Nishant Test Company (CL-0005) — stage: active.\nLooked after by: Nishant.\n1 engagement(s):\n  • tax — FY 2083-84 compliance — status: in_progress. Workfiles: depreciation (open), salary_tds (open), personal_tax (open), biz_tax (open), penalty (open), tds (open), vat (open), inventory (open), fixed_assets (open), emi (open), lease (open), fin_statements (open), grant (open), projection (open), valuation (open), internal_audit (open), stat_audit (open), audit_report (open), dd (open), fdi (open), stat_audit (open), fin_statements (open), fin_statements (open), tds (open).',NULL,NULL,'local',NULL,NULL,'2026-08-28 13:44:03');
/*!40000 ALTER TABLE `ca_assistant_message` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ca_board_meeting`
--

DROP TABLE IF EXISTS `ca_board_meeting`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ca_board_meeting` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `meeting_type` varchar(100) NOT NULL DEFAULT 'board',
  `meeting_date` varchar(100) NOT NULL,
  `notice_date` text,
  `quorum_present` int DEFAULT NULL,
  `agenda` text,
  `attendees` text,
  `minutes_recorded` int NOT NULL DEFAULT '0',
  `minutes_filed_date` text,
  `status` varchar(100) NOT NULL DEFAULT 'scheduled',
  `notes` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_ca_meeting_client` (`client_id`,`meeting_date`),
  CONSTRAINT `ca_board_meeting_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ca_board_meeting`
--

LOCK TABLES `ca_board_meeting` WRITE;
/*!40000 ALTER TABLE `ca_board_meeting` DISABLE KEYS */;
/*!40000 ALTER TABLE `ca_board_meeting` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ca_checklist_item`
--

DROP TABLE IF EXISTS `ca_checklist_item`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ca_checklist_item` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `area` varchar(100) NOT NULL,
  `criterion` text NOT NULL,
  `status` varchar(100) NOT NULL DEFAULT 'pending',
  `due_date` text,
  `evidence` text,
  `remark` text,
  `created_by` int DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` text,
  PRIMARY KEY (`id`),
  KEY `created_by` (`created_by`),
  KEY `ix_ca_checklist_client` (`client_id`,`area`),
  CONSTRAINT `ca_checklist_item_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `ca_checklist_item_ibfk_2` FOREIGN KEY (`created_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ca_checklist_item`
--

LOCK TABLES `ca_checklist_item` WRITE;
/*!40000 ALTER TABLE `ca_checklist_item` DISABLE KEYS */;
/*!40000 ALTER TABLE `ca_checklist_item` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ca_entity_profile`
--

DROP TABLE IF EXISTS `ca_entity_profile`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ca_entity_profile` (
  `client_id` int NOT NULL,
  `registration_no` text,
  `incorporation_date` text,
  `entity_class` text,
  `authorized_capital` double DEFAULT NULL,
  `issued_capital` double DEFAULT NULL,
  `paid_up_capital` double DEFAULT NULL,
  `share_face_value` double DEFAULT '100',
  `min_directors` int DEFAULT NULL,
  `max_directors` int DEFAULT NULL,
  `board_meeting_gap_days_max` int DEFAULT NULL,
  `auditor_name` text,
  `notes` text,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`client_id`),
  CONSTRAINT `ca_entity_profile_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ca_entity_profile`
--

LOCK TABLES `ca_entity_profile` WRITE;
/*!40000 ALTER TABLE `ca_entity_profile` DISABLE KEYS */;
/*!40000 ALTER TABLE `ca_entity_profile` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ca_resolution`
--

DROP TABLE IF EXISTS `ca_resolution`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ca_resolution` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `meeting_id` int DEFAULT NULL,
  `resolution_type` varchar(100) NOT NULL,
  `category` text,
  `title` text,
  `resolution_text` text,
  `resolution_date` text,
  `status` varchar(100) NOT NULL DEFAULT 'draft',
  `filed_with` text,
  `reference_no` text,
  `created_by` int DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `meeting_id` (`meeting_id`),
  KEY `created_by` (`created_by`),
  KEY `ix_ca_resolution_client` (`client_id`,`resolution_type`),
  CONSTRAINT `ca_resolution_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `ca_resolution_ibfk_2` FOREIGN KEY (`meeting_id`) REFERENCES `ca_board_meeting` (`id`) ON DELETE SET NULL,
  CONSTRAINT `ca_resolution_ibfk_3` FOREIGN KEY (`created_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ca_resolution`
--

LOCK TABLES `ca_resolution` WRITE;
/*!40000 ALTER TABLE `ca_resolution` DISABLE KEYS */;
/*!40000 ALTER TABLE `ca_resolution` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ca_share_transaction`
--

DROP TABLE IF EXISTS `ca_share_transaction`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ca_share_transaction` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `event_type` varchar(100) NOT NULL,
  `shareholder_id` int DEFAULT NULL,
  `from_shareholder_id` int DEFAULT NULL,
  `shares` double NOT NULL DEFAULT '0',
  `price_per_share` double DEFAULT NULL,
  `transaction_date` text,
  `board_approval_date` text,
  `agm_approval_date` text,
  `ocr_filed_date` text,
  `status` varchar(100) NOT NULL DEFAULT 'proposed',
  `detail_json` text,
  `notes` text,
  `created_by` int DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `shareholder_id` (`shareholder_id`),
  KEY `from_shareholder_id` (`from_shareholder_id`),
  KEY `created_by` (`created_by`),
  KEY `ix_ca_share_txn_client` (`client_id`,`event_type`),
  CONSTRAINT `ca_share_transaction_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `ca_share_transaction_ibfk_2` FOREIGN KEY (`shareholder_id`) REFERENCES `ca_shareholder` (`id`) ON DELETE SET NULL,
  CONSTRAINT `ca_share_transaction_ibfk_3` FOREIGN KEY (`from_shareholder_id`) REFERENCES `ca_shareholder` (`id`) ON DELETE SET NULL,
  CONSTRAINT `ca_share_transaction_ibfk_4` FOREIGN KEY (`created_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ca_share_transaction`
--

LOCK TABLES `ca_share_transaction` WRITE;
/*!40000 ALTER TABLE `ca_share_transaction` DISABLE KEYS */;
/*!40000 ALTER TABLE `ca_share_transaction` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ca_shareholder`
--

DROP TABLE IF EXISTS `ca_shareholder`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ca_shareholder` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `name` text NOT NULL,
  `pan` text,
  `address` text,
  `share_class` varchar(100) NOT NULL DEFAULT 'equity',
  `shares_held` double NOT NULL DEFAULT '0',
  `is_related_party` int NOT NULL DEFAULT '0',
  `is_director` int NOT NULL DEFAULT '0',
  `since_date` text,
  `notes` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_ca_shareholder_client` (`client_id`),
  CONSTRAINT `ca_shareholder_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ca_shareholder`
--

LOCK TABLES `ca_shareholder` WRITE;
/*!40000 ALTER TABLE `ca_shareholder` DISABLE KEYS */;
/*!40000 ALTER TABLE `ca_shareholder` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ca_working_paper`
--

DROP TABLE IF EXISTS `ca_working_paper`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ca_working_paper` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `ref` text NOT NULL,
  `title` text,
  `content` text,
  `prepared_by` int DEFAULT NULL,
  `prepared_at` text,
  `reviewed_by` int DEFAULT NULL,
  `reviewed_at` text,
  `review_status` varchar(100) NOT NULL DEFAULT 'open',
  `review_comment` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `prepared_by` (`prepared_by`),
  KEY `reviewed_by` (`reviewed_by`),
  KEY `ix_ca_wp_client` (`client_id`),
  CONSTRAINT `ca_working_paper_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `ca_working_paper_ibfk_2` FOREIGN KEY (`prepared_by`) REFERENCES `app_user` (`id`),
  CONSTRAINT `ca_working_paper_ibfk_3` FOREIGN KEY (`reviewed_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ca_working_paper`
--

LOCK TABLES `ca_working_paper` WRITE;
/*!40000 ALTER TABLE `ca_working_paper` DISABLE KEYS */;
/*!40000 ALTER TABLE `ca_working_paper` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `calendar_event`
--

DROP TABLE IF EXISTS `calendar_event`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `calendar_event` (
  `id` int NOT NULL AUTO_INCREMENT,
  `firm_id` int NOT NULL,
  `user_id` int DEFAULT NULL,
  `title` text NOT NULL,
  `description` text,
  `start_at` varchar(100) NOT NULL,
  `end_at` text,
  `related_entity_type` text,
  `related_entity_id` int DEFAULT NULL,
  `created_by` int DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `created_by` (`created_by`),
  KEY `ix_calendar_event_firm` (`firm_id`),
  KEY `ix_calendar_event_user` (`user_id`),
  KEY `ix_calendar_event_start` (`start_at`),
  CONSTRAINT `calendar_event_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE,
  CONSTRAINT `calendar_event_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `app_user` (`id`) ON DELETE CASCADE,
  CONSTRAINT `calendar_event_ibfk_3` FOREIGN KEY (`created_by`) REFERENCES `app_user` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `calendar_event`
--

LOCK TABLES `calendar_event` WRITE;
/*!40000 ALTER TABLE `calendar_event` DISABLE KEYS */;
/*!40000 ALTER TABLE `calendar_event` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `chatbot_conversation`
--

DROP TABLE IF EXISTS `chatbot_conversation`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `chatbot_conversation` (
  `id` int NOT NULL AUTO_INCREMENT,
  `firm_id` int NOT NULL,
  `session_token` varchar(100) NOT NULL,
  `source` varchar(100) NOT NULL DEFAULT 'landing_page',
  `topic` text,
  `name` text,
  `email` text,
  `phone` text,
  `company` text,
  `status` varchar(100) NOT NULL DEFAULT 'open',
  `follow_up_status` text,
  `assigned_to` int DEFAULT NULL,
  `converted_to` text,
  `converted_id` int DEFAULT NULL,
  `internal_note` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `assigned_to` (`assigned_to`),
  KEY `ix_chatbot_conv_firm` (`firm_id`,`status`),
  KEY `ix_chatbot_conv_session` (`session_token`),
  CONSTRAINT `chatbot_conversation_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE,
  CONSTRAINT `chatbot_conversation_ibfk_2` FOREIGN KEY (`assigned_to`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `chatbot_conversation`
--

LOCK TABLES `chatbot_conversation` WRITE;
/*!40000 ALTER TABLE `chatbot_conversation` DISABLE KEYS */;
INSERT INTO `chatbot_conversation` VALUES (1,1,'livetest1234567890abcdef1234567890','landing_page',NULL,NULL,NULL,NULL,NULL,'closed',NULL,NULL,NULL,NULL,'','2026-08-29 11:07:16','2026-08-29 12:25:34'),(2,1,'d3ec6a9f990a4569935660cfd9fc57b8','landing_page','services',NULL,NULL,NULL,NULL,'open',NULL,NULL,NULL,NULL,NULL,'2026-08-29 11:07:38','2026-08-29 17:15:09'),(3,1,'livetest2222222222abcdef2222222222','landing_page','Hi, what services does your firm offer?',NULL,NULL,NULL,NULL,'open',NULL,NULL,NULL,NULL,NULL,'2026-08-29 11:09:05','2026-08-29 11:09:13'),(4,1,'refactortest333333333333333333333','landing_page','What is CA-Automator?',NULL,NULL,NULL,NULL,'open',NULL,NULL,NULL,NULL,NULL,'2026-08-29 11:13:27','2026-08-29 11:13:28'),(5,1,'finalcheck444444444444444444444444','landing_page','How do I book a consultation?',NULL,NULL,NULL,NULL,'open',NULL,NULL,NULL,NULL,NULL,'2026-08-29 11:19:25','2026-08-29 11:19:26'),(6,1,'0f53692c579d4985ab602c998f148306','landing_page','fdi cost',NULL,NULL,NULL,NULL,'open',NULL,NULL,NULL,NULL,NULL,'2026-08-29 14:18:34','2026-08-29 14:18:45');
/*!40000 ALTER TABLE `chatbot_conversation` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `chatbot_message`
--

DROP TABLE IF EXISTS `chatbot_message`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `chatbot_message` (
  `id` int NOT NULL AUTO_INCREMENT,
  `conversation_id` int NOT NULL,
  `role` text NOT NULL,
  `content` text NOT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_chatbot_msg_conv` (`conversation_id`),
  CONSTRAINT `chatbot_message_ibfk_1` FOREIGN KEY (`conversation_id`) REFERENCES `chatbot_conversation` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=25 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `chatbot_message`
--

LOCK TABLES `chatbot_message` WRITE;
/*!40000 ALTER TABLE `chatbot_message` DISABLE KEYS */;
INSERT INTO `chatbot_message` VALUES (1,1,'user','Hi, what services does your firm offer?','2026-08-29 11:07:16'),(2,1,'assistant','[error — not shown to visitor as a normal reply] The chat assistant hit an error: error code: 1010\n','2026-08-29 11:07:16'),(3,2,'user','what are the benefit of Ca automator?','2026-08-29 11:07:38'),(4,2,'assistant','[error — not shown to visitor as a normal reply] The chat assistant hit an error: error code: 1010\n','2026-08-29 11:07:38'),(5,3,'user','Hi, what services does your firm offer?','2026-08-29 11:09:05'),(6,3,'assistant','We help businesses bring Foreign Direct Investment (FDI) into Nepal. Our **FDI Assessment** service reviews the feasibility, compliance requirements and tax implications, and guides you through the whole registration process. The standard fee is NPR 200,000.\n\nIf you’d like more details, see our Services page or book a consultation with our CA team. Let me know how you’d like to proceed!','2026-08-29 11:09:06'),(7,3,'user','My company had NPR 5,000,000 in sales last year and I paid no advance tax. What penalty will I face exactly and how much should I pay now?','2026-08-29 11:09:13'),(8,3,'assistant','I’m sorry, but I can’t give a precise penalty amount without reviewing your full situation. Advance‑tax rules and penalties can vary based on the type of taxpayer, filing history and other factors, so a proper consultation with our chartered‑accountant team is required.\n\nWould you like to schedule a consultation? If so, I can collect your name, email and phone number so the team can follow up with you directly.','2026-08-29 11:09:13'),(9,4,'user','What is CA-Automator?','2026-08-29 11:13:27'),(10,4,'assistant','CA‑Automator is the practice‑management platform we use to streamline accounting, tax and compliance work for our clients. It automates routine tasks, keeps documents organized, and lets you track the progress of your engagements online, so you get faster, more transparent service from our team.  \n\nIf you’d like to see how it works for a specific service—like our Foreign Direct Investment assessment—or schedule a quick demo, just let me know!','2026-08-29 11:13:28'),(11,5,'user','How do I book a consultation?','2026-08-29 11:19:25'),(12,5,'assistant','Sure! To schedule a consultation with our team you can:\n\n1. Let us know your name, email and phone number (so we can follow up with you directly).  \n2. Tell us briefly what you’d like to discuss (e.g., FDI assessment, tax, audit, etc.).\n\nOnce we have that, we’ll arrange a convenient time for you with one of our CAs. Would you like to share those details now?','2026-08-29 11:19:26'),(13,2,'user','services','2026-08-29 11:22:09'),(14,2,'assistant','We offer a focused FDI service:\n\n**Foreign Direct Investment Assessment** – Help you bring foreign direct investment into Nepal with a hassle‑free assessment and guidance. Price: NPR 200,000.\n\nLet me know if you’d like more details or want to book a consultation.','2026-08-29 11:22:10'),(15,2,'user','yes book a consultation tomorrow 12:01 pm','2026-08-29 11:22:40'),(16,2,'assistant','Great! To arrange a consultation for tomorrow at 12:01 pm, could you share your name, email address and phone number so our team can confirm the slot and send you the meeting details? (We need this info only to follow up with you directly.)','2026-08-29 11:22:41'),(17,6,'user','fdi cost','2026-08-29 14:18:35'),(18,6,'assistant','The Foreign Direct Investment Assessment service is priced at NPR 200,000. If you’d like to proceed or learn more, you can book a consultation through our website or let us know your contact details so the team can follow up with you directly.','2026-08-29 14:18:35'),(19,6,'user','yes','2026-08-29 14:18:44'),(20,6,'assistant','Great! To have our team follow up and schedule your FDI assessment, could you share:\n\n- Your name  \n- Email address  \n- Phone number  \n- Company name (optional)\n\nWe’ll use this information only to contact you about the consultation.','2026-08-29 14:18:45'),(21,2,'user','kreesa sales','2026-08-29 17:14:42'),(22,2,'assistant','Thanks, Kreesa. Could you also provide your email address and phone number so we can confirm the consultation and share the meeting details? (We only use this to follow up with you directly.)','2026-08-29 17:14:42'),(23,2,'user','kreesa@gmail,com, 9807893849','2026-08-29 17:15:08'),(24,2,'assistant','Thank you, Kreesa. I’ve noted your email (kreesa@gmail.com) and phone (980‑789‑3849). I’ll forward your request for a consultation tomorrow at 12:01 pm to our team. They’ll reach out shortly to confirm the appointment and share the meeting link. If you need anything else, just let me know!','2026-08-29 17:15:09');
/*!40000 ALTER TABLE `chatbot_message` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `client`
--

DROP TABLE IF EXISTS `client`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `client` (
  `id` int NOT NULL AUTO_INCREMENT,
  `firm_id` int NOT NULL,
  `code` varchar(100) NOT NULL,
  `name` varchar(100) NOT NULL,
  `entity_type` text,
  `pan` text,
  `vat_registered` int NOT NULL DEFAULT '0',
  `industry` text,
  `special_industry` int NOT NULL DEFAULT '0',
  `ird_office` text,
  `address` text,
  `contact_person` text,
  `contact_phone` text,
  `contact_email` text,
  `fy_end_bs` varchar(100) DEFAULT '03-31',
  `status` varchar(100) NOT NULL DEFAULT 'active',
  `notes` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `vat_filing_frequency` text,
  `stage` varchar(100) NOT NULL DEFAULT 'active',
  `urgent` int NOT NULL DEFAULT '0',
  `service_types` text,
  `assigned_to` int DEFAULT NULL,
  `country_code` text,
  `logo_path` text,
  PRIMARY KEY (`id`),
  UNIQUE KEY `firm_id` (`firm_id`,`code`),
  KEY `ix_client_firm` (`firm_id`),
  KEY `ix_client_name` (`name`),
  KEY `assigned_to` (`assigned_to`),
  CONSTRAINT `client_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE,
  CONSTRAINT `client_ibfk_2` FOREIGN KEY (`assigned_to`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `client`
--

LOCK TABLES `client` WRITE;
/*!40000 ALTER TABLE `client` DISABLE KEYS */;
INSERT INTO `client` VALUES (2,1,'CL-0002','Kreesa Sales Private Limited','pvt_ltd','610097768',1,'E-commerce',0,'KALANKI,KATHMANDU','Swoyambhu Kathmandu','NISH','9843244288','kreeshasales@gmail.com','03-31','active','Have to do VAT Return Filing','2026-08-20 16:13:37','four_monthly','active',1,'[\"audit\", \"tax\"]',1,NULL,NULL),(3,1,'CL-0003','Inner Wish Kids Home','pvt_ltd','602453859',0,'Education',0,'Chabahil','Kapan','Prajwal Thapa','9869498928',NULL,'03-31','active','Client has expansion plan within this year. Internal audit has been recommended.','2026-08-22 09:56:06','not_registered','audit_in_progress',0,'[\"audit\", \"bookkeeping\", \"tax\"]',2,NULL,NULL),(4,1,'CL-0004','Agro Unicorn','pvt_ltd',NULL,0,'Agriculture',0,'kalimati','Kalimati Kathmandu','Mahesh Khadka','9810960325',NULL,'03-31','active','Mahesh vai ko company ho PAN ma xa, VAT check garnu parne xa.','2026-08-22 15:17:27','not_registered','audit_in_progress',0,'[\"audit\", \"tax\", \"bookkeeping\"]',2,NULL,NULL),(5,1,'CL-0005','CA Nishant Test Company','Private Limited','600000001',1,'Trading',0,NULL,NULL,NULL,NULL,NULL,'03-31','active',NULL,'2026-08-24 15:18:20',NULL,'active',0,'[]',1,NULL,NULL);
/*!40000 ALTER TABLE `client` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `client_collaborator`
--

DROP TABLE IF EXISTS `client_collaborator`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `client_collaborator` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `user_id` int NOT NULL,
  `granted_by` int DEFAULT NULL,
  `granted_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `client_id` (`client_id`,`user_id`),
  KEY `user_id` (`user_id`),
  KEY `granted_by` (`granted_by`),
  CONSTRAINT `client_collaborator_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `client_collaborator_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `app_user` (`id`) ON DELETE CASCADE,
  CONSTRAINT `client_collaborator_ibfk_3` FOREIGN KEY (`granted_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `client_collaborator`
--

LOCK TABLES `client_collaborator` WRITE;
/*!40000 ALTER TABLE `client_collaborator` DISABLE KEYS */;
/*!40000 ALTER TABLE `client_collaborator` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `client_contact`
--

DROP TABLE IF EXISTS `client_contact`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `client_contact` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `name` text NOT NULL,
  `designation` text,
  `email` text,
  `phone` text,
  `is_primary` int NOT NULL DEFAULT '0',
  `notes` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_client_contact_client` (`client_id`),
  CONSTRAINT `client_contact_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `client_contact`
--

LOCK TABLES `client_contact` WRITE;
/*!40000 ALTER TABLE `client_contact` DISABLE KEYS */;
/*!40000 ALTER TABLE `client_contact` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `client_credential`
--

DROP TABLE IF EXISTS `client_credential`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `client_credential` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `system` text NOT NULL,
  `username` text,
  `secret_enc` text,
  `notes` text,
  `created_by` int DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_by` int DEFAULT NULL,
  `updated_at` text,
  PRIMARY KEY (`id`),
  KEY `created_by` (`created_by`),
  KEY `updated_by` (`updated_by`),
  KEY `ix_credential_client` (`client_id`),
  CONSTRAINT `client_credential_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `client_credential_ibfk_2` FOREIGN KEY (`created_by`) REFERENCES `app_user` (`id`),
  CONSTRAINT `client_credential_ibfk_3` FOREIGN KEY (`updated_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `client_credential`
--

LOCK TABLES `client_credential` WRITE;
/*!40000 ALTER TABLE `client_credential` DISABLE KEYS */;
INSERT INTO `client_credential` VALUES (1,2,'IRD','610097768','YsTZQHUFvSKzOg0KMLzU+cbCMrO+SElHC2w=',NULL,1,'2026-08-20 16:14:53',NULL,NULL),(2,2,'ocr','kreeshasales@gmail.com','xmhf7lbFnVC5K5Zo+g4RF/f8lNsbEpKK75Q=',NULL,1,'2026-08-21 01:53:08',NULL,NULL),(3,3,'IRD','602453859','k8A/72yLDzyEKnDKf/w8AX2CAh13CfMyPj7E9Ho=',NULL,1,'2026-08-22 15:13:22',NULL,NULL),(5,4,'IRD','622414975','8cj/Lyk+iAAXKeADYwvllmemezkqvXe0d69PMTZE',NULL,1,'2026-08-22 15:19:20',NULL,NULL);
/*!40000 ALTER TABLE `client_credential` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `client_followup`
--

DROP TABLE IF EXISTS `client_followup`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `client_followup` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `item` text NOT NULL,
  `status` varchar(100) NOT NULL DEFAULT 'pending',
  `note` text,
  `due_date` text,
  `created_by` int DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_by` int DEFAULT NULL,
  `updated_at` text,
  PRIMARY KEY (`id`),
  KEY `created_by` (`created_by`),
  KEY `updated_by` (`updated_by`),
  KEY `ix_followup_client` (`client_id`,`status`),
  CONSTRAINT `client_followup_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `client_followup_ibfk_2` FOREIGN KEY (`created_by`) REFERENCES `app_user` (`id`),
  CONSTRAINT `client_followup_ibfk_3` FOREIGN KEY (`updated_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `client_followup`
--

LOCK TABLES `client_followup` WRITE;
/*!40000 ALTER TABLE `client_followup` DISABLE KEYS */;
INSERT INTO `client_followup` VALUES (1,2,'Bank Statement','received',NULL,'2026-08-31',1,'2026-08-20 16:14:29',1,'2026-08-29 05:04:42');
/*!40000 ALTER TABLE `client_followup` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `client_portal_invite`
--

DROP TABLE IF EXISTS `client_portal_invite`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `client_portal_invite` (
  `token` varchar(100) NOT NULL,
  `portal_user_id` int NOT NULL,
  `expires_at` text NOT NULL,
  `used_at` text,
  PRIMARY KEY (`token`),
  KEY `portal_user_id` (`portal_user_id`),
  CONSTRAINT `client_portal_invite_ibfk_1` FOREIGN KEY (`portal_user_id`) REFERENCES `client_portal_user` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `client_portal_invite`
--

LOCK TABLES `client_portal_invite` WRITE;
/*!40000 ALTER TABLE `client_portal_invite` DISABLE KEYS */;
/*!40000 ALTER TABLE `client_portal_invite` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `client_portal_password_reset`
--

DROP TABLE IF EXISTS `client_portal_password_reset`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `client_portal_password_reset` (
  `token` varchar(100) NOT NULL,
  `portal_user_id` int NOT NULL,
  `expires_at` text NOT NULL,
  `used_at` text,
  PRIMARY KEY (`token`),
  KEY `portal_user_id` (`portal_user_id`),
  CONSTRAINT `client_portal_password_reset_ibfk_1` FOREIGN KEY (`portal_user_id`) REFERENCES `client_portal_user` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `client_portal_password_reset`
--

LOCK TABLES `client_portal_password_reset` WRITE;
/*!40000 ALTER TABLE `client_portal_password_reset` DISABLE KEYS */;
/*!40000 ALTER TABLE `client_portal_password_reset` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `client_portal_session`
--

DROP TABLE IF EXISTS `client_portal_session`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `client_portal_session` (
  `token` varchar(100) NOT NULL,
  `portal_user_id` int NOT NULL,
  `issued_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `expires_at` text NOT NULL,
  `revoked_at` text,
  PRIMARY KEY (`token`),
  KEY `portal_user_id` (`portal_user_id`),
  CONSTRAINT `client_portal_session_ibfk_1` FOREIGN KEY (`portal_user_id`) REFERENCES `client_portal_user` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `client_portal_session`
--

LOCK TABLES `client_portal_session` WRITE;
/*!40000 ALTER TABLE `client_portal_session` DISABLE KEYS */;
/*!40000 ALTER TABLE `client_portal_session` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `client_portal_user`
--

DROP TABLE IF EXISTS `client_portal_user`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `client_portal_user` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `name` text NOT NULL,
  `email` varchar(100) NOT NULL,
  `pwd_hash` text NOT NULL,
  `pwd_salt` text NOT NULL,
  `is_active` int NOT NULL DEFAULT '1',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `last_login_at` text,
  PRIMARY KEY (`id`),
  UNIQUE KEY `email` (`email`),
  KEY `ix_portal_user_client` (`client_id`),
  CONSTRAINT `client_portal_user_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `client_portal_user`
--

LOCK TABLES `client_portal_user` WRITE;
/*!40000 ALTER TABLE `client_portal_user` DISABLE KEYS */;
/*!40000 ALTER TABLE `client_portal_user` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `deadline`
--

DROP TABLE IF EXISTS `deadline`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `deadline` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `obligation_code` varchar(100) DEFAULT NULL,
  `title` text NOT NULL,
  `period_label` text,
  `due_date_bs` text,
  `due_date_ad` varchar(100) NOT NULL,
  `status` varchar(100) NOT NULL DEFAULT 'pending',
  `filed_on` text,
  `reference_no` text,
  `assigned_to` int DEFAULT NULL,
  `reminder_days` varchar(100) DEFAULT '7,3,1',
  `last_notified_at` text,
  PRIMARY KEY (`id`),
  KEY `client_id` (`client_id`),
  KEY `obligation_code` (`obligation_code`),
  KEY `assigned_to` (`assigned_to`),
  KEY `ix_deadline_due` (`due_date_ad`,`status`),
  CONSTRAINT `deadline_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `deadline_ibfk_2` FOREIGN KEY (`obligation_code`) REFERENCES `obligation_type` (`code`),
  CONSTRAINT `deadline_ibfk_3` FOREIGN KEY (`assigned_to`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `deadline`
--

LOCK TABLES `deadline` WRITE;
/*!40000 ALTER TABLE `deadline` DISABLE KEYS */;
INSERT INTO `deadline` VALUES (1,2,'VAT_MONTHLY','VAT filing',NULL,NULL,'2026-08-24','filed','2026-08-29',NULL,1,'7,3,1',NULL),(2,2,'STAT_AUDIT','Statutory audit',NULL,NULL,'2026-09-30','filed','2026-08-29',NULL,1,'7,3,1',NULL);
/*!40000 ALTER TABLE `deadline` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `document`
--

DROP TABLE IF EXISTS `document`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `document` (
  `id` int NOT NULL AUTO_INCREMENT,
  `engagement_id` int DEFAULT NULL,
  `client_id` int DEFAULT NULL,
  `category` text,
  `filename` text NOT NULL,
  `mime` text,
  `byte_size` int DEFAULT NULL,
  `sha256` text,
  `storage_path` text NOT NULL,
  `uploaded_by` int DEFAULT NULL,
  `uploaded_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `visible_to_client` int NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `client_id` (`client_id`),
  KEY `uploaded_by` (`uploaded_by`),
  KEY `ix_doc_eng` (`engagement_id`),
  CONSTRAINT `document_ibfk_1` FOREIGN KEY (`engagement_id`) REFERENCES `engagement` (`id`) ON DELETE SET NULL,
  CONSTRAINT `document_ibfk_2` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE SET NULL,
  CONSTRAINT `document_ibfk_3` FOREIGN KEY (`uploaded_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `document`
--

LOCK TABLES `document` WRITE;
/*!40000 ALTER TABLE `document` DISABLE KEYS */;
/*!40000 ALTER TABLE `document` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `download_file`
--

DROP TABLE IF EXISTS `download_file`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `download_file` (
  `id` int NOT NULL AUTO_INCREMENT,
  `firm_id` int NOT NULL,
  `slug` varchar(100) NOT NULL,
  `title` text NOT NULL,
  `description` text,
  `file_path` text NOT NULL,
  `original_filename` text,
  `mime_type` text,
  `file_size` int DEFAULT NULL,
  `is_published` int NOT NULL DEFAULT '0',
  `download_count` int NOT NULL DEFAULT '0',
  `uploaded_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `uploaded_by` int DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `firm_id` (`firm_id`,`slug`),
  KEY `uploaded_by` (`uploaded_by`),
  KEY `ix_download_file_pub` (`firm_id`,`is_published`,`uploaded_at` DESC),
  CONSTRAINT `download_file_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE,
  CONSTRAINT `download_file_ibfk_2` FOREIGN KEY (`uploaded_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `download_file`
--

LOCK TABLES `download_file` WRITE;
/*!40000 ALTER TABLE `download_file` DISABLE KEYS */;
INSERT INTO `download_file` VALUES (1,1,'test-download-file','Test Download','The file is for test only.','83aaf7d054bd1b99042ce16deee812cd.docx','dinesh marasini - fdi - 20260819-224638.docx','application/vnd.openxmlformats-officedocument.wordprocessingml.document',37821,1,0,'2026-08-30 01:11:10',1),(2,1,'hello-test','second file test','This is for test of different cases.','88b91e1710f03307b3decad940e29527.docx','dinesh marasini - JVA - 20260819-224640.docx','application/vnd.openxmlformats-officedocument.wordprocessingml.document',43485,1,0,'2026-08-30 01:12:05',1);
/*!40000 ALTER TABLE `download_file` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `email_log`
--

DROP TABLE IF EXISTS `email_log`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `email_log` (
  `id` int NOT NULL AUTO_INCREMENT,
  `to_addr` text NOT NULL,
  `subject` text NOT NULL,
  `status` text NOT NULL,
  `error` text,
  `related_type` text,
  `related_id` int DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_email_log_created` (`created_at`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `email_log`
--

LOCK TABLES `email_log` WRITE;
/*!40000 ALTER TABLE `email_log` DISABLE KEYS */;
INSERT INTO `email_log` VALUES (1,'caautomator.com','CA Automator — SMTP test','skipped','SMTP not configured',NULL,NULL,'2026-08-29 07:06:39');
/*!40000 ALTER TABLE `email_log` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `email_template`
--

DROP TABLE IF EXISTS `email_template`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `email_template` (
  `id` int NOT NULL AUTO_INCREMENT,
  `key` varchar(100) NOT NULL,
  `subject` text NOT NULL,
  `body` text NOT NULL,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_by` int DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `key` (`key`),
  KEY `updated_by` (`updated_by`),
  CONSTRAINT `email_template_ibfk_1` FOREIGN KEY (`updated_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=127 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `email_template`
--

LOCK TABLES `email_template` WRITE;
/*!40000 ALTER TABLE `email_template` DISABLE KEYS */;
INSERT INTO `email_template` VALUES (1,'career_received','We\'ve received your application — {{position}}','Dear {{name}},\n\nThank you for applying for {{position}} at {{firm_name}}. We\'ve received your application and will be in touch as it moves through review.\n\n— {{firm_name}}','2026-08-29 04:24:10',NULL),(2,'career_screening','Your application is being screened — {{position}}','Dear {{name}},\n\nYour application for {{position}} is now being screened. We\'ll update you as soon as there\'s a decision on the next step.\n\n— {{firm_name}}','2026-08-29 04:24:10',NULL),(3,'career_under_review','Your application is under review — {{position}}','Dear {{name}},\n\nYour application for {{position}} is currently under review. Thank you for your patience — we\'ll be in touch shortly.\n\n— {{firm_name}}','2026-08-29 04:24:10',NULL),(4,'career_shortlisted','You\'ve been shortlisted — {{position}}','Dear {{name}},\n\nCongratulations — you\'ve been shortlisted for {{position}}. We\'ll be in touch soon with next steps.\n\n— {{firm_name}}','2026-08-29 04:24:10',NULL),(5,'career_interview','Interview invitation — {{position}}','Dear {{name}},\n\nWe\'d like to invite you to interview for {{position}}. Someone from our team will reach out shortly to arrange a time.\n\n— {{firm_name}}','2026-08-29 04:24:10',NULL),(6,'career_selected','You\'ve been selected — {{position}}','Dear {{name}},\n\nWe are pleased to inform you that your application for {{position}} has been selected. We\'ll be in touch shortly with next steps.\n\nCongratulations, and welcome.\n\n— {{firm_name}}','2026-08-29 04:24:10',NULL),(7,'career_rejected','Update on your application — {{position}}','Dear {{name}},\n\nThank you for applying for {{position}} and for the time you invested in your application. After careful consideration, we will not be moving forward on this occasion. We wish you the best in your search.\n\n— {{firm_name}}','2026-08-29 04:24:10',NULL);
/*!40000 ALTER TABLE `email_template` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `employee_profile`
--

DROP TABLE IF EXISTS `employee_profile`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `employee_profile` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_id` int NOT NULL,
  `employee_code` text,
  `job_position_id` int DEFAULT NULL,
  `department_id` int DEFAULT NULL,
  `branch_id` int DEFAULT NULL,
  `reports_to_user_id` int DEFAULT NULL,
  `date_of_joining` text,
  `employment_type` varchar(100) NOT NULL DEFAULT 'full_time',
  `weekly_capacity_hours` double NOT NULL DEFAULT '40',
  `cost_rate` double DEFAULT NULL,
  `billing_rate` double DEFAULT NULL,
  `phone` text,
  `notes` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `user_id` (`user_id`),
  KEY `job_position_id` (`job_position_id`),
  KEY `department_id` (`department_id`),
  KEY `branch_id` (`branch_id`),
  KEY `reports_to_user_id` (`reports_to_user_id`),
  CONSTRAINT `employee_profile_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `app_user` (`id`) ON DELETE CASCADE,
  CONSTRAINT `employee_profile_ibfk_2` FOREIGN KEY (`job_position_id`) REFERENCES `job_position` (`id`) ON DELETE SET NULL,
  CONSTRAINT `employee_profile_ibfk_3` FOREIGN KEY (`department_id`) REFERENCES `org_department` (`id`) ON DELETE SET NULL,
  CONSTRAINT `employee_profile_ibfk_4` FOREIGN KEY (`branch_id`) REFERENCES `org_branch` (`id`) ON DELETE SET NULL,
  CONSTRAINT `employee_profile_ibfk_5` FOREIGN KEY (`reports_to_user_id`) REFERENCES `app_user` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `employee_profile`
--

LOCK TABLES `employee_profile` WRITE;
/*!40000 ALTER TABLE `employee_profile` DISABLE KEYS */;
/*!40000 ALTER TABLE `employee_profile` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `employee_skill`
--

DROP TABLE IF EXISTS `employee_skill`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `employee_skill` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_id` int NOT NULL,
  `skill_id` int NOT NULL,
  `proficiency` int NOT NULL DEFAULT '3',
  PRIMARY KEY (`id`),
  UNIQUE KEY `user_id` (`user_id`,`skill_id`),
  KEY `skill_id` (`skill_id`),
  CONSTRAINT `employee_skill_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `app_user` (`id`) ON DELETE CASCADE,
  CONSTRAINT `employee_skill_ibfk_2` FOREIGN KEY (`skill_id`) REFERENCES `skill` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `employee_skill`
--

LOCK TABLES `employee_skill` WRITE;
/*!40000 ALTER TABLE `employee_skill` DISABLE KEYS */;
/*!40000 ALTER TABLE `employee_skill` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `engagement`
--

DROP TABLE IF EXISTS `engagement`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `engagement` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `fiscal_year_id` int DEFAULT NULL,
  `type` text NOT NULL,
  `title` text,
  `partner_id` int DEFAULT NULL,
  `manager_id` int DEFAULT NULL,
  `status` varchar(100) NOT NULL DEFAULT 'planning',
  `start_date` text,
  `target_date` text,
  `fee_amount` double DEFAULT NULL,
  `fee_status` varchar(100) DEFAULT 'unbilled',
  `scope` varchar(100) NOT NULL DEFAULT 'standalone',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `fiscal_year_id` (`fiscal_year_id`),
  KEY `partner_id` (`partner_id`),
  KEY `manager_id` (`manager_id`),
  KEY `ix_eng_client` (`client_id`),
  KEY `ix_eng_status` (`status`),
  CONSTRAINT `engagement_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `engagement_ibfk_2` FOREIGN KEY (`fiscal_year_id`) REFERENCES `fiscal_year` (`id`),
  CONSTRAINT `engagement_ibfk_3` FOREIGN KEY (`partner_id`) REFERENCES `app_user` (`id`),
  CONSTRAINT `engagement_ibfk_4` FOREIGN KEY (`manager_id`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `engagement`
--

LOCK TABLES `engagement` WRITE;
/*!40000 ALTER TABLE `engagement` DISABLE KEYS */;
INSERT INTO `engagement` VALUES (1,5,NULL,'tax','FY 2083-84 compliance',1,NULL,'in_progress',NULL,NULL,NULL,'unbilled','standalone','2026-08-24 15:18:20'),(2,4,3,'advisory','General engagement — Agro Unicorn',1,NULL,'planning',NULL,NULL,NULL,'unbilled','standalone','2026-08-26 02:04:12'),(3,2,3,'advisory','General engagement — Kreesa Sales Private Limited',1,NULL,'planning',NULL,NULL,NULL,'unbilled','standalone','2026-08-29 14:24:12');
/*!40000 ALTER TABLE `engagement` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `engagement_member`
--

DROP TABLE IF EXISTS `engagement_member`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `engagement_member` (
  `id` int NOT NULL AUTO_INCREMENT,
  `engagement_id` int NOT NULL,
  `user_id` int NOT NULL,
  `role_on_engagement` varchar(100) NOT NULL DEFAULT 'associate',
  `allocated_hours` double DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `engagement_id` (`engagement_id`,`user_id`),
  KEY `ix_engagement_member_eng` (`engagement_id`),
  KEY `ix_engagement_member_user` (`user_id`),
  CONSTRAINT `engagement_member_ibfk_1` FOREIGN KEY (`engagement_id`) REFERENCES `engagement` (`id`) ON DELETE CASCADE,
  CONSTRAINT `engagement_member_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `app_user` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `engagement_member`
--

LOCK TABLES `engagement_member` WRITE;
/*!40000 ALTER TABLE `engagement_member` DISABLE KEYS */;
/*!40000 ALTER TABLE `engagement_member` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fa_dataset`
--

DROP TABLE IF EXISTS `fa_dataset`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `fa_dataset` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `name` text NOT NULL,
  `dataset_type` text NOT NULL,
  `period_label` text,
  `row_count` int NOT NULL DEFAULT '0',
  `uploaded_by` int DEFAULT NULL,
  `uploaded_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `uploaded_by` (`uploaded_by`),
  KEY `ix_fa_dataset_client` (`client_id`),
  CONSTRAINT `fa_dataset_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `fa_dataset_ibfk_2` FOREIGN KEY (`uploaded_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fa_dataset`
--

LOCK TABLES `fa_dataset` WRITE;
/*!40000 ALTER TABLE `fa_dataset` DISABLE KEYS */;
/*!40000 ALTER TABLE `fa_dataset` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fa_finding`
--

DROP TABLE IF EXISTS `fa_finding`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `fa_finding` (
  `id` int NOT NULL AUTO_INCREMENT,
  `dataset_id` int DEFAULT NULL,
  `client_id` int NOT NULL,
  `transaction_id` int DEFAULT NULL,
  `detector` varchar(100) NOT NULL,
  `severity` varchar(100) NOT NULL DEFAULT 'Medium',
  `title` text NOT NULL,
  `description` text,
  `evidence_json` text,
  `status` varchar(100) NOT NULL DEFAULT 'open',
  `reviewed_by` int DEFAULT NULL,
  `reviewed_at` text,
  `notes` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `transaction_id` (`transaction_id`),
  KEY `reviewed_by` (`reviewed_by`),
  KEY `ix_fa_finding_client` (`client_id`,`status`),
  KEY `ix_fa_finding_dataset` (`dataset_id`,`detector`),
  CONSTRAINT `fa_finding_ibfk_1` FOREIGN KEY (`dataset_id`) REFERENCES `fa_dataset` (`id`) ON DELETE CASCADE,
  CONSTRAINT `fa_finding_ibfk_2` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `fa_finding_ibfk_3` FOREIGN KEY (`transaction_id`) REFERENCES `fa_transaction` (`id`) ON DELETE CASCADE,
  CONSTRAINT `fa_finding_ibfk_4` FOREIGN KEY (`reviewed_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fa_finding`
--

LOCK TABLES `fa_finding` WRITE;
/*!40000 ALTER TABLE `fa_finding` DISABLE KEYS */;
/*!40000 ALTER TABLE `fa_finding` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fa_transaction`
--

DROP TABLE IF EXISTS `fa_transaction`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `fa_transaction` (
  `id` int NOT NULL AUTO_INCREMENT,
  `dataset_id` int NOT NULL,
  `row_index` int NOT NULL,
  `date` text,
  `reference_no` text,
  `party` text,
  `description` text,
  `amount` double DEFAULT NULL,
  `account` text,
  `actor` text,
  `extra_json` text,
  PRIMARY KEY (`id`),
  KEY `ix_fa_txn_dataset` (`dataset_id`),
  CONSTRAINT `fa_transaction_ibfk_1` FOREIGN KEY (`dataset_id`) REFERENCES `fa_dataset` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fa_transaction`
--

LOCK TABLES `fa_transaction` WRITE;
/*!40000 ALTER TABLE `fa_transaction` DISABLE KEYS */;
/*!40000 ALTER TABLE `fa_transaction` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fa_working_paper`
--

DROP TABLE IF EXISTS `fa_working_paper`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `fa_working_paper` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `dataset_id` int DEFAULT NULL,
  `ref` text NOT NULL,
  `title` text,
  `content` text,
  `prepared_by` int DEFAULT NULL,
  `prepared_at` text,
  `reviewed_by` int DEFAULT NULL,
  `reviewed_at` text,
  `review_status` varchar(100) NOT NULL DEFAULT 'open',
  `review_comment` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `dataset_id` (`dataset_id`),
  KEY `prepared_by` (`prepared_by`),
  KEY `reviewed_by` (`reviewed_by`),
  KEY `ix_fa_wp_client` (`client_id`),
  CONSTRAINT `fa_working_paper_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `fa_working_paper_ibfk_2` FOREIGN KEY (`dataset_id`) REFERENCES `fa_dataset` (`id`) ON DELETE SET NULL,
  CONSTRAINT `fa_working_paper_ibfk_3` FOREIGN KEY (`prepared_by`) REFERENCES `app_user` (`id`),
  CONSTRAINT `fa_working_paper_ibfk_4` FOREIGN KEY (`reviewed_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fa_working_paper`
--

LOCK TABLES `fa_working_paper` WRITE;
/*!40000 ALTER TABLE `fa_working_paper` DISABLE KEYS */;
/*!40000 ALTER TABLE `fa_working_paper` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fdi_sector`
--

DROP TABLE IF EXISTS `fdi_sector`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `fdi_sector` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL,
  `cap_pct` double NOT NULL,
  `tax_rate` double NOT NULL,
  `special` int NOT NULL DEFAULT '0',
  `note` text,
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=43 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fdi_sector`
--

LOCK TABLES `fdi_sector` WRITE;
/*!40000 ALTER TABLE `fdi_sector` DISABLE KEYS */;
INSERT INTO `fdi_sector` VALUES (1,'Manufacturing — general',100,20,1,'Special industry: 20% rate and Schedule-2 additional depreciation available.'),(2,'Manufacturing — agro / food processing',100,20,1,'Special industry; agro-processing concessions may apply.'),(3,'Manufacturing — cement / clinker',100,20,1,'Special industry; environment and mining approvals additionally required.'),(4,'Manufacturing — pharmaceuticals',100,20,1,'DDA licensing required.'),(5,'Hydropower and renewable energy',100,20,1,'Electricity survey/generation licence from DoED; IBN if above the prescribed capacity.'),(6,'Information technology / software / BPO',100,25,0,'IT sector has been given a distinct threshold treatment; confirm the current notice.'),(7,'Tourism — star hotel / resort',100,20,1,'Star hotels are a special industry; travel and trekking agencies are restricted.'),(8,'Health — hospital / diagnostics',100,20,1,'Ministry of Health licensing; not-for-profit structures common.'),(9,'Education',100,25,0,'Sector policy restrictions apply; affiliation required.'),(10,'Construction and infrastructure',100,20,1,'Real estate trading is restricted; construction is not.'),(11,'Trading — wholesale / import-export',100,25,0,'Retail is restricted unless an international chain in two or more countries.'),(12,'Banking and financial institutions',85,30,0,'NRB licensing; foreign equity governed by BAFIA and NRB policy.'),(13,'Insurance',80,30,0,'Nepal Insurance Authority licensing and separate equity policy.'),(14,'Telecommunications / ISP',80,30,0,'NTA licence; sector-specific royalty and RTDF obligations.'),(15,'Airlines — domestic',49,25,0,'Sector cap set by aviation policy.'),(16,'Airlines — international',95,25,0,'Sector cap set by aviation policy.'),(17,'Mining and quarrying',100,20,1,'Department of Mines licence.'),(18,'Logistics and warehousing',100,25,0,'Internal courier service is restricted.'),(19,'Agriculture — commercial / processing (non-primary)',100,20,1,'Primary agro-production is restricted; processing is open.'),(20,'Consultancy and professional services',51,25,0,'Foreign equity capped at 51% by the negative list.'),(21,'Other / to be specified',100,25,0,'');
/*!40000 ALTER TABLE `fdi_sector` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `financial_period`
--

DROP TABLE IF EXISTS `financial_period`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `financial_period` (
  `id` int NOT NULL AUTO_INCREMENT,
  `country_code` varchar(10) NOT NULL,
  `label` varchar(50) NOT NULL,
  `start_ad` varchar(20) NOT NULL,
  `end_ad` varchar(20) NOT NULL,
  `is_current` int NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `country_code` (`country_code`,`label`),
  KEY `ix_financial_period_country` (`country_code`,`start_ad`,`end_ad`)
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `financial_period`
--

LOCK TABLES `financial_period` WRITE;
/*!40000 ALTER TABLE `financial_period` DISABLE KEYS */;
INSERT INTO `financial_period` VALUES (1,'IN','2024-25','2024-04-01','2025-03-31',0),(2,'IN','2025-26','2025-04-01','2026-03-31',0),(3,'IN','2026-27','2026-04-01','2027-03-31',1),(4,'IN','2027-28','2027-04-01','2028-03-31',0),(5,'IN','2028-29','2028-04-01','2029-03-31',0),(6,'IN','2029-30','2029-04-01','2030-03-31',0),(7,'AE','2024','2024-01-01','2024-12-31',0),(8,'AE','2025','2025-01-01','2025-12-31',0),(9,'AE','2026','2026-01-01','2026-12-31',1),(10,'AE','2027','2027-01-01','2027-12-31',0),(11,'AE','2028','2028-01-01','2028-12-31',0),(12,'AE','2029','2029-01-01','2029-12-31',0);
/*!40000 ALTER TABLE `financial_period` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `firm`
--

DROP TABLE IF EXISTS `firm`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `firm` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` text NOT NULL,
  `short_name` text,
  `pan` text,
  `address` text,
  `phone` text,
  `email` text,
  `website` text,
  `letterhead_path` text,
  `logo_path` text,
  `base_currency` varchar(100) NOT NULL DEFAULT 'NPR',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `country_code` varchar(100) NOT NULL DEFAULT 'NP',
  `tagline` text,
  `google_maps_url` text,
  `google_maps_embed` text,
  `office_hours` text,
  `facebook_url` text,
  `linkedin_url` text,
  `twitter_url` text,
  `instagram_url` text,
  `max_seats` int NOT NULL DEFAULT '5',
  `plan_label` text,
  `is_active` int NOT NULL DEFAULT '1',
  `subscription_expires_at` text,
  `subscription_grace_notified_at` text,
  `subscription_suspended_notified_at` text,
  `registration_no` text,
  `show_on_landing` int NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `firm`
--

LOCK TABLES `firm` WRITE;
/*!40000 ALTER TABLE `firm` DISABLE KEYS */;
INSERT INTO `firm` VALUES (1,'CA Nishant Marasini','CA Nishant Marasini','610097768','Diamondmarg 3 nagarjun Kathmandu, Nepal','9813007298','caautomator@gmail.com','www.caautomator.com',NULL,NULL,'NPR','2026-08-18 14:21:22','AE','Account, Automate, Conquer','https://share.google/A9pyAivzEjARV7ICA','https://maps.google.com/maps?width=600&height=400&hl=en&q=kreesa%20corporate%20office&t=&z=14&ie=UTF8&iwloc=B&output=embed','Sun-Fri, 09:00 AM to 05:00 PM','https://www.facebook.com/adminkreesa/?locale=en_GB','https://np.linkedin.com/company/kreesa-com','','https://www.instagram.com/explore/locations/106624501541696/kreesacom/',500,'Super Admin',1,NULL,NULL,NULL,NULL,0),(2,'Kreesa Sales','Kreesa Sales',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'NPR','2026-08-29 16:30:24','NP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'Starter',1,NULL,NULL,NULL,NULL,0);
/*!40000 ALTER TABLE `firm` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `firm_module_grant`
--

DROP TABLE IF EXISTS `firm_module_grant`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `firm_module_grant` (
  `firm_id` int NOT NULL,
  `module_key` varchar(100) NOT NULL,
  `granted_by` int DEFAULT NULL,
  `granted_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`firm_id`,`module_key`),
  KEY `granted_by` (`granted_by`),
  CONSTRAINT `firm_module_grant_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE,
  CONSTRAINT `firm_module_grant_ibfk_2` FOREIGN KEY (`granted_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `firm_module_grant`
--

LOCK TABLES `firm_module_grant` WRITE;
/*!40000 ALTER TABLE `firm_module_grant` DISABLE KEYS */;
INSERT INTO `firm_module_grant` VALUES (1,'acct_automation',NULL,'2026-08-29 16:27:51'),(1,'audit_execution',NULL,'2026-08-29 16:27:51'),(1,'audit_report',NULL,'2026-08-29 16:27:51'),(1,'billing',NULL,'2026-08-29 16:27:51'),(1,'biz_tax',NULL,'2026-08-29 16:27:51'),(1,'blog_admin',NULL,'2026-08-29 16:27:51'),(1,'business_advisory',NULL,'2026-08-29 16:27:51'),(1,'capital_advisory',NULL,'2026-08-29 16:27:51'),(1,'career_admin',NULL,'2026-08-29 16:27:51'),(1,'chatbot_admin',NULL,'2026-08-29 16:27:51'),(1,'corporate_advisory',NULL,'2026-08-29 16:27:51'),(1,'dd',NULL,'2026-08-29 16:27:51'),(1,'depreciation',NULL,'2026-08-29 16:27:51'),(1,'emi',NULL,'2026-08-29 16:27:51'),(1,'fdi',NULL,'2026-08-29 16:27:51'),(1,'fin_statements',NULL,'2026-08-29 16:27:51'),(1,'fixed_assets',NULL,'2026-08-29 16:27:51'),(1,'forensic_audit',NULL,'2026-08-29 16:27:51'),(1,'grant',NULL,'2026-08-29 16:27:51'),(1,'india_depreciation',NULL,'2026-08-31 23:14:13'),(1,'india_gst',NULL,'2026-08-31 23:14:13'),(1,'india_interest_penalty',NULL,'2026-08-31 23:14:13'),(1,'internal_audit',NULL,'2026-08-29 16:27:51'),(1,'inventory',NULL,'2026-08-29 16:27:51'),(1,'ipo_advisory',NULL,'2026-08-29 16:27:51'),(1,'lease',NULL,'2026-08-29 16:27:51'),(1,'org_admin',NULL,'2026-08-31 22:25:30'),(1,'penalty',NULL,'2026-08-29 16:27:51'),(1,'personal_tax',NULL,'2026-08-29 16:27:51'),(1,'practice_mgmt',NULL,'2026-08-29 16:27:51'),(1,'projection',NULL,'2026-08-29 16:27:51'),(1,'salary_tds',NULL,'2026-08-29 16:27:51'),(1,'site_settings',NULL,'2026-08-29 16:27:51'),(1,'stat_audit',NULL,'2026-08-29 16:27:51'),(1,'tax_advisory',NULL,'2026-08-29 16:27:51'),(1,'tds',NULL,'2026-08-29 16:27:51'),(1,'transfer_pricing',NULL,'2026-08-29 16:27:51'),(1,'uae_corporate_tax',NULL,'2026-09-01 07:42:15'),(1,'uae_penalties',NULL,'2026-09-01 07:42:15'),(1,'valuation',NULL,'2026-08-29 16:27:51'),(1,'vat',NULL,'2026-08-29 16:27:51'),(2,'depreciation',1,'2026-08-29 16:30:32'),(2,'india_depreciation',NULL,'2026-08-31 23:14:13'),(2,'india_gst',NULL,'2026-08-31 23:14:13'),(2,'india_interest_penalty',NULL,'2026-08-31 23:14:13'),(2,'org_admin',NULL,'2026-08-31 22:25:30'),(2,'uae_corporate_tax',NULL,'2026-09-01 07:42:15'),(2,'uae_penalties',NULL,'2026-09-01 07:42:15');
/*!40000 ALTER TABLE `firm_module_grant` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `fiscal_year`
--

DROP TABLE IF EXISTS `fiscal_year`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `fiscal_year` (
  `id` int NOT NULL AUTO_INCREMENT,
  `label_bs` varchar(100) NOT NULL,
  `start_bs` text NOT NULL,
  `end_bs` text NOT NULL,
  `start_ad` text,
  `end_ad` text,
  `is_current` int NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `label_bs` (`label_bs`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `fiscal_year`
--

LOCK TABLES `fiscal_year` WRITE;
/*!40000 ALTER TABLE `fiscal_year` DISABLE KEYS */;
INSERT INTO `fiscal_year` VALUES (1,'2080-81','2080-04-01','2081-03-31','2023-07-17','2024-07-15',0),(2,'2081-82','2081-04-01','2082-03-31','2024-07-16','2025-07-16',0),(3,'2082-83','2082-04-01','2083-03-31','2025-07-17','2026-07-16',0),(4,'2083-84','2083-04-01','2084-03-31','2026-07-17','2027-07-16',1);
/*!40000 ALTER TABLE `fiscal_year` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `hub_link`
--

DROP TABLE IF EXISTS `hub_link`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `hub_link` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `consuming_module` varchar(100) NOT NULL,
  `consuming_ref` text,
  `snapshot_id` int NOT NULL,
  `version_at_link` int NOT NULL,
  `status` varchar(100) NOT NULL DEFAULT 'synced',
  `linked_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `linked_by` int DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `linked_by` (`linked_by`),
  KEY `ix_hub_link_client` (`client_id`,`consuming_module`),
  KEY `ix_hub_link_snapshot` (`snapshot_id`),
  CONSTRAINT `hub_link_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `hub_link_ibfk_2` FOREIGN KEY (`snapshot_id`) REFERENCES `hub_snapshot` (`id`) ON DELETE CASCADE,
  CONSTRAINT `hub_link_ibfk_3` FOREIGN KEY (`linked_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `hub_link`
--

LOCK TABLES `hub_link` WRITE;
/*!40000 ALTER TABLE `hub_link` DISABLE KEYS */;
/*!40000 ALTER TABLE `hub_link` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `hub_snapshot`
--

DROP TABLE IF EXISTS `hub_snapshot`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `hub_snapshot` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `fy_label` varchar(100) DEFAULT NULL,
  `kind` varchar(100) NOT NULL,
  `source_module` text NOT NULL,
  `source_workfile_id` int DEFAULT NULL,
  `source_version` int NOT NULL DEFAULT '1',
  `payload` text,
  `computed_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `computed_by` int DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `source_workfile_id` (`source_workfile_id`),
  KEY `computed_by` (`computed_by`),
  KEY `ix_hub_snapshot_client` (`client_id`,`kind`,`fy_label`),
  CONSTRAINT `hub_snapshot_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `hub_snapshot_ibfk_2` FOREIGN KEY (`source_workfile_id`) REFERENCES `workfile` (`id`) ON DELETE SET NULL,
  CONSTRAINT `hub_snapshot_ibfk_3` FOREIGN KEY (`computed_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `hub_snapshot`
--

LOCK TABLES `hub_snapshot` WRITE;
/*!40000 ALTER TABLE `hub_snapshot` DISABLE KEYS */;
INSERT INTO `hub_snapshot` VALUES (1,4,'2082-83','linked_emi','emi',29,1,'{\"figures\": {}, \"rows\": [{\"closing\": 925440.4, \"current_portion\": 313451.54, \"date_ad\": \"2026-11-29\", \"date_bs_approx\": \"2083-08-13\", \"non_current_portion\": 611988.86, \"period\": 1}, {\"closing\": 849389.61, \"current_portion\": 319720.57, \"date_ad\": \"2027-02-28\", \"date_bs_approx\": \"2083-11-16\", \"non_current_portion\": 529669.04, \"period\": 2}, {\"closing\": 771817.81, \"current_portion\": 326114.99, \"date_ad\": \"2027-05-29\", \"date_bs_approx\": \"2084-02-15\", \"non_current_portion\": 445702.82, \"period\": 3}, {\"closing\": 692694.57, \"current_portion\": 332637.29, \"date_ad\": \"2027-08-29\", \"date_bs_approx\": \"2084-05-13\", \"non_current_portion\": 360057.28, \"period\": 4}, {\"closing\": 611988.86, \"current_portion\": 339290.03, \"date_ad\": \"2027-11-29\", \"date_bs_approx\": \"2084-08-14\", \"non_current_portion\": 272698.83, \"period\": 5}, {\"closing\": 529669.05, \"current_portion\": 346075.83, \"date_ad\": \"2028-02-29\", \"date_bs_approx\": \"2084-11-17\", \"non_current_portion\": 183593.22, \"period\": 6}, {\"closing\": 445702.83, \"current_portion\": 352997.34, \"date_ad\": \"2028-05-29\", \"date_bs_approx\": \"2085-02-16\", \"non_current_portion\": 92705.49, \"period\": 7}, {\"closing\": 360057.29, \"current_portion\": 360057.29, \"date_ad\": \"2028-08-29\", \"date_bs_approx\": \"2085-05-13\", \"non_current_portion\": 0.0, \"period\": 8}, {\"closing\": 272698.84, \"current_portion\": 272698.84, \"date_ad\": \"2028-11-29\", \"date_bs_approx\": \"2085-08-14\", \"non_current_portion\": 0.0, \"period\": 9}, {\"closing\": 183593.22, \"current_portion\": 183593.22, \"date_ad\": \"2029-02-28\", \"date_bs_approx\": \"2085-11-16\", \"non_current_portion\": 0.0, \"period\": 10}, {\"closing\": 92705.49, \"current_portion\": 92705.49, \"date_ad\": \"2029-05-29\", \"date_bs_approx\": \"2086-02-16\", \"non_current_portion\": 0.0, \"period\": 11}, {\"closing\": 0.0, \"current_portion\": 0.0, \"date_ad\": \"2029-08-29\", \"date_bs_approx\": \"2086-05-13\", \"non_current_portion\": 0.0, \"period\": 12}]}','2026-08-29 14:24:26',1),(2,4,'2082-83','linked_vat','vat',28,1,'{\"figures\": {\"credit_carried_forward\": 0.0, \"payable\": 0.0}, \"rows\": null}','2026-08-29 14:24:26',1),(3,4,'2082-83','linked_lease','lease',25,1,'{\"figures\": {}, \"rows\": [{\"closing\": null, \"current_portion\": 1500000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 8749254.09, \"period\": 1}, {\"closing\": null, \"current_portion\": 1500000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 8725496.64, \"period\": 2}, {\"closing\": null, \"current_portion\": 1500000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 8701501.6, \"period\": 3}, {\"closing\": null, \"current_portion\": 1500000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 8677266.62, \"period\": 4}, {\"closing\": null, \"current_portion\": 1500000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 8652789.28, \"period\": 5}, {\"closing\": null, \"current_portion\": 1500000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 8628067.18, \"period\": 6}, {\"closing\": null, \"current_portion\": 1500000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 8603097.85, \"period\": 7}, {\"closing\": null, \"current_portion\": 1500000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 8577878.83, \"period\": 8}, {\"closing\": null, \"current_portion\": 1500000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 8552407.62, \"period\": 9}, {\"closing\": null, \"current_portion\": 1500000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 8526681.69, \"period\": 10}, {\"closing\": null, \"current_portion\": 1500000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 8500698.51, \"period\": 11}, {\"closing\": null, \"current_portion\": 1500000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 8474455.49, \"period\": 12}, {\"closing\": null, \"current_portion\": 1512500.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 8435450.05, \"period\": 13}, {\"closing\": null, \"current_portion\": 1525000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 8396179.55, \"period\": 14}, {\"closing\": null, \"current_portion\": 1537500.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 8356641.34, \"period\": 15}, {\"closing\": null, \"current_portion\": 1550000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 8316832.76, \"period\": 16}, {\"closing\": null, \"current_portion\": 1562500.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 8276751.09, \"period\": 17}, {\"closing\": null, \"current_portion\": 1575000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 8236393.6, \"period\": 18}, {\"closing\": null, \"current_portion\": 1587500.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 8195757.53, \"period\": 19}, {\"closing\": null, \"current_portion\": 1600000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 8154840.11, \"period\": 20}, {\"closing\": null, \"current_portion\": 1612500.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 8113638.51, \"period\": 21}, {\"closing\": null, \"current_portion\": 1625000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 8072149.89, \"period\": 22}, {\"closing\": null, \"current_portion\": 1637500.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 8030371.39, \"period\": 23}, {\"closing\": null, \"current_portion\": 1650000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 7988300.11, \"period\": 24}, {\"closing\": null, \"current_portion\": 1650000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 7945808.11, \"period\": 25}, {\"closing\": null, \"current_portion\": 1650000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 7902891.19, \"period\": 26}, {\"closing\": null, \"current_portion\": 1650000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 7859545.1, \"period\": 27}, {\"closing\": null, \"current_portion\": 1650000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 7815765.55, \"period\": 28}, {\"closing\": null, \"current_portion\": 1650000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 7771548.21, \"period\": 29}, {\"closing\": null, \"current_portion\": 1650000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 7726888.69, \"period\": 30}, {\"closing\": null, \"current_portion\": 1650000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 7681782.58, \"period\": 31}, {\"closing\": null, \"current_portion\": 1650000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 7636225.4, \"period\": 32}, {\"closing\": null, \"current_portion\": 1650000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 7590212.66, \"period\": 33}, {\"closing\": null, \"current_portion\": 1650000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 7543739.78, \"period\": 34}, {\"closing\": null, \"current_portion\": 1650000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 7496802.18, \"period\": 35}, {\"closing\": null, \"current_portion\": 1650000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 7449395.2, \"period\": 36}, {\"closing\": null, \"current_portion\": 1663750.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 7387764.15, \"period\": 37}, {\"closing\": null, \"current_portion\": 1677500.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 7325654.3, \"period\": 38}, {\"closing\": null, \"current_portion\": 1691250.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 7263060.84, \"period\": 39}, {\"closing\": null, \"current_portion\": 1705000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 7199978.95, \"period\": 40}, {\"closing\": null, \"current_portion\": 1718750.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 7136403.74, \"period\": 41}, {\"closing\": null, \"current_portion\": 1732500.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 7072330.27, \"period\": 42}, {\"closing\": null, \"current_portion\": 1746250.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 7007753.58, \"period\": 43}, {\"closing\": null, \"current_portion\": 1760000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 6942668.61, \"period\": 44}, {\"closing\": null, \"current_portion\": 1773750.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 6877070.3, \"period\": 45}, {\"closing\": null, \"current_portion\": 1787500.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 6810953.5, \"period\": 46}, {\"closing\": null, \"current_portion\": 1801250.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 6744313.04, \"period\": 47}, {\"closing\": null, \"current_portion\": 1815000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 6677143.67, \"period\": 48}, {\"closing\": null, \"current_portion\": 1815000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 6609302.6, \"period\": 49}, {\"closing\": null, \"current_portion\": 1815000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 6540783.13, \"period\": 50}, {\"closing\": null, \"current_portion\": 1815000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 6471578.46, \"period\": 51}, {\"closing\": null, \"current_portion\": 1815000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 6401681.75, \"period\": 52}, {\"closing\": null, \"current_portion\": 1815000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 6331086.06, \"period\": 53}, {\"closing\": null, \"current_portion\": 1815000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 6259784.42, \"period\": 54}, {\"closing\": null, \"current_portion\": 1815000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 6187769.77, \"period\": 55}, {\"closing\": null, \"current_portion\": 1815000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 6115034.97, \"period\": 56}, {\"closing\": null, \"current_portion\": 1815000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 6041572.82, \"period\": 57}, {\"closing\": null, \"current_portion\": 1815000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 5967376.04, \"period\": 58}, {\"closing\": null, \"current_portion\": 1815000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 5892437.3, \"period\": 59}, {\"closing\": null, \"current_portion\": 1815000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 5816749.18, \"period\": 60}, {\"closing\": null, \"current_portion\": 1830125.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 5725179.17, \"period\": 61}, {\"closing\": null, \"current_portion\": 1845250.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 5632844.71, \"period\": 62}, {\"closing\": null, \"current_portion\": 1860375.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 5539738.16, \"period\": 63}, {\"closing\": null, \"current_portion\": 1875500.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 5445851.79, \"period\": 64}, {\"closing\": null, \"current_portion\": 1890625.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 5351177.81, \"period\": 65}, {\"closing\": null, \"current_portion\": 1905750.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 5255708.34, \"period\": 66}, {\"closing\": null, \"current_portion\": 1920875.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 5159435.42, \"period\": 67}, {\"closing\": null, \"current_portion\": 1936000.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 5062351.02, \"period\": 68}, {\"closing\": null, \"current_portion\": 1951125.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 4964447.03, \"period\": 69}, {\"closing\": null, \"current_portion\": 1966250.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 4865715.25, \"period\": 70}, {\"closing\": null, \"current_portion\": 1981375.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 4766147.41, \"period\": 71}, {\"closing\": null, \"current_portion\": 1996500.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 4665735.13, \"period\": 72}, {\"closing\": null, \"current_portion\": 1996500.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 4564318.73, \"period\": 73}, {\"closing\": null, \"current_portion\": 1996500.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 4461888.17, \"period\": 74}, {\"closing\": null, \"current_portion\": 1996500.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 4358433.3, \"period\": 75}, {\"closing\": null, \"current_portion\": 1996500.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 4253943.88, \"period\": 76}, {\"closing\": null, \"current_portion\": 1996500.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 4148409.57, \"period\": 77}, {\"closing\": null, \"current_portion\": 1996500.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 4041819.92, \"period\": 78}, {\"closing\": null, \"current_portion\": 1996500.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 3934164.37, \"period\": 79}, {\"closing\": null, \"current_portion\": 1996500.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 3825432.26, \"period\": 80}, {\"closing\": null, \"current_portion\": 1996500.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 3715612.83, \"period\": 81}, {\"closing\": null, \"current_portion\": 1996500.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 3604695.21, \"period\": 82}, {\"closing\": null, \"current_portion\": 1996500.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 3492668.41, \"period\": 83}, {\"closing\": null, \"current_portion\": 1996500.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 3379521.35, \"period\": 84}, {\"closing\": null, \"current_portion\": 2013137.5, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 3248605.31, \"period\": 85}, {\"closing\": null, \"current_portion\": 2029775.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 3116546.49, \"period\": 86}, {\"closing\": null, \"current_portion\": 2046412.5, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 2983333.45, \"period\": 87}, {\"closing\": null, \"current_portion\": 2063050.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 2848954.66, \"period\": 88}, {\"closing\": null, \"current_portion\": 2079687.5, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 2713398.46, \"period\": 89}, {\"closing\": null, \"current_portion\": 2096325.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 2576653.07, \"period\": 90}, {\"closing\": null, \"current_portion\": 2112962.5, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 2438706.6, \"period\": 91}, {\"closing\": null, \"current_portion\": 2129600.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 2299547.04, \"period\": 92}, {\"closing\": null, \"current_portion\": 2146237.5, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 2159162.26, \"period\": 93}, {\"closing\": null, \"current_portion\": 2162875.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 2017540.01, \"period\": 94}, {\"closing\": null, \"current_portion\": 2179512.5, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 1874667.91, \"period\": 95}, {\"closing\": null, \"current_portion\": 2196150.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 1730533.46, \"period\": 96}, {\"closing\": null, \"current_portion\": 2196150.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 1584957.67, \"period\": 97}, {\"closing\": null, \"current_portion\": 2196150.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 1437926.13, \"period\": 98}, {\"closing\": null, \"current_portion\": 2196150.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 1289424.26, \"period\": 99}, {\"closing\": null, \"current_portion\": 2196150.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 1139437.38, \"period\": 100}, {\"closing\": null, \"current_portion\": 2196150.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 987950.63, \"period\": 101}, {\"closing\": null, \"current_portion\": 2196150.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 834949.01, \"period\": 102}, {\"closing\": null, \"current_portion\": 2196150.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 680417.38, \"period\": 103}, {\"closing\": null, \"current_portion\": 2196150.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 524340.42, \"period\": 104}, {\"closing\": null, \"current_portion\": 2196150.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 366702.7, \"period\": 105}, {\"closing\": null, \"current_portion\": 2196150.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 207488.61, \"period\": 106}, {\"closing\": null, \"current_portion\": 2196150.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 46682.37, \"period\": 107}, {\"closing\": null, \"current_portion\": 2080418.06, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 0.0, \"period\": 108}, {\"closing\": null, \"current_portion\": 1916379.62, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 0.0, \"period\": 109}, {\"closing\": null, \"current_portion\": 1750700.79, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 0.0, \"period\": 110}, {\"closing\": null, \"current_portion\": 1583365.17, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 0.0, \"period\": 111}, {\"closing\": null, \"current_portion\": 1414356.2, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 0.0, \"period\": 112}, {\"closing\": null, \"current_portion\": 1243657.14, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 0.0, \"period\": 113}, {\"closing\": null, \"current_portion\": 1071251.08, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 0.0, \"period\": 114}, {\"closing\": null, \"current_portion\": 897120.97, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 0.0, \"period\": 115}, {\"closing\": null, \"current_portion\": 721249.56, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 0.0, \"period\": 116}, {\"closing\": null, \"current_portion\": 543619.43, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 0.0, \"period\": 117}, {\"closing\": null, \"current_portion\": 364213.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 0.0, \"period\": 118}, {\"closing\": null, \"current_portion\": 183012.5, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 0.0, \"period\": 119}, {\"closing\": null, \"current_portion\": 0.0, \"date_ad\": null, \"date_bs_approx\": null, \"non_current_portion\": 0.0, \"period\": 120}]}','2026-08-29 14:24:26',1);
/*!40000 ALTER TABLE `hub_snapshot` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `industry_default`
--

DROP TABLE IF EXISTS `industry_default`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `industry_default` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` varchar(100) NOT NULL,
  `category` text,
  `asset_turnover` double DEFAULT NULL,
  `util_ramp` text NOT NULL,
  `cost_pct` text NOT NULL,
  `repairs_pct` double DEFAULT NULL,
  `wc_days` text NOT NULL,
  `tax_rate` double DEFAULT NULL,
  `hol_years` double DEFAULT NULL,
  `hol_rate` double DEFAULT NULL,
  `impl_months` double DEFAULT NULL,
  `life_years` double DEFAULT NULL,
  `tenure_years` double DEFAULT NULL,
  `moratorium_years` double DEFAULT NULL,
  `capex_split` text NOT NULL,
  `uom` text,
  `revenue_mode` text,
  `gearing_norm` double DEFAULT NULL,
  `note` text,
  PRIMARY KEY (`id`),
  UNIQUE KEY `name` (`name`)
) ENGINE=InnoDB AUTO_INCREMENT=65 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `industry_default`
--

LOCK TABLES `industry_default` WRITE;
/*!40000 ALTER TABLE `industry_default` DISABLE KEYS */;
INSERT INTO `industry_default` VALUES (1,'Hydropower — Run of River','Infrastructure',0.28,'[0.9, 0.92, 0.94, 0.95, 0.95]','[0, 0.03, 0.005, 0.055, 0.03, 0.005]',0.01,'[45, 0, 0, 30]',0.2,10,0,36,35,15,4,'[0.06, 0.3, 0.46, 0.02, 0.01, 0.13, 0.02]','kWh','turnover',0.7,'Revenue is contracted through the power purchase agreement, so volume risk is low and hydrology risk is high. Confirm the licence-date-linked exemption under section 11 of the Income Tax Act.'),(2,'Solar Power — Grid Connected','Infrastructure',0.22,'[0.88, 0.88, 0.87, 0.87, 0.86]','[0, 0.02, 0.005, 0.045, 0.03, 0.005]',0.008,'[45, 0, 0, 30]',0.2,10,0,18,25,12,2,'[0.08, 0.1, 0.65, 0.02, 0.01, 0.12, 0.02]','kWh','turnover',0.7,'Panel degradation is built into the falling utilisation profile. Evacuation capacity is the usual constraint.'),(3,'Cement Manufacturing','Manufacturing',0.85,'[0.5, 0.62, 0.72, 0.8, 0.85]','[0.46, 0.06, 0.115, 0.045, 0.045, 0.045]',0.018,'[30, 30, 20, 35]',0.2,0,0.2,24,25,12,3,'[0.081, 0.216, 0.477, 0.045, 0.018, 0.063, 0.1]','MT','capacity',0.7,'Power tariff and limestone royalty dominate the cost structure. Captive power materially changes the picture.'),(4,'Steel Rolling / Re-rolling Mill','Manufacturing',1.6,'[0.5, 0.62, 0.72, 0.8, 0.85]','[0.68, 0.035, 0.075, 0.03, 0.03, 0.03]',0.02,'[35, 25, 18, 40]',0.2,0,0.2,18,20,10,2,'[0.064, 0.16, 0.456, 0.04, 0.016, 0.064, 0.2]','MT','capacity',0.7,'Thin margin on high throughput. The billet price pass-through clause is the single most important commercial term.'),(5,'Automobile / Two-Wheeler Assembly','Manufacturing',1.3,'[0.45, 0.6, 0.72, 0.82, 0.88]','[0.66, 0.04, 0.02, 0.035, 0.045, 0.055]',0.015,'[30, 35, 30, 45]',0.2,0,0.2,24,20,10,2,'[0.08, 0.176, 0.4, 0.04, 0.032, 0.072, 0.2]','Units','capacity',0.7,'The duty differential between CKD/SKD kits and built-up imports is what creates the margin. Verify the current tariff.'),(6,'Plastic Products — PVC & HDPE Pipe','Manufacturing',1.45,'[0.5, 0.65, 0.75, 0.83, 0.88]','[0.64, 0.04, 0.055, 0.03, 0.04, 0.045]',0.02,'[45, 30, 25, 40]',0.2,0,0.2,12,20,9,1,'[0.064, 0.16, 0.44, 0.04, 0.024, 0.072, 0.2]','MT','capacity',0.7,'Resin is dollar-linked, so test the exchange rate as well as the resin price.'),(7,'Garment & Textile','Manufacturing',1.3,'[0.48, 0.62, 0.73, 0.82, 0.88]','[0.52, 0.15, 0.035, 0.045, 0.05, 0.06]',0.018,'[45, 30, 30, 35]',0.2,0,0.2,12,15,9,1,'[0.056, 0.176, 0.416, 0.032, 0.04, 0.08, 0.2]','Pieces','capacity',0.65,'Labour intensive. Export incentive and duty drawback should be quantified separately, not assumed into the margin.'),(8,'Paper & Packaging','Manufacturing',1.15,'[0.48, 0.62, 0.72, 0.8, 0.86]','[0.56, 0.06, 0.09, 0.035, 0.04, 0.045]',0.02,'[40, 30, 22, 40]',0.2,0,0.2,18,20,10,2,'[0.065934, 0.17982, 0.442557, 0.032967, 0.024975, 0.073926, 0.17982]','MT','capacity',0.7,'Waste paper sourcing and power reliability set the achievable utilisation.'),(9,'Pharmaceutical Manufacturing','Manufacturing',1.05,'[0.4, 0.58, 0.7, 0.8, 0.87]','[0.42, 0.075, 0.03, 0.055, 0.07, 0.11]',0.02,'[75, 45, 40, 45]',0.2,0,0.2,24,20,10,2,'[0.055, 0.195, 0.374, 0.031, 0.039, 0.086, 0.22]','Units','capacity',0.7,'DDA and WHO-GMP approval is the critical path. Build the approval timeline into the moratorium.'),(10,'Brick & Concrete Block','Manufacturing',1,'[0.5, 0.63, 0.73, 0.8, 0.85]','[0.34, 0.13, 0.15, 0.05, 0.04, 0.045]',0.025,'[30, 25, 25, 25]',0.2,0,0.2,12,20,9,1,'[0.123, 0.211, 0.387, 0.053, 0.018, 0.088, 0.12]','Pieces','capacity',0.7,'Strongly seasonal — a six to eight month operating season is normal and should be stated in the report.'),(11,'Furniture & Wood Products','Manufacturing',1.35,'[0.45, 0.6, 0.72, 0.8, 0.86]','[0.54, 0.12, 0.03, 0.04, 0.05, 0.06]',0.02,'[40, 35, 35, 35]',0.2,0,0.2,12,15,8,1,'[0.056, 0.16, 0.424, 0.04, 0.04, 0.08, 0.2]','Pieces','capacity',0.65,'Evidence the legality and seasoning capacity of the timber supply; lenders increasingly ask.'),(12,'Agro Processing — Rice / Flour Mill','Agro',1.85,'[0.5, 0.65, 0.75, 0.83, 0.88]','[0.74, 0.03, 0.04, 0.025, 0.03, 0.035]',0.018,'[25, 35, 20, 25]',0.2,0,0.2,12,20,9,1,'[0.068068, 0.167167, 0.395395, 0.038038, 0.015015, 0.076076, 0.24024]','MT','capacity',0.65,'Paddy procurement is seasonal, so peak working capital sits far above the annual average.'),(13,'Dairy Processing','Agro',1.7,'[0.5, 0.65, 0.75, 0.83, 0.88]','[0.7, 0.04, 0.045, 0.03, 0.035, 0.045]',0.02,'[20, 8, 10, 20]',0.2,0,0.2,15,20,9,1,'[0.066, 0.197, 0.418, 0.049, 0.016, 0.074, 0.18]','Litres','capacity',0.7,'The chilling centre network and cold chain, not the plant, determine effective capacity.'),(14,'Poultry — Layer / Broiler','Agro',1.55,'[0.55, 0.7, 0.8, 0.85, 0.88]','[0.66, 0.055, 0.035, 0.045, 0.035, 0.035]',0.022,'[15, 25, 12, 25]',0.2,0,0.2,12,12,8,1,'[0.092, 0.252, 0.353, 0.042, 0.017, 0.084, 0.16]','Birds / Eggs','capacity',0.65,'Feed is roughly two thirds of total cost. Biosecurity failure is the risk that ends projects of this type.'),(15,'Animal Feed Industry','Agro',1.9,'[0.5, 0.65, 0.76, 0.83, 0.88]','[0.74, 0.03, 0.04, 0.025, 0.03, 0.04]',0.018,'[30, 30, 15, 30]',0.2,0,0.2,12,20,9,1,'[0.061, 0.167, 0.403, 0.038, 0.015, 0.076, 0.24]','MT','capacity',0.7,'Maize and soya price volatility drives the margin more than anything management controls.'),(16,'Fish Farming / Aquaculture','Agro',1.05,'[0.45, 0.62, 0.75, 0.83, 0.88]','[0.58, 0.08, 0.055, 0.045, 0.035, 0.04]',0.022,'[15, 20, 20, 20]',0.2,0,0.2,15,15,9,1,'[0.172, 0.224, 0.31, 0.043, 0.017, 0.094, 0.14]','MT','capacity',0.65,'Pond construction cost and a reliable water source decide viability before any operating assumption matters.'),(17,'Tea / Coffee Processing','Agro',1.15,'[0.45, 0.6, 0.72, 0.82, 0.88]','[0.6, 0.07, 0.05, 0.04, 0.04, 0.055]',0.02,'[50, 30, 40, 30]',0.2,0,0.2,18,25,10,2,'[0.112, 0.192, 0.352, 0.04, 0.016, 0.088, 0.2]','Kg','capacity',0.7,'Annex the green leaf supply agreements; without them the volume assumption is unsupported.'),(18,'Herbal & Ayurvedic Products','Agro',1.1,'[0.4, 0.58, 0.7, 0.8, 0.87]','[0.48, 0.08, 0.035, 0.05, 0.06, 0.09]',0.02,'[60, 45, 40, 40]',0.2,0,0.2,15,20,9,1,'[0.062, 0.187, 0.374, 0.039, 0.031, 0.087, 0.22]','Kg','capacity',0.7,'Collection permits and traceability for non-timber forest produce are a licensing matter, not a formality.'),(19,'Cold Storage','Agro',0.55,'[0.45, 0.6, 0.72, 0.82, 0.88]','[0.06, 0.08, 0.22, 0.06, 0.06, 0.04]',0.02,'[30, 0, 0, 25]',0.2,0,0.2,15,25,12,2,'[0.094, 0.301, 0.414, 0.028, 0.019, 0.084, 0.06]','MT capacity','turnover',0.7,'A tolling business. Power tariff and outage risk dominate; a backup generation plan is essential.'),(20,'Water Bottling & Beverage','Manufacturing',1.2,'[0.45, 0.6, 0.72, 0.82, 0.88]','[0.42, 0.06, 0.07, 0.05, 0.05, 0.11]',0.02,'[30, 25, 15, 30]',0.2,0,0.2,12,20,9,1,'[0.077, 0.189, 0.43, 0.06, 0.017, 0.087, 0.14]','Litres','capacity',0.7,'Distribution reach and empty bottle logistics are what the selling cost line is really buying.'),(21,'Noodles, Snacks & Food Processing','Manufacturing',1.45,'[0.48, 0.62, 0.74, 0.83, 0.88]','[0.58, 0.055, 0.055, 0.04, 0.045, 0.09]',0.02,'[30, 25, 20, 35]',0.2,0,0.2,12,20,9,1,'[0.067, 0.185, 0.437, 0.05, 0.017, 0.084, 0.16]','Cartons','capacity',0.7,'Model the primary and secondary trade margin explicitly; it is usually understated in promoter projections.'),(22,'Hotel & Resort','Tourism',0.42,'[0.35, 0.48, 0.58, 0.65, 0.7]','[0.16, 0.13, 0.055, 0.07, 0.075, 0.06]',0.02,'[30, 12, 5, 30]',0.2,0,0.2,30,30,14,3,'[0.154, 0.403, 0.23, 0.029, 0.077, 0.067, 0.04]','Room nights','capacity',0.65,'Occupancy ramp, average room rate and seasonality are the three assumptions to sensitise. Gestation is long.'),(23,'Restaurant & Food Chain','Service',1.6,'[0.55, 0.7, 0.8, 0.85, 0.88]','[0.34, 0.14, 0.045, 0.075, 0.06, 0.055]',0.03,'[5, 8, 3, 25]',0.25,0,0.25,9,10,7,1,'[0.019, 0.282, 0.32, 0.028, 0.15, 0.141, 0.06]','Covers','capacity',0.55,'If the premises are leased, rent must be added to overhead. Fit-out has a short life and needs early replacement.'),(24,'Hospital / Nursing Home','Health',0.6,'[0.35, 0.5, 0.62, 0.72, 0.8]','[0.22, 0.23, 0.04, 0.075, 0.075, 0.035]',0.025,'[45, 30, 10, 45]',0.2,0,0.2,30,30,12,2,'[0.11988, 0.312687, 0.34965, 0.027972, 0.054945, 0.054945, 0.07992]','Beds','capacity',0.65,'Consultant cost sits in direct labour. Insurance and scheme receivables stretch the collection cycle.'),(25,'School / College','Education',0.55,'[0.4, 0.55, 0.68, 0.78, 0.85]','[0.04, 0.32, 0.03, 0.08, 0.09, 0.045]',0.02,'[30, 0, 0, 20]',0.2,0,0.2,24,30,12,2,'[0.173, 0.442, 0.154, 0.038, 0.086, 0.067, 0.04]','Students','capacity',0.65,'Affiliation approval and the fee realisation cycle are the two items that decide the first three years.'),(26,'IT Services / Software / BPO','Technology',1.15,'[0.45, 0.62, 0.75, 0.85, 0.9]','[0.06, 0.42, 0.02, 0.07, 0.09, 0.06]',0.025,'[60, 0, 0, 30]',0.25,0,0.25,6,10,7,1,'[0.0, 0.082, 0.344, 0.016, 0.18, 0.198, 0.18]','Billable hours','turnover',0.6,'People cost dominates everything. Export of services may attract a concession — verify before applying it.'),(27,'Transport & Logistics','Service',0.95,'[0.5, 0.65, 0.75, 0.82, 0.88]','[0.1, 0.12, 0.31, 0.06, 0.055, 0.035]',0.035,'[40, 5, 0, 25]',0.25,0,0.25,9,12,8,1,'[0.046, 0.092, 0.055, 0.626, 0.028, 0.073, 0.08]','Trips / MT-km','turnover',0.7,'The fleet is the asset base. Fuel and tyres sit in the power and fuel line, and both move with the oil price.'),(28,'Trading / Wholesale Distribution','Trade',2.6,'[0.6, 0.72, 0.82, 0.88, 0.92]','[0.845, 0.02, 0.008, 0.012, 0.03, 0.035]',0.01,'[45, 40, 0, 30]',0.25,0,0.25,6,10,6,1,'[0.018, 0.072, 0.027, 0.063, 0.036, 0.234, 0.55]','Turnover','turnover',0.5,'Most of the outlay is working capital, not fixed assets. This should be financed by a limit, not a term loan.'),(29,'Retail / Departmental Store','Trade',2.1,'[0.55, 0.7, 0.8, 0.86, 0.9]','[0.795, 0.045, 0.02, 0.025, 0.035, 0.04]',0.02,'[5, 55, 0, 40]',0.25,0,0.25,9,12,7,1,'[0.028, 0.121, 0.055, 0.028, 0.099, 0.219, 0.45]','Turnover','turnover',0.5,'Shrinkage and dead stock provision must be layered onto the cost of goods, or the margin is overstated.'),(30,'Real Estate / Housing Development','Real Estate',0.7,'[0.2, 0.45, 0.7, 0.85, 0.9]','[0.62, 0.03, 0.01, 0.04, 0.045, 0.055]',0.008,'[60, 120, 90, 45]',0.25,0,0.25,30,10,8,2,'[0.306, 0.396, 0.036, 0.018, 0.027, 0.117, 0.1]','Sq. ft.','capacity',0.55,'Revenue recognition and the treatment of booking advances need explicit disclosure in the notes.'),(31,'Telecommunications / ISP','Technology',0.7,'[0.3, 0.48, 0.62, 0.74, 0.82]','[0.1, 0.11, 0.075, 0.09, 0.07, 0.085]',0.03,'[35, 0, 0, 30]',0.25,0,0.25,18,15,10,2,'[0.028, 0.093, 0.616, 0.023, 0.028, 0.112, 0.1]','Connections','turnover',0.65,'Network build is front-loaded and subscriber acquisition cost is recovered over years, so the receivable and capex cycle both need close attention.'),(32,'Other / Custom','Custom',1.2,'[0.5, 0.65, 0.75, 0.82, 0.88]','[0.55, 0.08, 0.045, 0.04, 0.05, 0.055]',0.02,'[40, 30, 25, 35]',0.25,0,0.25,12,15,9,1,'[0.07, 0.18, 0.43, 0.045, 0.03, 0.075, 0.17]','Units','turnover',0.65,'A neutral starting point. Every parameter here should be replaced with something specific to the project.');
/*!40000 ALTER TABLE `industry_default` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `invoice`
--

DROP TABLE IF EXISTS `invoice`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `invoice` (
  `id` int NOT NULL AUTO_INCREMENT,
  `firm_id` int NOT NULL,
  `client_id` int NOT NULL,
  `invoice_no` varchar(100) NOT NULL,
  `invoice_date` text NOT NULL,
  `due_date` text,
  `status` varchar(100) NOT NULL DEFAULT 'draft',
  `subtotal` double NOT NULL DEFAULT '0',
  `vat_rate` double NOT NULL DEFAULT '0',
  `vat_amount` double NOT NULL DEFAULT '0',
  `total` double NOT NULL DEFAULT '0',
  `paid_amount` double NOT NULL DEFAULT '0',
  `paid_date` text,
  `notes` text,
  `created_by` int DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `firm_id` (`firm_id`,`invoice_no`),
  KEY `created_by` (`created_by`),
  KEY `ix_invoice_client` (`client_id`,`status`),
  CONSTRAINT `invoice_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE,
  CONSTRAINT `invoice_ibfk_2` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `invoice_ibfk_3` FOREIGN KEY (`created_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `invoice`
--

LOCK TABLES `invoice` WRITE;
/*!40000 ALTER TABLE `invoice` DISABLE KEYS */;
INSERT INTO `invoice` VALUES (1,1,2,'INV-0001','2026-08-20',NULL,'paid',50000,0,0,50000,50000,'2026-08-20','',1,'2026-08-20 16:18:10'),(2,1,5,'INV-0002','2026-08-24',NULL,'draft',180000,0.13,23400,203400,0,NULL,NULL,1,'2026-08-24 15:18:21');
/*!40000 ALTER TABLE `invoice` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `invoice_line`
--

DROP TABLE IF EXISTS `invoice_line`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `invoice_line` (
  `id` int NOT NULL AUTO_INCREMENT,
  `invoice_id` int NOT NULL,
  `engagement_id` int DEFAULT NULL,
  `description` text NOT NULL,
  `hours` double DEFAULT NULL,
  `rate` double DEFAULT NULL,
  `amount` double NOT NULL,
  PRIMARY KEY (`id`),
  KEY `engagement_id` (`engagement_id`),
  KEY `ix_invoice_line_invoice` (`invoice_id`),
  CONSTRAINT `invoice_line_ibfk_1` FOREIGN KEY (`invoice_id`) REFERENCES `invoice` (`id`) ON DELETE CASCADE,
  CONSTRAINT `invoice_line_ibfk_2` FOREIGN KEY (`engagement_id`) REFERENCES `engagement` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `invoice_line`
--

LOCK TABLES `invoice_line` WRITE;
/*!40000 ALTER TABLE `invoice_line` DISABLE KEYS */;
INSERT INTO `invoice_line` VALUES (1,1,NULL,'Audit',NULL,NULL,50000),(2,2,NULL,'Statutory audit fees FY 2083-84',NULL,NULL,150000),(3,2,NULL,'Tax advisory retainer',10,3000,30000);
/*!40000 ALTER TABLE `invoice_line` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ipo_checklist_item`
--

DROP TABLE IF EXISTS `ipo_checklist_item`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ipo_checklist_item` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `area` varchar(100) NOT NULL,
  `criterion` text NOT NULL,
  `status` varchar(100) NOT NULL DEFAULT 'pending',
  `threshold_value` text,
  `actual_value` text,
  `evidence` text,
  `remark` text,
  `created_by` int DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` text,
  PRIMARY KEY (`id`),
  KEY `created_by` (`created_by`),
  KEY `ix_ipo_checklist_client` (`client_id`,`area`),
  CONSTRAINT `ipo_checklist_item_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `ipo_checklist_item_ibfk_2` FOREIGN KEY (`created_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ipo_checklist_item`
--

LOCK TABLES `ipo_checklist_item` WRITE;
/*!40000 ALTER TABLE `ipo_checklist_item` DISABLE KEYS */;
/*!40000 ALTER TABLE `ipo_checklist_item` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ipo_entity_profile`
--

DROP TABLE IF EXISTS `ipo_entity_profile`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ipo_entity_profile` (
  `client_id` int NOT NULL,
  `target_listing_date` text,
  `face_value` double DEFAULT '100',
  `proposed_issue_size` double DEFAULT NULL,
  `proposed_price_per_share` double DEFAULT NULL,
  `pricing_method` text,
  `lead_manager` text,
  `notes` text,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`client_id`),
  CONSTRAINT `ipo_entity_profile_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ipo_entity_profile`
--

LOCK TABLES `ipo_entity_profile` WRITE;
/*!40000 ALTER TABLE `ipo_entity_profile` DISABLE KEYS */;
/*!40000 ALTER TABLE `ipo_entity_profile` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ipo_peer`
--

DROP TABLE IF EXISTS `ipo_peer`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ipo_peer` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `peer_name` text NOT NULL,
  `listed` int NOT NULL DEFAULT '1',
  `market_price` double DEFAULT NULL,
  `eps` double DEFAULT NULL,
  `book_value_per_share` double DEFAULT NULL,
  `roe_pct` double DEFAULT NULL,
  `notes` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_ipo_peer_client` (`client_id`),
  CONSTRAINT `ipo_peer_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ipo_peer`
--

LOCK TABLES `ipo_peer` WRITE;
/*!40000 ALTER TABLE `ipo_peer` DISABLE KEYS */;
/*!40000 ALTER TABLE `ipo_peer` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ipo_pricing_scenario`
--

DROP TABLE IF EXISTS `ipo_pricing_scenario`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ipo_pricing_scenario` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `label` text NOT NULL,
  `face_value` double NOT NULL DEFAULT '100',
  `proposed_price` double NOT NULL DEFAULT '0',
  `valuation_per_share` double DEFAULT NULL,
  `subject_eps` double DEFAULT NULL,
  `notes` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_ipo_pricing_client` (`client_id`),
  CONSTRAINT `ipo_pricing_scenario_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ipo_pricing_scenario`
--

LOCK TABLES `ipo_pricing_scenario` WRITE;
/*!40000 ALTER TABLE `ipo_pricing_scenario` DISABLE KEYS */;
/*!40000 ALTER TABLE `ipo_pricing_scenario` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ipo_restatement_line`
--

DROP TABLE IF EXISTS `ipo_restatement_line`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ipo_restatement_line` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `fy_label` varchar(100) NOT NULL,
  `account` text NOT NULL,
  `previously_reported` double NOT NULL DEFAULT '0',
  `restated` double NOT NULL DEFAULT '0',
  `reason` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_ipo_restate_client` (`client_id`,`fy_label`),
  CONSTRAINT `ipo_restatement_line_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ipo_restatement_line`
--

LOCK TABLES `ipo_restatement_line` WRITE;
/*!40000 ALTER TABLE `ipo_restatement_line` DISABLE KEYS */;
/*!40000 ALTER TABLE `ipo_restatement_line` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ipo_risk_factor`
--

DROP TABLE IF EXISTS `ipo_risk_factor`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ipo_risk_factor` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `category` text,
  `description` text NOT NULL,
  `mitigation` text,
  `severity` varchar(100) NOT NULL DEFAULT 'Medium',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_ipo_risk_client` (`client_id`),
  CONSTRAINT `ipo_risk_factor_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ipo_risk_factor`
--

LOCK TABLES `ipo_risk_factor` WRITE;
/*!40000 ALTER TABLE `ipo_risk_factor` DISABLE KEYS */;
/*!40000 ALTER TABLE `ipo_risk_factor` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ipo_working_capital_projection`
--

DROP TABLE IF EXISTS `ipo_working_capital_projection`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ipo_working_capital_projection` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `period_label` text NOT NULL,
  `projected_requirement` double NOT NULL DEFAULT '0',
  `available_from_operations` double NOT NULL DEFAULT '0',
  `ipo_proceeds_allocated` double NOT NULL DEFAULT '0',
  `notes` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_ipo_wc_client` (`client_id`),
  CONSTRAINT `ipo_working_capital_projection_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ipo_working_capital_projection`
--

LOCK TABLES `ipo_working_capital_projection` WRITE;
/*!40000 ALTER TABLE `ipo_working_capital_projection` DISABLE KEYS */;
/*!40000 ALTER TABLE `ipo_working_capital_projection` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `ipo_working_paper`
--

DROP TABLE IF EXISTS `ipo_working_paper`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `ipo_working_paper` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `ref` text NOT NULL,
  `title` text,
  `content` text,
  `prepared_by` int DEFAULT NULL,
  `prepared_at` text,
  `reviewed_by` int DEFAULT NULL,
  `reviewed_at` text,
  `review_status` varchar(100) NOT NULL DEFAULT 'open',
  `review_comment` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `prepared_by` (`prepared_by`),
  KEY `reviewed_by` (`reviewed_by`),
  KEY `ix_ipo_wp_client` (`client_id`),
  CONSTRAINT `ipo_working_paper_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `ipo_working_paper_ibfk_2` FOREIGN KEY (`prepared_by`) REFERENCES `app_user` (`id`),
  CONSTRAINT `ipo_working_paper_ibfk_3` FOREIGN KEY (`reviewed_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `ipo_working_paper`
--

LOCK TABLES `ipo_working_paper` WRITE;
/*!40000 ALTER TABLE `ipo_working_paper` DISABLE KEYS */;
/*!40000 ALTER TABLE `ipo_working_paper` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `job_application`
--

DROP TABLE IF EXISTS `job_application`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `job_application` (
  `id` int NOT NULL AUTO_INCREMENT,
  `job_id` int NOT NULL,
  `name` text NOT NULL,
  `email` text NOT NULL,
  `phone` text,
  `address` text,
  `cv_path` text,
  `cv_filename` text,
  `cover_letter` text,
  `education` text,
  `experience` text,
  `portfolio_url` text,
  `consent` int NOT NULL DEFAULT '0',
  `stage` varchar(100) NOT NULL DEFAULT 'new',
  `assigned_recruiter` int DEFAULT NULL,
  `internal_notes` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` text,
  PRIMARY KEY (`id`),
  KEY `assigned_recruiter` (`assigned_recruiter`),
  KEY `ix_job_application_job` (`job_id`,`stage`),
  CONSTRAINT `job_application_ibfk_1` FOREIGN KEY (`job_id`) REFERENCES `job_posting` (`id`) ON DELETE CASCADE,
  CONSTRAINT `job_application_ibfk_2` FOREIGN KEY (`assigned_recruiter`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `job_application`
--

LOCK TABLES `job_application` WRITE;
/*!40000 ALTER TABLE `job_application` DISABLE KEYS */;
/*!40000 ALTER TABLE `job_application` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `job_position`
--

DROP TABLE IF EXISTS `job_position`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `job_position` (
  `id` int NOT NULL AUTO_INCREMENT,
  `firm_id` int NOT NULL,
  `name` varchar(255) NOT NULL,
  `hierarchy_level` int NOT NULL DEFAULT '0',
  `is_builtin` int NOT NULL DEFAULT '0',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `firm_id` (`firm_id`,`name`),
  CONSTRAINT `job_position_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=19 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `job_position`
--

LOCK TABLES `job_position` WRITE;
/*!40000 ALTER TABLE `job_position` DISABLE KEYS */;
INSERT INTO `job_position` VALUES (1,1,'Managing Partner',0,1,'2026-08-31 22:14:30'),(2,1,'Partner',1,1,'2026-08-31 22:14:30'),(3,1,'Director',2,1,'2026-08-31 22:14:30'),(4,1,'Manager',3,1,'2026-08-31 22:14:30'),(5,1,'Assistant Manager',4,1,'2026-08-31 22:14:30'),(6,1,'Senior',5,1,'2026-08-31 22:14:30'),(7,1,'Associate',6,1,'2026-08-31 22:14:30'),(8,1,'Assistant',7,1,'2026-08-31 22:14:30'),(9,1,'Intern',8,1,'2026-08-31 22:14:30'),(10,2,'Managing Partner',0,1,'2026-08-31 22:14:30'),(11,2,'Partner',1,1,'2026-08-31 22:14:30'),(12,2,'Director',2,1,'2026-08-31 22:14:30'),(13,2,'Manager',3,1,'2026-08-31 22:14:30'),(14,2,'Assistant Manager',4,1,'2026-08-31 22:14:30'),(15,2,'Senior',5,1,'2026-08-31 22:14:30'),(16,2,'Associate',6,1,'2026-08-31 22:14:30'),(17,2,'Assistant',7,1,'2026-08-31 22:14:30'),(18,2,'Intern',8,1,'2026-08-31 22:14:30');
/*!40000 ALTER TABLE `job_position` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `job_posting`
--

DROP TABLE IF EXISTS `job_posting`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `job_posting` (
  `id` int NOT NULL AUTO_INCREMENT,
  `firm_id` int NOT NULL,
  `slug` varchar(100) NOT NULL,
  `title` text NOT NULL,
  `department` text,
  `location` text,
  `employment_type` varchar(100) NOT NULL DEFAULT 'full_time',
  `salary_range` text,
  `experience_required` text,
  `education_required` text,
  `skills` text,
  `description_html` text,
  `responsibilities_html` text,
  `requirements_html` text,
  `deadline` text,
  `is_published` int NOT NULL DEFAULT '0',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` text,
  PRIMARY KEY (`id`),
  UNIQUE KEY `firm_id` (`firm_id`,`slug`),
  KEY `ix_job_posting_firm` (`firm_id`,`is_published`),
  CONSTRAINT `job_posting_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `job_posting`
--

LOCK TABLES `job_posting` WRITE;
/*!40000 ALTER TABLE `job_posting` DISABLE KEYS */;
/*!40000 ALTER TABLE `job_posting` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `job_queue`
--

DROP TABLE IF EXISTS `job_queue`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `job_queue` (
  `id` int NOT NULL AUTO_INCREMENT,
  `job_type` text NOT NULL,
  `payload` text,
  `run_after` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `attempts` int NOT NULL DEFAULT '0',
  `status` varchar(100) NOT NULL DEFAULT 'queued',
  `last_error` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `finished_at` text,
  PRIMARY KEY (`id`),
  KEY `ix_job_pick` (`status`,`run_after`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `job_queue`
--

LOCK TABLES `job_queue` WRITE;
/*!40000 ALTER TABLE `job_queue` DISABLE KEYS */;
/*!40000 ALTER TABLE `job_queue` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `lead`
--

DROP TABLE IF EXISTS `lead`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `lead` (
  `id` int NOT NULL AUTO_INCREMENT,
  `name` text,
  `email` text,
  `phone` text,
  `message` text,
  `source_post_id` int DEFAULT NULL,
  `utm_source` text,
  `status` varchar(100) NOT NULL DEFAULT 'new',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `subject` text,
  `service_id` int DEFAULT NULL,
  `assigned_to` int DEFAULT NULL,
  `follow_up_date` text,
  `notes` text,
  `client_id` int DEFAULT NULL,
  `firm_id` int DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `source_post_id` (`source_post_id`),
  KEY `service_id` (`service_id`),
  KEY `assigned_to` (`assigned_to`),
  KEY `client_id` (`client_id`),
  KEY `firm_id` (`firm_id`),
  CONSTRAINT `lead_ibfk_1` FOREIGN KEY (`source_post_id`) REFERENCES `blog_post` (`id`),
  CONSTRAINT `lead_ibfk_2` FOREIGN KEY (`service_id`) REFERENCES `service` (`id`) ON DELETE SET NULL,
  CONSTRAINT `lead_ibfk_3` FOREIGN KEY (`assigned_to`) REFERENCES `app_user` (`id`),
  CONSTRAINT `lead_ibfk_4` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE SET NULL,
  CONSTRAINT `lead_ibfk_5` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `lead`
--

LOCK TABLES `lead` WRITE;
/*!40000 ALTER TABLE `lead` DISABLE KEYS */;
INSERT INTO `lead` VALUES (1,'Test User','test@example.com','9800000000','Interested in the desk.',NULL,'landing_signup','contacted','2026-08-19 17:17:15',NULL,NULL,NULL,NULL,NULL,NULL,1),(2,'NISHANT MARASINI','nishantmarasini@gmail.com','+9779843244288','hello',NULL,'landing_signup','contacted','2026-08-19 17:19:22',NULL,NULL,NULL,NULL,NULL,NULL,1),(3,'Bikash','nishantmarasini@gmail.com','9812345678','To try',NULL,'landing_signup','new','2026-08-22 04:53:33',NULL,NULL,NULL,NULL,NULL,NULL,1);
/*!40000 ALTER TABLE `lead` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `media_asset`
--

DROP TABLE IF EXISTS `media_asset`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `media_asset` (
  `id` int NOT NULL AUTO_INCREMENT,
  `firm_id` int NOT NULL,
  `filename` text NOT NULL,
  `original_filename` text,
  `mime_type` text,
  `file_size` int DEFAULT NULL,
  `uploaded_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `uploaded_by` int DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `uploaded_by` (`uploaded_by`),
  KEY `ix_media_asset_firm` (`firm_id`,`uploaded_at` DESC),
  CONSTRAINT `media_asset_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE,
  CONSTRAINT `media_asset_ibfk_2` FOREIGN KEY (`uploaded_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `media_asset`
--

LOCK TABLES `media_asset` WRITE;
/*!40000 ALTER TABLE `media_asset` DISABLE KEYS */;
INSERT INTO `media_asset` VALUES (1,1,'7017f8995141cf746612d858a0e07f61.jpg','IMG_3513.jpg','image/jpeg',156733,'2026-08-29 12:57:33',1),(2,1,'cbf1a908a2888ebdab5b972ec00143b7.png','CA-automator-logo.png','image/png',903011,'2026-08-30 01:05:16',1),(3,1,'b6f72e3fd1fa1bde14de5f51b46cdac8.png','for landing page.png','image/png',2472094,'2026-08-30 01:06:10',1),(4,1,'fbacbd4693afcc66689e59f83455101a.jpg','IMG_3513.jpg','image/jpeg',156733,'2026-08-30 01:07:52',1);
/*!40000 ALTER TABLE `media_asset` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `nav_menu_item`
--

DROP TABLE IF EXISTS `nav_menu_item`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `nav_menu_item` (
  `id` int NOT NULL AUTO_INCREMENT,
  `firm_id` int NOT NULL,
  `section` varchar(100) NOT NULL,
  `label` text NOT NULL,
  `url` text NOT NULL,
  `sort_order` int NOT NULL DEFAULT '0',
  `is_visible` int NOT NULL DEFAULT '1',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_nav_menu_section` (`firm_id`,`section`,`sort_order`),
  CONSTRAINT `nav_menu_item_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `nav_menu_item`
--

LOCK TABLES `nav_menu_item` WRITE;
/*!40000 ALTER TABLE `nav_menu_item` DISABLE KEYS */;
INSERT INTO `nav_menu_item` VALUES (1,1,'primary','Home','#platform',0,1,'2026-08-29 13:54:52','2026-08-29 13:54:52'),(2,1,'primary','About','#about',1,1,'2026-08-29 13:54:52','2026-08-29 13:54:52'),(3,1,'primary','Services','#services',2,1,'2026-08-29 13:54:52','2026-08-29 13:54:52'),(4,1,'primary','CA-Automator','#modules',3,1,'2026-08-29 13:54:52','2026-08-29 13:54:52'),(5,1,'primary','Insights','/blog',4,1,'2026-08-29 13:54:52','2026-08-29 13:54:52'),(6,1,'primary','Careers','/careers',5,1,'2026-08-29 13:54:52','2026-08-29 13:54:52'),(7,1,'primary','Downloads','/downloads',6,1,'2026-08-29 13:54:52','2026-08-29 13:54:52'),(8,1,'primary','Contact','#contact',7,1,'2026-08-29 13:54:52','2026-08-29 13:54:52'),(9,1,'footer','Insights','/blog',0,1,'2026-08-29 13:54:52','2026-08-29 13:54:52'),(10,1,'footer','Careers','/careers',1,1,'2026-08-29 13:54:52','2026-08-29 13:54:52'),(11,1,'footer','Downloads','/downloads',2,1,'2026-08-29 13:54:52','2026-08-29 13:54:52'),(12,1,'footer','Contact','#contact',3,1,'2026-08-29 13:54:52','2026-08-29 13:54:52');
/*!40000 ALTER TABLE `nav_menu_item` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `notification`
--

DROP TABLE IF EXISTS `notification`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `notification` (
  `id` int NOT NULL AUTO_INCREMENT,
  `user_id` int DEFAULT NULL,
  `kind` text NOT NULL,
  `title` text NOT NULL,
  `body` text,
  `link` text,
  `read_at` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `user_id` (`user_id`),
  CONSTRAINT `notification_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `app_user` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `notification`
--

LOCK TABLES `notification` WRITE;
/*!40000 ALTER TABLE `notification` DISABLE KEYS */;
INSERT INTO `notification` VALUES (1,2,'rate_remark_resolved','Your rate remark was resolved','thanks','#/rates',NULL,'2026-08-22 05:19:08');
/*!40000 ALTER TABLE `notification` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `oauth_provider_key`
--

DROP TABLE IF EXISTS `oauth_provider_key`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `oauth_provider_key` (
  `id` int NOT NULL AUTO_INCREMENT,
  `firm_id` int NOT NULL,
  `provider` varchar(100) NOT NULL,
  `client_id` text NOT NULL,
  `client_secret_enc` text NOT NULL,
  `is_active` int NOT NULL DEFAULT '1',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_by` int DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `firm_id` (`firm_id`,`provider`),
  KEY `updated_by` (`updated_by`),
  CONSTRAINT `oauth_provider_key_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE,
  CONSTRAINT `oauth_provider_key_ibfk_2` FOREIGN KEY (`updated_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `oauth_provider_key`
--

LOCK TABLES `oauth_provider_key` WRITE;
/*!40000 ALTER TABLE `oauth_provider_key` DISABLE KEYS */;
/*!40000 ALTER TABLE `oauth_provider_key` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `oauth_state`
--

DROP TABLE IF EXISTS `oauth_state`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `oauth_state` (
  `state` varchar(100) NOT NULL,
  `provider` text NOT NULL,
  `firm_id` int NOT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`state`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `oauth_state`
--

LOCK TABLES `oauth_state` WRITE;
/*!40000 ALTER TABLE `oauth_state` DISABLE KEYS */;
/*!40000 ALTER TABLE `oauth_state` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `obligation_type`
--

DROP TABLE IF EXISTS `obligation_type`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `obligation_type` (
  `id` int NOT NULL AUTO_INCREMENT,
  `code` varchar(100) NOT NULL,
  `title` text NOT NULL,
  `statute` text,
  `clause` text,
  `recurrence` text,
  `due_rule` text,
  `applies_when` text,
  `last_verified_on` text,
  `verification_status` varchar(100) NOT NULL DEFAULT 'UNVERIFIED',
  PRIMARY KEY (`id`),
  UNIQUE KEY `code` (`code`)
) ENGINE=InnoDB AUTO_INCREMENT=39 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `obligation_type`
--

LOCK TABLES `obligation_type` WRITE;
/*!40000 ALTER TABLE `obligation_type` DISABLE KEYS */;
INSERT INTO `obligation_type` VALUES (1,'VAT_MONTHLY','Monthly VAT return','Value Added Tax Act 2052','Sec 18','monthly','25th of the following Nepali month','{\"vat_registered\":1}',NULL,'UNVERIFIED'),(2,'VAT_4MONTHLY','Four-monthly VAT return','Value Added Tax Act 2052','Sec 18','quarterly','25th after each four-month period','{\"vat_registered\":1}',NULL,'UNVERIFIED'),(3,'TDS_MONTHLY','Monthly TDS deposit and e-TDS return','Income Tax Act 2058','Sec 90','monthly','25th of the following Nepali month','{}',NULL,'UNVERIFIED'),(4,'EST_RETURN','Estimated tax return (D-01)','Income Tax Act 2058','Sec 95','annual','By Poush end','{}',NULL,'UNVERIFIED'),(5,'INST_1','First tax instalment','Income Tax Act 2058','Sec 94','annual','By Poush end','{}',NULL,'UNVERIFIED'),(6,'INST_2','Second tax instalment','Income Tax Act 2058','Sec 94','annual','By Chaitra end','{}',NULL,'UNVERIFIED'),(7,'INST_3','Third tax instalment','Income Tax Act 2058','Sec 94','annual','By Ashadh end','{}',NULL,'UNVERIFIED'),(8,'INCOME_RETURN','Annual income tax return (D-03)','Income Tax Act 2058','Sec 96','annual','Within 3 months of FY end, extendable','{}',NULL,'UNVERIFIED'),(9,'OCR_AGM','Annual General Meeting','Companies Act 2063','','annual','Within 6 months of FY end','{\"entity_type\":\"pvt_ltd\"}',NULL,'UNVERIFIED'),(10,'OCR_ANNUAL','OCR annual return / compliance filing','Companies Act 2063','Sec 80','annual','Within 30 days of AGM','{\"entity_type\":\"pvt_ltd\"}',NULL,'UNVERIFIED'),(11,'SSF_MONTHLY','SSF contribution deposit','Social Security Act 2074','','monthly','Within 15 days of month end','{}',NULL,'UNVERIFIED'),(12,'STAT_AUDIT','Statutory audit and adoption at the AGM','Companies Act 2063','','annual','Within the period prescribed by the Companies Act','{}',NULL,'UNVERIFIED'),(13,'FDI_DOI_REPORT','Industry progress report and statistics to DoI','Foreign Investment and Technology Transfer Act 2075','','annual','As called for, generally annually — applies to clients with foreign investment','{}',NULL,'UNVERIFIED'),(14,'FDI_NRB_REPORT','Foreign investment statement / report to NRB','NRB Foreign Investment and Foreign Loan Management Bylaws','','annual','Annually and on each transaction — applies to clients with foreign investment','{}',NULL,'UNVERIFIED'),(15,'LABOUR_AUDIT','Labour audit and employment records','Labour Act 2074','','annual','Annually','{}',NULL,'UNVERIFIED'),(16,'FDI_CHANGE_EVENT','Change in shareholding, capital, objects or directors — OCR / DoI filing','Companies Act 2063 / FITTA 2075','','one_off','Within 30 days of the decision, generally — applies to clients with foreign investment','{}',NULL,'UNVERIFIED'),(17,'FDI_DIVIDEND_EVENT','Dividend declaration, dividend tax deposit and repatriation application','Income Tax Act 2058 / FITTA 2075','','one_off','On declaration; tax within the TDS cycle — applies to clients with foreign investment','{}',NULL,'UNVERIFIED'),(18,'FDI_LICENCE_RENEWAL','Renewal of sector licence and industry registration','Sector-specific','','one_off','As per the licence terms','{}',NULL,'UNVERIFIED'),(19,'VAT_6MONTHLY','Six-monthly VAT return','Value Added Tax Act 2052','Sec 18','half_yearly','25th after each six-month period','{\"vat_registered\":1}',NULL,'UNVERIFIED');
/*!40000 ALTER TABLE `obligation_type` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `org_branch`
--

DROP TABLE IF EXISTS `org_branch`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `org_branch` (
  `id` int NOT NULL AUTO_INCREMENT,
  `firm_id` int NOT NULL,
  `name` text NOT NULL,
  `address` text,
  `is_head_office` int NOT NULL DEFAULT '0',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_org_branch_firm` (`firm_id`),
  CONSTRAINT `org_branch_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `org_branch`
--

LOCK TABLES `org_branch` WRITE;
/*!40000 ALTER TABLE `org_branch` DISABLE KEYS */;
/*!40000 ALTER TABLE `org_branch` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `org_department`
--

DROP TABLE IF EXISTS `org_department`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `org_department` (
  `id` int NOT NULL AUTO_INCREMENT,
  `firm_id` int NOT NULL,
  `branch_id` int DEFAULT NULL,
  `name` text NOT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `branch_id` (`branch_id`),
  KEY `ix_org_department_firm` (`firm_id`),
  CONSTRAINT `org_department_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE,
  CONSTRAINT `org_department_ibfk_2` FOREIGN KEY (`branch_id`) REFERENCES `org_branch` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `org_department`
--

LOCK TABLES `org_department` WRITE;
/*!40000 ALTER TABLE `org_department` DISABLE KEYS */;
/*!40000 ALTER TABLE `org_department` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `org_team`
--

DROP TABLE IF EXISTS `org_team`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `org_team` (
  `id` int NOT NULL AUTO_INCREMENT,
  `firm_id` int NOT NULL,
  `department_id` int DEFAULT NULL,
  `name` text NOT NULL,
  `lead_user_id` int DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `department_id` (`department_id`),
  KEY `lead_user_id` (`lead_user_id`),
  KEY `ix_org_team_firm` (`firm_id`),
  CONSTRAINT `org_team_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE,
  CONSTRAINT `org_team_ibfk_2` FOREIGN KEY (`department_id`) REFERENCES `org_department` (`id`) ON DELETE SET NULL,
  CONSTRAINT `org_team_ibfk_3` FOREIGN KEY (`lead_user_id`) REFERENCES `app_user` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `org_team`
--

LOCK TABLES `org_team` WRITE;
/*!40000 ALTER TABLE `org_team` DISABLE KEYS */;
/*!40000 ALTER TABLE `org_team` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `org_team_member`
--

DROP TABLE IF EXISTS `org_team_member`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `org_team_member` (
  `id` int NOT NULL AUTO_INCREMENT,
  `team_id` int NOT NULL,
  `user_id` int NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `team_id` (`team_id`,`user_id`),
  KEY `user_id` (`user_id`),
  CONSTRAINT `org_team_member_ibfk_1` FOREIGN KEY (`team_id`) REFERENCES `org_team` (`id`) ON DELETE CASCADE,
  CONSTRAINT `org_team_member_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `app_user` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `org_team_member`
--

LOCK TABLES `org_team_member` WRITE;
/*!40000 ALTER TABLE `org_team_member` DISABLE KEYS */;
/*!40000 ALTER TABLE `org_team_member` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `page`
--

DROP TABLE IF EXISTS `page`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `page` (
  `id` int NOT NULL AUTO_INCREMENT,
  `firm_id` int NOT NULL,
  `slug` varchar(100) NOT NULL,
  `title` text NOT NULL,
  `content_html` text,
  `meta_title` text,
  `meta_description` text,
  `is_published` int NOT NULL DEFAULT '0',
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_by` int DEFAULT NULL,
  `content_md` text,
  PRIMARY KEY (`id`),
  UNIQUE KEY `firm_id` (`firm_id`,`slug`),
  KEY `updated_by` (`updated_by`),
  CONSTRAINT `page_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE,
  CONSTRAINT `page_ibfk_2` FOREIGN KEY (`updated_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `page`
--

LOCK TABLES `page` WRITE;
/*!40000 ALTER TABLE `page` DISABLE KEYS */;
INSERT INTO `page` VALUES (1,1,'about-us','About Us','<section id=\"ca-about\">\n\n  <!-- ================================\n       INTRO\n  ================================= -->\n\n  <div class=\"about-hero\">\n\n    <div class=\"hero-bg\"></div>\n    <div class=\"hero-grid\"></div>\n\n    <div class=\"about-shell hero-inner\">\n\n      <div class=\"hero-copy\">\n\n        <div class=\"eyebrow\">\n          <i></i>\n          ABOUT CA-AUTOMATOR\n        </div>\n\n        <h1>\n          Professional expertise.\n          <span>Intelligent automation.</span>\n        </h1>\n\n        <p class=\"hero-description\">\n          CA-Automator is built to simplify professional work by bringing\n          accounting knowledge, financial discipline and intelligent\n          technology together.\n        </p>\n\n        <div class=\"hero-stats\">\n\n          <div>\n            <strong>01</strong>\n            <span>Professional<br>Expertise</span>\n          </div>\n\n          <div>\n            <strong>02</strong>\n            <span>Intelligent<br>Automation</span>\n          </div>\n\n          <div>\n            <strong>03</strong>\n            <span>Better<br>Decisions</span>\n          </div>\n\n        </div>\n\n      </div>\n\n      <div class=\"hero-side\">\n\n        <div class=\"hero-orb\"></div>\n\n        <div class=\"hero-message\">\n          <span>OUR BELIEF</span>\n\n          <p>\n            Technology should remove repetitive work,\n            not replace professional judgement.\n          </p>\n\n          <div class=\"message-line\"></div>\n\n          <small>\n            CA-AUTOMATOR\n          </small>\n        </div>\n\n      </div>\n\n    </div>\n\n    <div class=\"scroll-indicator\">\n      <span>SCROLL TO EXPLORE</span>\n      <div></div>\n    </div>\n\n  </div>\n\n\n  <!-- ================================\n       FOUNDER\n  ================================= -->\n\n  <section class=\"founder-section\">\n\n    <div class=\"about-shell founder-grid\">\n\n      <!-- PHOTO -->\n\n      <div class=\"founder-photo-area\">\n\n        <div class=\"photo-ring ring-a\"></div>\n        <div class=\"photo-ring ring-b\"></div>\n\n        <div class=\"founder-photo\">\n\n          <img\n            src=\"/assets/images/nishant-marasini.jpg\"\n            alt=\"CA Nishant Marasini — Founder of CA-Automator\"\n          >\n\n          <div class=\"photo-gradient\"></div>\n\n          <div class=\"photo-label\">\n            <span>FOUNDER</span>\n            <strong>CA Nishant Marasini</strong>\n          </div>\n\n        </div>\n\n      </div>\n\n\n      <!-- CONTENT -->\n\n      <div class=\"founder-content\">\n\n        <div class=\"eyebrow\">\n          <i></i>\n          THE FOUNDER\n        </div>\n\n        <h2>\n          Building a bridge between\n          <span>professional knowledge</span>\n          and technology.\n        </h2>\n\n        <p>\n          CA-Automator was founded by\n          <strong>CA Nishant Marasini</strong>\n          with a vision to rethink how professional work is performed\n          in an increasingly digital world.\n        </p>\n\n        <p>\n          Modern professionals spend a significant amount of time\n          dealing with repetitive processes, documentation, information\n          handling and routine workflows.\n        </p>\n\n        <p>\n          The idea behind CA-Automator is simple:\n          <strong>let technology handle repetition so professionals\n          can focus on judgement, analysis and growth.</strong>\n        </p>\n\n        <div class=\"founder-signature\">\n\n          <div class=\"signature-mark\">\n            NM\n          </div>\n\n          <div>\n            <strong>CA Nishant Marasini</strong>\n            <span>Founder & Visionary</span>\n          </div>\n\n        </div>\n\n      </div>\n\n    </div>\n\n  </section>\n\n\n  <!-- ================================\n       PHILOSOPHY\n  ================================= -->\n\n  <section class=\"philosophy-section\">\n\n    <div class=\"about-shell philosophy-inner\">\n\n      <div class=\"philosophy-title\">\n\n        <div class=\"eyebrow\">\n          <i></i>\n          OUR PHILOSOPHY\n        </div>\n\n        <h2>\n          Don\'t automate\n          <span>people.</span>\n          <br>\n          Automate the\n          <strong>work.</strong>\n        </h2>\n\n      </div>\n\n      <div class=\"philosophy-copy\">\n\n        <div class=\"big-number\">\n          01\n        </div>\n\n        <p>\n          Human judgement remains at the heart of professional services.\n          Automation exists to make that judgement more powerful.\n        </p>\n\n        <p>\n          We believe the best technology is the technology that quietly\n          removes friction from everyday work.\n        </p>\n\n      </div>\n\n    </div>\n\n  </section>\n\n\n  <!-- ================================\n       HOW WE THINK\n  ================================= -->\n\n  <section class=\"process-section\">\n\n    <div class=\"about-shell\">\n\n      <div class=\"section-header\">\n\n        <div>\n          <div class=\"eyebrow\">\n            <i></i>\n            HOW WE THINK\n          </div>\n\n          <h2>\n            From complexity\n            <span>to clarity.</span>\n          </h2>\n        </div>\n\n        <p>\n          Every workflow can be improved when information,\n          technology and professional judgement work together.\n        </p>\n\n      </div>\n\n\n      <div class=\"process-track\">\n\n        <div class=\"process-line\"></div>\n\n        <div class=\"process-step\">\n\n          <div class=\"step-number\">01</div>\n\n          <span>UNDERSTAND</span>\n\n          <h3>\n            Understand the problem.\n          </h3>\n\n          <p>\n            Start with the actual professional requirement,\n            not the technology.\n          </p>\n\n        </div>\n\n\n        <div class=\"process-step\">\n\n          <div class=\"step-number\">02</div>\n\n          <span>STRUCTURE</span>\n\n          <h3>\n            Structure the workflow.\n          </h3>\n\n          <p>\n            Convert scattered tasks into a clear,\n            repeatable process.\n          </p>\n\n        </div>\n\n\n        <div class=\"process-step\">\n\n          <div class=\"step-number\">03</div>\n\n          <span>AUTOMATE</span>\n\n          <h3>\n            Automate repetition.\n          </h3>\n\n          <p>\n            Allow technology to perform predictable,\n            repetitive activities.\n          </p>\n\n        </div>\n\n\n        <div class=\"process-step\">\n\n          <div class=\"step-number\">04</div>\n\n          <span>VERIFY</span>\n\n          <h3>\n            Keep human control.\n          </h3>\n\n          <p>\n            Professional review remains where judgement\n            actually matters.\n          </p>\n\n        </div>\n\n\n        <div class=\"process-step\">\n\n          <div class=\"step-number\">05</div>\n\n          <span>IMPROVE</span>\n\n          <h3>\n            Continuously improve.\n          </h3>\n\n          <p>\n            Better processes create better outcomes over time.\n          </p>\n\n        </div>\n\n      </div>\n\n    </div>\n\n  </section>\n\n\n  <!-- ================================\n       MISSION / VISION\n  ================================= -->\n\n  <section class=\"mission-section\">\n\n    <div class=\"about-shell mission-grid\">\n\n      <article class=\"mission-card\">\n\n        <div class=\"card-top\">\n          <span>01</span>\n          OUR MISSION\n        </div>\n\n        <div class=\"card-icon\">\n          →\n        </div>\n\n        <h2>\n          Make professional work\n          <span>simpler, smarter and more meaningful.</span>\n        </h2>\n\n        <p>\n          Our mission is to reduce repetitive effort, improve\n          operational efficiency and help professionals spend\n          more time on work that actually creates value.\n        </p>\n\n      </article>\n\n\n      <article class=\"vision-card\">\n\n        <div class=\"card-top\">\n          <span>02</span>\n          OUR VISION\n        </div>\n\n        <div class=\"card-icon\">\n          ◇\n        </div>\n\n        <h2>\n          Build the future of\n          <span>technology-enabled professional services.</span>\n        </h2>\n\n        <p>\n          We envision a world where professionals and intelligent\n          systems work together naturally to deliver faster,\n          clearer and better outcomes.\n        </p>\n\n      </article>\n\n    </div>\n\n  </section>\n\n\n  <!-- ================================\n       VALUES\n  ================================= -->\n\n  <section class=\"values-section\">\n\n    <div class=\"about-shell\">\n\n      <div class=\"section-header values-header\">\n\n        <div>\n\n          <div class=\"eyebrow\">\n            <i></i>\n            WHAT DRIVES US\n          </div>\n\n          <h2>\n            Principles behind\n            <span>every decision.</span>\n          </h2>\n\n        </div>\n\n      </div>\n\n\n      <div class=\"values-grid\">\n\n        <div class=\"value-card\">\n          <small>01</small>\n          <h3>Integrity</h3>\n          <p>\n            Trust and transparency are fundamental to everything\n            we build and deliver.\n          </p>\n        </div>\n\n        <div class=\"value-card\">\n          <small>02</small>\n          <h3>Accuracy</h3>\n          <p>\n            Professional technology must be reliable,\n            precise and accountable.\n          </p>\n        </div>\n\n        <div class=\"value-card\">\n          <small>03</small>\n          <h3>Innovation</h3>\n          <p>\n            We continuously question conventional processes\n            and look for better solutions.\n          </p>\n        </div>\n\n        <div class=\"value-card\">\n          <small>04</small>\n          <h3>Simplicity</h3>\n          <p>\n            Complex professional workflows should feel\n            easier, not harder.\n          </p>\n        </div>\n\n        <div class=\"value-card\">\n          <small>05</small>\n          <h3>Professionalism</h3>\n          <p>\n            Technology should strengthen professional\n            responsibility and judgement.\n          </p>\n        </div>\n\n        <div class=\"value-card\">\n          <small>06</small>\n          <h3>Progress</h3>\n          <p>\n            We measure innovation by the practical improvement\n            it creates.\n          </p>\n        </div>\n\n      </div>\n\n    </div>\n\n  </section>\n\n\n  <!-- ================================\n       JOURNEY\n  ================================= -->\n\n  <section class=\"journey-section\">\n\n    <div class=\"about-shell\">\n\n      <div class=\"journey-intro\">\n\n        <div class=\"eyebrow light-eyebrow\">\n          <i></i>\n          OUR JOURNEY\n        </div>\n\n        <h2>\n          An idea becomes\n          <span>a movement.</span>\n        </h2>\n\n        <p>\n          CA-Automator is an evolving journey toward a more\n          intelligent way of delivering professional work.\n        </p>\n\n      </div>\n\n\n      <div class=\"timeline\">\n\n        <div class=\"timeline-line\">\n          <div class=\"timeline-progress\"></div>\n        </div>\n\n\n        <article class=\"timeline-item\">\n\n          <div class=\"timeline-dot\">\n            01\n          </div>\n\n          <div class=\"timeline-content\">\n\n            <span>THE IDEA</span>\n\n            <h3>\n              Questioning the way\n              repetitive work is done.\n            </h3>\n\n            <p>\n              Professional processes contain countless repetitive\n              activities. We began with a simple question:\n              <strong>can technology make them better?</strong>\n            </p>\n\n          </div>\n\n        </article>\n\n\n        <article class=\"timeline-item\">\n\n          <div class=\"timeline-dot\">\n            02\n          </div>\n\n          <div class=\"timeline-content\">\n\n            <span>THE BUILD</span>\n\n            <h3>\n              Turning professional\n              knowledge into systems.\n            </h3>\n\n            <p>\n              Practical professional workflows began to be translated\n              into structured, repeatable and technology-enabled systems.\n            </p>\n\n          </div>\n\n        </article>\n\n\n        <article class=\"timeline-item\">\n\n          <div class=\"timeline-dot\">\n            03\n          </div>\n\n          <div class=\"timeline-content\">\n\n            <span>TODAY</span>\n\n            <h3>\n              Connecting expertise\n              with automation.\n            </h3>\n\n            <p>\n              CA-Automator continues to develop as an ecosystem\n              connecting professional expertise with intelligent technology.\n            </p>\n\n          </div>\n\n        </article>\n\n\n        <article class=\"timeline-item\">\n\n          <div class=\"timeline-dot\">\n            04\n          </div>\n\n          <div class=\"timeline-content\">\n\n            <span>TOMORROW</span>\n\n            <h3>\n              Building the next generation\n              of professional work.\n            </h3>\n\n            <p>\n              The ambition is to create technology that enables\n              professionals and businesses to work faster, smarter\n              and with greater clarity.\n            </p>\n\n          </div>\n\n        </article>\n\n      </div>\n\n    </div>\n\n  </section>\n\n\n  <!-- ================================\n       FINAL CTA\n  ================================= -->\n\n  <section class=\"about-final\">\n\n    <div class=\"final-glow\"></div>\n\n    <div class=\"final-content\">\n\n      <div class=\"eyebrow light-eyebrow\">\n        <i></i>\n        CA-AUTOMATOR\n      </div>\n\n      <h2>\n        Less repetition.\n        <br>\n        <span>More possibility.</span>\n      </h2>\n\n      <p>\n        Better information. Smarter processes.\n        More time for the work that matters.\n      </p>\n\n      <div class=\"final-rule\"></div>\n\n      <strong>\n        ACCOUNTING · AUTOMATION · TECHNOLOGY\n      </strong>\n\n    </div>\n\n  </section>\n\n</section>\n\n\n<style>\n\n/* =========================================================\n   GLOBAL\n========================================================= */\n\n#ca-about {\n\n  --navy: #061a35;\n  --navy-2: #0a274b;\n\n  --blue: #0878e8;\n  --blue-2: #20a8ff;\n\n  --cyan: #72d8ff;\n\n  --white: #ffffff;\n\n  --light: #f4f8fc;\n  --light-2: #eaf3fa;\n\n  --text: #13243a;\n  --muted: #617286;\n\n  --border: #dbe7f0;\n\n  width: 100%;\n  max-width: none;\n\n  margin: 0;\n  padding: 0;\n\n  overflow: hidden;\n\n  font-family:\n    Inter,\n    -apple-system,\n    BlinkMacSystemFont,\n    \"Segoe UI\",\n    sans-serif;\n\n  color: var(--text);\n\n  background: var(--white);\n\n  box-sizing: border-box;\n}\n\n#ca-about *,\n#ca-about *::before,\n#ca-about *::after {\n  box-sizing: border-box;\n}\n\n#ca-about p {\n  margin-top: 0;\n}\n\n#ca-about h1,\n#ca-about h2,\n#ca-about h3,\n#ca-about p {\n  max-width: none;\n}\n\n\n/* =========================================================\n   FULL WIDTH CONTENT SHELL\n========================================================= */\n\n.about-shell {\n\n  width: min(\n    1520px,\n    calc(100% - 100px)\n  );\n\n  margin-left: auto;\n  margin-right: auto;\n}\n\n\n/* =========================================================\n   EYEBROW\n========================================================= */\n\n.eyebrow {\n\n  display: flex;\n\n  align-items: center;\n\n  gap: 12px;\n\n  color: var(--blue);\n\n  font-size: 10px;\n\n  font-weight: 800;\n\n  letter-spacing: .22em;\n\n  text-transform: uppercase;\n\n  margin-bottom: 26px;\n}\n\n.eyebrow i {\n\n  display: block;\n\n  width: 35px;\n\n  height: 2px;\n\n  background: currentColor;\n\n}\n\n.light-eyebrow {\n  color: var(--cyan);\n}\n\n\n/* =========================================================\n   HERO\n========================================================= */\n\n.about-hero {\n\n  position: relative;\n\n  min-height: 100vh;\n\n  min-height: 760px;\n\n  display: flex;\n\n  align-items: center;\n\n  overflow: hidden;\n\n  color: white;\n\n  background:\n    linear-gradient(\n      115deg,\n      #04162f 0%,\n      #082953 55%,\n      #06396b 100%\n    );\n}\n\n.hero-bg {\n\n  position: absolute;\n\n  inset: 0;\n\n  background:\n    radial-gradient(\n      circle at 75% 45%,\n      rgba(32,168,255,.22),\n      transparent 25%\n    ),\n    radial-gradient(\n      circle at 15% 20%,\n      rgba(18,120,232,.16),\n      transparent 30%\n    );\n}\n\n.hero-grid {\n\n  position: absolute;\n\n  inset: 0;\n\n  opacity: .06;\n\n  background-image:\n    linear-gradient(\n      rgba(255,255,255,.5) 1px,\n      transparent 1px\n    ),\n    linear-gradient(\n      90deg,\n      rgba(255,255,255,.5) 1px,\n      transparent 1px\n    );\n\n  background-size: 70px 70px;\n\n  mask-image:\n    linear-gradient(\n      to right,\n      black,\n      transparent\n    );\n}\n\n.hero-inner {\n\n  position: relative;\n\n  z-index: 2;\n\n  display: grid;\n\n  grid-template-columns:\n    1.25fr\n    .75fr;\n\n  align-items: center;\n\n  gap: 100px;\n}\n\n.hero-copy {\n\n  max-width: 950px;\n}\n\n.hero-copy h1 {\n\n  margin: 0;\n\n  font-size:\n    clamp(\n      58px,\n      6.5vw,\n      104px\n    );\n\n  line-height: .94;\n\n  letter-spacing: -.065em;\n\n  font-weight: 700;\n}\n\n.hero-copy h1 span {\n\n  display: block;\n\n  color: var(--cyan);\n\n}\n\n.hero-description {\n\n  max-width: 680px;\n\n  margin:\n    42px 0 0;\n\n  color: rgba(255,255,255,.68);\n\n  font-size: 18px;\n\n  line-height: 1.8;\n}\n\n.hero-stats {\n\n  display: flex;\n\n  gap: 60px;\n\n  margin-top: 65px;\n}\n\n.hero-stats div {\n\n  display: flex;\n\n  align-items: center;\n\n  gap: 14px;\n}\n\n.hero-stats strong {\n\n  color: var(--cyan);\n\n  font-size: 12px;\n\n}\n\n.hero-stats span {\n\n  color: rgba(255,255,255,.55);\n\n  font-size: 10px;\n\n  font-weight: 700;\n\n  line-height: 1.5;\n\n  letter-spacing: .08em;\n\n  text-transform: uppercase;\n}\n\n\n/* HERO SIDE */\n\n.hero-side {\n\n  min-height: 450px;\n\n  position: relative;\n\n  display: flex;\n\n  align-items: center;\n\n  justify-content: center;\n}\n\n.hero-orb {\n\n  width: 370px;\n\n  height: 370px;\n\n  border-radius: 50%;\n\n  border: 1px solid\n    rgba(114,216,255,.22);\n\n  box-shadow:\n    0 0 0 50px\n      rgba(114,216,255,.025),\n    0 0 0 100px\n      rgba(114,216,255,.018);\n}\n\n.hero-message {\n\n  position: absolute;\n\n  width: 310px;\n\n  padding: 35px;\n\n  border:\n    1px solid\n    rgba(255,255,255,.15);\n\n  background:\n    rgba(255,255,255,.06);\n\n  backdrop-filter: blur(18px);\n\n  border-radius: 18px;\n}\n\n.hero-message span {\n\n  font-size: 9px;\n\n  font-weight: 800;\n\n  letter-spacing: .2em;\n\n  color: var(--cyan);\n}\n\n.hero-message p {\n\n  margin:\n    20px 0 28px;\n\n  color: white;\n\n  font-size: 21px;\n\n  line-height: 1.45;\n\n  letter-spacing: -.02em;\n}\n\n.message-line {\n\n  width: 40px;\n\n  height: 2px;\n\n  background: var(--cyan);\n\n  margin-bottom: 15px;\n}\n\n.hero-message small {\n\n  font-size: 8px;\n\n  letter-spacing: .25em;\n\n  color: rgba(255,255,255,.45);\n}\n\n\n/* SCROLL */\n\n.scroll-indicator {\n\n  position: absolute;\n\n  z-index: 5;\n\n  left: 50%;\n\n  bottom: 35px;\n\n  transform: translateX(-50%);\n\n  display: flex;\n\n  flex-direction: column;\n\n  align-items: center;\n\n  gap: 12px;\n\n  color: rgba(255,255,255,.45);\n\n  font-size: 8px;\n\n  letter-spacing: .2em;\n}\n\n.scroll-indicator div {\n\n  width: 1px;\n\n  height: 45px;\n\n  background:\n    linear-gradient(\n      white,\n      transparent\n    );\n\n}\n\n\n/* =========================================================\n   FOUNDER\n========================================================= */\n\n.founder-section {\n\n  min-height: 900px;\n\n  display: flex;\n\n  align-items: center;\n\n  background: white;\n}\n\n.founder-grid {\n\n  display: grid;\n\n  grid-template-columns:\n    46%\n    54%;\n\n  align-items: center;\n\n  gap: 60px;\n}\n\n\n/* PHOTO */\n\n.founder-photo-area {\n\n  min-height: 650px;\n\n  display: flex;\n\n  align-items: center;\n\n  justify-content: center;\n\n  position: relative;\n}\n\n.founder-photo {\n\n  width: min(\n    440px,\n    100%\n  );\n\n  height: 590px;\n\n  position: relative;\n\n  z-index: 3;\n\n  overflow: hidden;\n\n  border-radius: 26px;\n\n  background: var(--navy);\n\n  box-shadow:\n    0 45px 100px\n      rgba(6,26,53,.2);\n}\n\n\n/* STATIC IMAGE */\n\n.founder-photo img {\n\n  width: 100%;\n\n  height: 100%;\n\n  object-fit: cover;\n\n  object-position: center top;\n\n  display: block;\n\n  /*\n    STATIC.\n    DO NOT ADD TRANSFORM OR ANIMATION.\n  */\n}\n\n\n/* IMAGE GRADIENT */\n\n.photo-gradient {\n\n  position: absolute;\n\n  inset: 0;\n\n  background:\n    linear-gradient(\n      to bottom,\n      transparent 50%,\n      rgba(3,15,32,.78) 100%\n    );\n}\n\n.photo-label {\n\n  position: absolute;\n\n  left: 35px;\n\n  right: 35px;\n\n  bottom: 30px;\n\n  color: white;\n}\n\n.photo-label span {\n\n  display: block;\n\n  color: var(--cyan);\n\n  font-size: 9px;\n\n  font-weight: 800;\n\n  letter-spacing: .25em;\n\n  margin-bottom: 7px;\n}\n\n.photo-label strong {\n\n  font-size: 25px;\n\n  line-height: 1.1;\n}\n\n\n/* DECORATION */\n\n.photo-ring {\n\n  position: absolute;\n\n  border: 1px solid\n    rgba(8,120,232,.13);\n\n  border-radius: 50%;\n}\n\n.ring-a {\n\n  width: 520px;\n\n  height: 520px;\n}\n\n.ring-b {\n\n  width: 640px;\n\n  height: 640px;\n}\n\n\n/* FOUNDER CONTENT */\n\n.founder-content {\n\n  padding:\n    60px 0 60px 30px;\n}\n\n.founder-content h2 {\n\n  max-width: 760px;\n\n  margin: 0 0 35px;\n\n  color: var(--navy);\n\n  font-size:\n    clamp(\n      42px,\n      4.4vw,\n      68px\n    );\n\n  line-height: 1;\n\n  letter-spacing: -.06em;\n}\n\n.founder-content h2 span {\n\n  color: var(--blue);\n}\n\n.founder-content p {\n\n  max-width: 680px;\n\n  color: var(--muted);\n\n  font-size: 16px;\n\n  line-height: 1.85;\n\n  margin-bottom: 20px;\n}\n\n.founder-content p strong {\n\n  color: var(--navy);\n}\n\n\n/* SIGNATURE */\n\n.founder-signature {\n\n  display: flex;\n\n  align-items: center;\n\n  gap: 18px;\n\n  margin-top: 45px;\n\n  padding-top: 28px;\n\n  border-top: 1px solid var(--border);\n}\n\n.signature-mark {\n\n  width: 48px;\n\n  height: 48px;\n\n  display: flex;\n\n  align-items: center;\n\n  justify-content: center;\n\n  border-radius: 50%;\n\n  background: var(--navy);\n\n  color: var(--cyan);\n\n  font-size: 12px;\n\n  font-weight: 800;\n}\n\n.founder-signature strong {\n\n  display: block;\n\n  color: var(--navy);\n\n  font-size: 15px;\n}\n\n.founder-signature span {\n\n  color: var(--muted);\n\n  font-size: 12px;\n}\n\n\n/* =========================================================\n   PHILOSOPHY\n========================================================= */\n\n.philosophy-section {\n\n  padding:\n    150px 0;\n\n  background: var(--light);\n}\n\n.philosophy-inner {\n\n  display: grid;\n\n  grid-template-columns:\n    1.15fr\n    .85fr;\n\n  gap: 120px;\n\n  align-items: end;\n}\n\n.philosophy-title h2 {\n\n  margin: 0;\n\n  color: var(--navy);\n\n  font-size:\n    clamp(\n      50px,\n      6vw,\n      88px\n    );\n\n  line-height: .94;\n\n  letter-spacing: -.065em;\n}\n\n.philosophy-title h2 span {\n\n  color: var(--blue);\n}\n\n.philosophy-title h2 strong {\n\n  color: var(--navy);\n}\n\n.philosophy-copy {\n\n  padding-bottom: 10px;\n\n  position: relative;\n}\n\n.big-number {\n\n  color: rgba(8,120,232,.08);\n\n  font-size: 130px;\n\n  line-height: .7;\n\n  font-weight: 800;\n\n  position: absolute;\n\n  right: 0;\n\n  top: -70px;\n}\n\n.philosophy-copy p {\n\n  position: relative;\n\n  z-index: 2;\n\n  color: var(--muted);\n\n  font-size: 16px;\n\n  line-height: 1.85;\n\n  margin-bottom: 20px;\n}\n\n\n/* =========================================================\n   PROCESS\n========================================================= */\n\n.process-section {\n\n  padding:\n    150px 0 180px;\n\n  background: white;\n}\n\n.section-header {\n\n  display: grid;\n\n  grid-template-columns:\n    1fr\n    .55fr;\n\n  gap: 80px;\n\n  align-items: end;\n\n  margin-bottom: 100px;\n}\n\n.section-header h2 {\n\n  margin: 0;\n\n  color: var(--navy);\n\n  font-size:\n    clamp(\n      48px,\n      5vw,\n      76px\n    );\n\n  line-height: .96;\n\n  letter-spacing: -.06em;\n}\n\n.section-header h2 span {\n\n  color: var(--blue);\n}\n\n.section-header > p {\n\n  color: var(--muted);\n\n  line-height: 1.8;\n\n  margin: 0;\n}\n\n\n/* PROCESS TRACK */\n\n.process-track {\n\n  position: relative;\n\n  display: grid;\n\n  grid-template-columns:\n    repeat(5,1fr);\n\n  gap: 35px;\n}\n\n.process-line {\n\n  position: absolute;\n\n  top: 25px;\n\n  left: 30px;\n\n  right: 30px;\n\n  height: 1px;\n\n  background:\n    linear-gradient(\n      90deg,\n      var(--blue),\n      var(--cyan),\n      var(--blue)\n    );\n}\n\n.process-step {\n\n  position: relative;\n\n  padding-top: 75px;\n}\n\n.step-number {\n\n  position: absolute;\n\n  top: 0;\n\n  left: 0;\n\n  width: 50px;\n\n  height: 50px;\n\n  border-radius: 50%;\n\n  display: flex;\n\n  align-items: center;\n\n  justify-content: center;\n\n  background: white;\n\n  border: 2px solid\n    #b9ddf7;\n\n  color: var(--blue);\n\n  font-size: 10px;\n\n  font-weight: 800;\n\n  z-index: 2;\n}\n\n.process-step span {\n\n  color: var(--blue);\n\n  font-size: 9px;\n\n  font-weight: 800;\n\n  letter-spacing: .2em;\n}\n\n.process-step h3 {\n\n  margin:\n    13px 0;\n\n  color: var(--navy);\n\n  font-size: 21px;\n\n  line-height: 1.2;\n}\n\n.process-step p {\n\n  color: var(--muted);\n\n  font-size: 13px;\n\n  line-height: 1.7;\n\n  margin: 0;\n}\n\n\n/* =========================================================\n   MISSION\n========================================================= */\n\n.mission-section {\n\n  padding:\n    100px 0 160px;\n\n  background: var(--light);\n}\n\n.mission-grid {\n\n  display: grid;\n\n  grid-template-columns:\n    1fr\n    1fr;\n\n  gap: 25px;\n}\n\n.mission-card,\n.vision-card {\n\n  min-height: 590px;\n\n  padding: 60px;\n\n  border-radius: 30px;\n\n  position: relative;\n\n  overflow: hidden;\n}\n\n\n/* MISSION DARK */\n\n.mission-card {\n\n  background:\n    radial-gradient(\n      circle at 80% 20%,\n      rgba(32,168,255,.25),\n      transparent 30%\n    ),\n    var(--navy);\n\n  color: white;\n}\n\n.mission-card .card-top {\n\n  color: var(--cyan);\n}\n\n\n/* VISION LIGHT */\n\n.vision-card {\n\n  background:\n    radial-gradient(\n      circle at 80% 20%,\n      rgba(8,120,232,.12),\n      transparent 30%\n    ),\n    white;\n\n  color: var(--navy);\n\n  border: 1px solid var(--border);\n}\n\n.vision-card .card-top {\n\n  color: var(--blue);\n}\n\n\n.card-top {\n\n  display: flex;\n\n  justify-content: space-between;\n\n  font-size: 9px;\n\n  font-weight: 800;\n\n  letter-spacing: .2em;\n}\n\n.card-icon {\n\n  margin-top: 100px;\n\n  font-size: 55px;\n\n  color: var(--blue-2);\n}\n\n.mission-card .card-icon {\n\n  color: var(--cyan);\n}\n\n.mission-card h2,\n.vision-card h2 {\n\n  max-width: 650px;\n\n  margin:\n    15px 0 30px;\n\n  font-size:\n    clamp(\n      35px,\n      3.5vw,\n      55px\n    );\n\n  line-height: 1.04;\n\n  letter-spacing: -.05em;\n}\n\n.mission-card h2 span {\n\n  color: var(--cyan);\n}\n\n.vision-card h2 span {\n\n  color: var(--blue);\n}\n\n.mission-card p,\n.vision-card p {\n\n  max-width: 620px;\n\n  font-size: 15px;\n\n  line-height: 1.8;\n}\n\n.mission-card p {\n\n  color: rgba(255,255,255,.62);\n}\n\n.vision-card p {\n\n  color: var(--muted);\n}\n\n\n/* =========================================================\n   VALUES\n========================================================= */\n\n.values-section {\n\n  padding:\n    160px 0;\n\n  background: white;\n}\n\n.values-header {\n\n  display: block;\n\n  margin-bottom: 80px;\n}\n\n.values-grid {\n\n  display: grid;\n\n  grid-template-columns:\n    repeat(3,1fr);\n\n  border-top: 1px solid var(--border);\n\n  border-left: 1px solid var(--border);\n}\n\n.value-card {\n\n  min-height: 280px;\n\n  padding: 45px;\n\n  border-right: 1px solid var(--border);\n\n  border-bottom: 1px solid var(--border);\n\n  transition:\n    transform .3s ease,\n    background .3s ease,\n    box-shadow .3s ease;\n}\n\n.value-card:hover {\n\n  background: var(--light);\n\n  transform: translateY(-5px);\n\n  box-shadow:\n    0 20px 50px\n      rgba(6,26,53,.07);\n}\n\n.value-card small {\n\n  color: var(--blue);\n\n  font-size: 10px;\n\n  font-weight: 800;\n}\n\n.value-card h3 {\n\n  margin:\n    45px 0 12px;\n\n  color: var(--navy);\n\n  font-size: 24px;\n}\n\n.value-card p {\n\n  margin: 0;\n\n  color: var(--muted);\n\n  font-size: 14px;\n\n  line-height: 1.75;\n}\n\n\n/* =========================================================\n   JOURNEY\n========================================================= */\n\n.journey-section {\n\n  padding:\n    150px 0 180px;\n\n  color: white;\n\n  background:\n    linear-gradient(\n      120deg,\n      #04162f,\n      #082d59\n    );\n}\n\n.journey-intro {\n\n  max-width: 850px;\n\n  margin-bottom: 110px;\n}\n\n.journey-intro h2 {\n\n  margin: 0;\n\n  font-size:\n    clamp(\n      50px,\n      6vw,\n      88px\n    );\n\n  line-height: .94;\n\n  letter-spacing: -.065em;\n}\n\n.journey-intro h2 span {\n\n  color: var(--cyan);\n}\n\n.journey-intro p {\n\n  max-width: 620px;\n\n  margin-top: 30px;\n\n  color: rgba(255,255,255,.55);\n\n  line-height: 1.8;\n}\n\n\n/* TIMELINE */\n\n.timeline {\n\n  position: relative;\n\n  padding-left: 110px;\n}\n\n.timeline-line {\n\n  position: absolute;\n\n  top: 0;\n\n  bottom: 0;\n\n  left: 25px;\n\n  width: 2px;\n\n  background:\n    rgba(255,255,255,.12);\n}\n\n.timeline-progress {\n\n  width: 100%;\n\n  height: 0%;\n\n  background:\n    linear-gradient(\n      var(--blue-2),\n      var(--cyan)\n    );\n\n  transition:\n    height .2s linear;\n}\n\n.timeline-item {\n\n  position: relative;\n\n  min-height: 330px;\n\n  opacity: .42;\n\n  transition:\n    opacity .6s ease;\n}\n\n.timeline-item.active {\n\n  opacity: 1;\n}\n\n.timeline-dot {\n\n  position: absolute;\n\n  left: -110px;\n\n  top: 0;\n\n  width: 52px;\n\n  height: 52px;\n\n  border-radius: 50%;\n\n  display: flex;\n\n  align-items: center;\n\n  justify-content: center;\n\n  background: #082d59;\n\n  border:\n    1px solid\n    rgba(114,216,255,.4);\n\n  color: var(--cyan);\n\n  font-size: 10px;\n\n  font-weight: 800;\n\n  transition:\n    background .4s ease,\n    box-shadow .4s ease;\n}\n\n.timeline-item.active\n.timeline-dot {\n\n  background: var(--blue);\n\n  box-shadow:\n    0 0 0 10px\n      rgba(8,120,232,.15);\n}\n\n.timeline-content {\n\n  max-width: 850px;\n\n  transform: translateX(20px);\n\n  transition:\n    transform .6s ease;\n}\n\n.timeline-item.active\n.timeline-content {\n\n  transform: translateX(0);\n}\n\n.timeline-content span {\n\n  color: var(--cyan);\n\n  font-size: 9px;\n\n  font-weight: 800;\n\n  letter-spacing: .2em;\n}\n\n.timeline-content h3 {\n\n  margin:\n    15px 0 18px;\n\n  font-size:\n    clamp(\n      30px,\n      3.5vw,\n      48px\n    );\n\n  line-height: 1.05;\n\n  letter-spacing: -.045em;\n}\n\n.timeline-content p {\n\n  max-width: 700px;\n\n  color: rgba(255,255,255,.55);\n\n  line-height: 1.8;\n\n  margin: 0;\n}\n\n\n/* =========================================================\n   FINAL\n========================================================= */\n\n.about-final {\n\n  min-height: 720px;\n\n  position: relative;\n\n  display: flex;\n\n  align-items: center;\n\n  justify-content: center;\n\n  text-align: center;\n\n  padding: 100px 30px;\n\n  overflow: hidden;\n\n  background: #031329;\n\n  color: white;\n}\n\n.final-glow {\n\n  position: absolute;\n\n  width: 700px;\n\n  height: 700px;\n\n  border-radius: 50%;\n\n  background:\n    radial-gradient(\n      circle,\n      rgba(32,168,255,.16),\n      transparent 65%\n    );\n\n  pointer-events: none;\n}\n\n.final-content {\n\n  position: relative;\n\n  z-index: 2;\n\n  max-width: 1000px;\n}\n\n.final-content h2 {\n\n  margin: 0;\n\n  font-size:\n    clamp(\n      55px,\n      7vw,\n      105px\n    );\n\n  line-height: .9;\n\n  letter-spacing: -.07em;\n}\n\n.final-content h2 span {\n\n  color: var(--cyan);\n}\n\n.final-content p {\n\n  margin:\n    35px auto 0;\n\n  max-width: 650px;\n\n  color: rgba(255,255,255,.52);\n\n  font-size: 17px;\n\n  line-height: 1.8;\n}\n\n.final-rule {\n\n  width: 55px;\n\n  height: 2px;\n\n  background: var(--cyan);\n\n  margin:\n    50px auto 22px;\n}\n\n.final-content > strong {\n\n  color: rgba(255,255,255,.35);\n\n  font-size: 9px;\n\n  letter-spacing: .25em;\n}\n\n\n/* =========================================================\n   TABLET\n========================================================= */\n\n@media(max-width:1100px) {\n\n  .about-shell {\n\n    width:\n      calc(100% - 70px);\n  }\n\n  .hero-inner {\n\n    grid-template-columns: 1fr;\n\n    gap: 50px;\n  }\n\n  .hero-side {\n\n    display: none;\n  }\n\n  .founder-grid {\n\n    grid-template-columns:\n      1fr 1fr;\n\n    gap: 40px;\n  }\n\n  .founder-content {\n\n    padding-left: 0;\n  }\n\n  .process-track {\n\n    grid-template-columns:\n      repeat(3,1fr);\n\n    row-gap: 70px;\n  }\n\n  .process-line {\n\n    display: none;\n  }\n\n}\n\n\n/* =========================================================\n   MOBILE\n========================================================= */\n\n@media(max-width:700px) {\n\n  .about-shell {\n\n    width:\n      calc(100% - 40px);\n  }\n\n\n  /* Hero */\n\n  .about-hero {\n\n    min-height:\n      760px;\n  }\n\n  .hero-copy h1 {\n\n    font-size:\n      clamp(\n        48px,\n        14vw,\n        70px\n      );\n  }\n\n  .hero-description {\n\n    font-size: 16px;\n\n    margin-top: 30px;\n  }\n\n  .hero-stats {\n\n    gap: 25px;\n\n    margin-top: 45px;\n  }\n\n  .hero-stats span {\n\n    font-size: 8px;\n  }\n\n\n  /* Founder */\n\n  .founder-section {\n\n    min-height: auto;\n\n    padding:\n      100px 0;\n  }\n\n  .founder-grid {\n\n    grid-template-columns: 1fr;\n\n    gap: 65px;\n  }\n\n  .founder-photo-area {\n\n    min-height: 440px;\n  }\n\n  .founder-photo {\n\n    width: 300px;\n\n    height: 410px;\n  }\n\n  .photo-ring {\n\n    display: none;\n  }\n\n  .founder-content h2 {\n\n    font-size:\n      clamp(\n        38px,\n        11vw,\n        55px\n      );\n  }\n\n\n  /* Philosophy */\n\n  .philosophy-section {\n\n    padding:\n      100px 0;\n  }\n\n  .philosophy-inner {\n\n    grid-template-columns: 1fr;\n\n    gap: 50px;\n  }\n\n  .philosophy-title h2 {\n\n    font-size:\n      clamp(\n        44px,\n        12vw,\n        65px\n      );\n  }\n\n\n  /* Process */\n\n  .process-section {\n\n    padding:\n      100px 0;\n  }\n\n  .section-header {\n\n    grid-template-columns: 1fr;\n\n    gap: 30px;\n\n    margin-bottom: 70px;\n  }\n\n  .process-track {\n\n    grid-template-columns: 1fr;\n\n    gap: 55px;\n  }\n\n  .process-step {\n\n    padding-top: 65px;\n  }\n\n\n  /* Mission */\n\n  .mission-section {\n\n    padding:\n      70px 0 100px;\n  }\n\n  .mission-grid {\n\n    grid-template-columns: 1fr;\n  }\n\n  .mission-card,\n  .vision-card {\n\n    min-height: auto;\n\n    padding: 38px;\n  }\n\n  .card-icon {\n\n    margin-top: 70px;\n  }\n\n\n  /* Values */\n\n  .values-section {\n\n    padding:\n      100px 0;\n  }\n\n  .values-grid {\n\n    grid-template-columns: 1fr;\n  }\n\n  .value-card {\n\n    min-height: auto;\n\n    padding: 32px;\n  }\n\n\n  /* Journey */\n\n  .journey-section {\n\n    padding:\n      100px 0 120px;\n  }\n\n  .journey-intro {\n\n    margin-bottom: 70px;\n  }\n\n  .timeline {\n\n    padding-left: 65px;\n  }\n\n  .timeline-line {\n\n    left: 16px;\n  }\n\n  .timeline-dot {\n\n    left: -65px;\n\n    width: 38px;\n\n    height: 38px;\n  }\n\n  .timeline-item {\n\n    min-height: 350px;\n  }\n\n  .timeline-content h3 {\n\n    font-size: 31px;\n  }\n\n\n  /* Final */\n\n  .about-final {\n\n    min-height: 600px;\n\n    padding:\n      80px 20px;\n  }\n\n  .final-content h2 {\n\n    font-size:\n      clamp(\n        48px,\n        14vw,\n        70px\n      );\n  }\n\n}\n\n</style>\n\n\n<script>\n\n/* =========================================================\n   CA-AUTOMATOR TIMELINE\n========================================================= */\n\n(function () {\n\n  const root =\n    document.querySelector(\"#ca-about\");\n\n  if (!root) return;\n\n  const timeline =\n    root.querySelector(\".timeline\");\n\n  const progress =\n    root.querySelector(\".timeline-progress\");\n\n  const items =\n    root.querySelectorAll(\".timeline-item\");\n\n\n  function update() {\n\n    const rect =\n      timeline.getBoundingClientRect();\n\n    const trigger =\n      window.innerHeight * 0.65;\n\n\n    /* Progress */\n\n    let progressValue =\n      (trigger - rect.top) /\n      rect.height;\n\n    progressValue =\n      Math.max(\n        0,\n        Math.min(\n          1,\n          progressValue\n        )\n      );\n\n    progress.style.height =\n      (progressValue * 100) + \"%\";\n\n\n    /* Items */\n\n    items.forEach(function(item) {\n\n      const itemRect =\n        item.getBoundingClientRect();\n\n      if (\n        itemRect.top <\n        trigger\n      ) {\n\n        item.classList.add(\"active\");\n\n      } else {\n\n        item.classList.remove(\"active\");\n\n      }\n\n    });\n\n  }\n\n\n  window.addEventListener(\n    \"scroll\",\n    update,\n    { passive: true }\n  );\n\n  window.addEventListener(\n    \"resize\",\n    update\n  );\n\n  update();\n\n})();\n\n</script>','About CA-Automator','This is about us of ca automator.',1,'2026-08-29 12:57:49',1,'http://localhost:8000/media/7017f8995141cf746612d858a0e07f61.jpg'),(2,1,'privacy-policy','Privacy Policy','<section id=\"ca-privacy\">\n\n  <!-- =========================\n       HERO\n  ========================== -->\n\n  <header class=\"privacy-hero\">\n\n    <div class=\"privacy-hero-glow\"></div>\n\n    <div class=\"privacy-shell privacy-hero-inner\">\n\n      <div>\n\n        <div class=\"privacy-eyebrow\">\n          <span></span>\n          CA-AUTOMATOR · LEGAL\n        </div>\n\n        <h1>\n          Privacy\n          <em>Policy.</em>\n        </h1>\n\n        <p>\n          Your privacy matters to us. This policy explains how\n          CA-Automator collects, uses, protects and manages\n          information when you use our website and services.\n        </p>\n\n        <div class=\"privacy-updated\">\n          <span>LAST UPDATED</span>\n          <strong>[DATE]</strong>\n        </div>\n\n      </div>\n\n      <div class=\"privacy-hero-mark\">\n\n        <div class=\"privacy-orbit orbit-one\"></div>\n        <div class=\"privacy-orbit orbit-two\"></div>\n\n        <div class=\"privacy-shield\">\n          <span>✓</span>\n        </div>\n\n      </div>\n\n    </div>\n\n  </header>\n\n\n  <!-- =========================\n       MAIN CONTENT\n  ========================== -->\n\n  <main class=\"privacy-main\">\n\n    <div class=\"privacy-shell privacy-layout\">\n\n\n      <!-- SIDEBAR -->\n\n      <aside class=\"privacy-sidebar\">\n\n        <div class=\"privacy-nav-box\">\n\n          <span class=\"privacy-nav-title\">\n            ON THIS PAGE\n          </span>\n\n          <a href=\"#privacy-introduction\">Introduction</a>\n          <a href=\"#privacy-information\">Information We Collect</a>\n          <a href=\"#privacy-use\">How We Use Information</a>\n          <a href=\"#privacy-sharing\">Information Sharing</a>\n          <a href=\"#privacy-cookies\">Cookies</a>\n          <a href=\"#privacy-security\">Data Security</a>\n          <a href=\"#privacy-retention\">Data Retention</a>\n          <a href=\"#privacy-rights\">Your Rights</a>\n          <a href=\"#privacy-third-party\">Third-Party Services</a>\n          <a href=\"#privacy-children\">Children\'s Privacy</a>\n          <a href=\"#privacy-changes\">Policy Changes</a>\n          <a href=\"#privacy-contact\">Contact Us</a>\n\n        </div>\n\n      </aside>\n\n\n      <!-- ARTICLE -->\n\n      <article class=\"privacy-content\">\n\n\n        <!-- INTRODUCTION -->\n\n        <section id=\"privacy-introduction\"\n                 class=\"privacy-section\">\n\n          <div class=\"privacy-number\">\n            01\n          </div>\n\n          <div>\n\n            <h2>\n              Introduction\n            </h2>\n\n            <p>\n              Welcome to <strong>CA-Automator</strong>.\n              We respect your privacy and are committed to\n              protecting the information you provide to us.\n            </p>\n\n            <p>\n              This Privacy Policy describes how we collect,\n              use, store, process and protect information\n              when you visit our website, communicate with us,\n              request our services, submit an application,\n              book an appointment or otherwise interact with\n              CA-Automator.\n            </p>\n\n            <div class=\"privacy-highlight\">\n\n              <span>OUR PRINCIPLE</span>\n\n              <strong>\n                Collect only what we need.\n                Use it responsibly.\n                Protect it carefully.\n              </strong>\n\n            </div>\n\n          </div>\n\n        </section>\n\n\n        <!-- INFORMATION -->\n\n        <section id=\"privacy-information\"\n                 class=\"privacy-section\">\n\n          <div class=\"privacy-number\">\n            02\n          </div>\n\n          <div>\n\n            <h2>\n              Information We Collect\n            </h2>\n\n            <p>\n              Depending on how you interact with CA-Automator,\n              we may collect different categories of information.\n            </p>\n\n            <div class=\"privacy-cards\">\n\n              <div class=\"privacy-card\">\n\n                <span>01</span>\n\n                <h3>\n                  Personal Information\n                </h3>\n\n                <p>\n                  Information such as your name, email address,\n                  telephone number, organisation and other\n                  information that you voluntarily provide.\n                </p>\n\n              </div>\n\n\n              <div class=\"privacy-card\">\n\n                <span>02</span>\n\n                <h3>\n                  Communication Data\n                </h3>\n\n                <p>\n                  Information contained in enquiries,\n                  contact forms, appointment requests,\n                  emails and other communications with us.\n                </p>\n\n              </div>\n\n\n              <div class=\"privacy-card\">\n\n                <span>03</span>\n\n                <h3>\n                  Technical Information\n                </h3>\n\n                <p>\n                  Information such as IP address, browser type,\n                  device information, pages visited and\n                  general website usage data.\n                </p>\n\n              </div>\n\n\n              <div class=\"privacy-card\">\n\n                <span>04</span>\n\n                <h3>\n                  Application Information\n                </h3>\n\n                <p>\n                  If you apply for employment through our\n                  careers section, we may collect information\n                  included in your application and supporting\n                  documents.\n                </p>\n\n              </div>\n\n            </div>\n\n          </div>\n\n        </section>\n\n\n        <!-- USE -->\n\n        <section id=\"privacy-use\"\n                 class=\"privacy-section\">\n\n          <div class=\"privacy-number\">\n            03\n          </div>\n\n          <div>\n\n            <h2>\n              How We Use Information\n            </h2>\n\n            <p>\n              We may use collected information for legitimate\n              business and operational purposes, including:\n            </p>\n\n            <ul class=\"privacy-list\">\n\n              <li>\n                <span>01</span>\n                Responding to enquiries and communications.\n              </li>\n\n              <li>\n                <span>02</span>\n                Providing and managing requested services.\n              </li>\n\n              <li>\n                <span>03</span>\n                Scheduling and managing appointments.\n              </li>\n\n              <li>\n                <span>04</span>\n                Processing service requests and transactions.\n              </li>\n\n              <li>\n                <span>05</span>\n                Communicating important service information.\n              </li>\n\n              <li>\n                <span>06</span>\n                Processing employment applications.\n              </li>\n\n              <li>\n                <span>07</span>\n                Improving website functionality and user experience.\n              </li>\n\n              <li>\n                <span>08</span>\n                Maintaining security and preventing misuse.\n              </li>\n\n              <li>\n                <span>09</span>\n                Complying with applicable legal and regulatory obligations.\n              </li>\n\n            </ul>\n\n          </div>\n\n        </section>\n\n\n        <!-- SHARING -->\n\n        <section id=\"privacy-sharing\"\n                 class=\"privacy-section\">\n\n          <div class=\"privacy-number\">\n            04\n          </div>\n\n          <div>\n\n            <h2>\n              Information Sharing\n            </h2>\n\n            <p>\n              CA-Automator does not sell personal information\n              to third parties.\n            </p>\n\n            <p>\n              Information may be shared with trusted service\n              providers or other parties where reasonably\n              necessary to operate our website, deliver\n              services, process transactions, manage\n              communications or comply with legal obligations.\n            </p>\n\n            <div class=\"privacy-warning\">\n\n              <strong>\n                Important\n              </strong>\n\n              <p>\n                We expect third-party service providers handling\n                information on our behalf to maintain appropriate\n                safeguards and use information only for the\n                purposes for which it is provided.\n              </p>\n\n            </div>\n\n          </div>\n\n        </section>\n\n\n        <!-- COOKIES -->\n\n        <section id=\"privacy-cookies\"\n                 class=\"privacy-section\">\n\n          <div class=\"privacy-number\">\n            05\n          </div>\n\n          <div>\n\n            <h2>\n              Cookies & Website Technologies\n            </h2>\n\n            <p>\n              Our website may use cookies and similar\n              technologies to support website functionality,\n              understand how visitors use our website and\n              improve the overall user experience.\n            </p>\n\n            <p>\n              Cookies may allow us to remember preferences,\n              maintain certain website functionality and\n              understand general traffic patterns.\n            </p>\n\n            <p>\n              You may be able to control or disable cookies\n              through your browser settings. Some website\n              functionality may not operate properly if\n              certain cookies are disabled.\n            </p>\n\n          </div>\n\n        </section>\n\n\n        <!-- SECURITY -->\n\n        <section id=\"privacy-security\"\n                 class=\"privacy-section\">\n\n          <div class=\"privacy-number\">\n            06\n          </div>\n\n          <div>\n\n            <h2>\n              Data Security\n            </h2>\n\n            <p>\n              We take reasonable technical and organisational\n              measures to protect information against\n              unauthorised access, alteration, disclosure,\n              misuse or destruction.\n            </p>\n\n            <div class=\"security-grid\">\n\n              <div>\n                <strong>\n                  🔒\n                </strong>\n\n                <h3>\n                  Access Control\n                </h3>\n\n                <p>\n                  Access to administrative information should\n                  be restricted to authorised personnel.\n                </p>\n              </div>\n\n\n              <div>\n                <strong>\n                  ◈\n                </strong>\n\n                <h3>\n                  Secure Communication\n                </h3>\n\n                <p>\n                  Appropriate safeguards should be used when\n                  transmitting sensitive information.\n                </p>\n              </div>\n\n\n              <div>\n                <strong>\n                  ✓\n                </strong>\n\n                <h3>\n                  Monitoring\n                </h3>\n\n                <p>\n                  Systems may be monitored to identify\n                  suspicious activity and security issues.\n                </p>\n              </div>\n\n            </div>\n\n            <p class=\"privacy-note\">\n              No method of electronic transmission or storage\n              can be guaranteed to be completely secure.\n            </p>\n\n          </div>\n\n        </section>\n\n\n        <!-- RETENTION -->\n\n        <section id=\"privacy-retention\"\n                 class=\"privacy-section\">\n\n          <div class=\"privacy-number\">\n            07\n          </div>\n\n          <div>\n\n            <h2>\n              Data Retention\n            </h2>\n\n            <p>\n              We retain information only for as long as\n              reasonably necessary for the purposes for which\n              it was collected, to provide services, maintain\n              business records, resolve disputes, comply with\n              legal obligations or protect our legitimate\n              interests.\n            </p>\n\n            <p>\n              Retention periods may vary depending on the type\n              of information and the reason for which it was\n              collected.\n            </p>\n\n          </div>\n\n        </section>\n\n\n        <!-- RIGHTS -->\n\n        <section id=\"privacy-rights\"\n                 class=\"privacy-section\">\n\n          <div class=\"privacy-number\">\n            08\n          </div>\n\n          <div>\n\n            <h2>\n              Your Privacy Rights\n            </h2>\n\n            <p>\n              Depending on applicable law, you may have rights\n              relating to your personal information, including\n              rights to request access, correction, deletion\n              or information about how your information is used.\n            </p>\n\n            <p>\n              Requests can be submitted using the contact\n              information provided at the end of this policy.\n            </p>\n\n            <div class=\"rights-box\">\n\n              <div>\n                <span>ACCESS</span>\n                <strong>Request information</strong>\n              </div>\n\n              <div>\n                <span>CORRECT</span>\n                <strong>Update inaccurate data</strong>\n              </div>\n\n              <div>\n                <span>DELETE</span>\n                <strong>Request deletion where applicable</strong>\n              </div>\n\n            </div>\n\n          </div>\n\n        </section>\n\n\n        <!-- THIRD PARTY -->\n\n        <section id=\"privacy-third-party\"\n                 class=\"privacy-section\">\n\n          <div class=\"privacy-number\">\n            09\n          </div>\n\n          <div>\n\n            <h2>\n              Third-Party Services\n            </h2>\n\n            <p>\n              Our website may integrate third-party services\n              such as email delivery providers, payment\n              processors, analytics tools, mapping services,\n              scheduling systems, cloud infrastructure and\n              other technology providers.\n            </p>\n\n            <p>\n              These providers may process information in\n              accordance with their own privacy policies and\n              applicable terms.\n            </p>\n\n            <div class=\"integration-flow\">\n\n              <span>\n                YOU\n              </span>\n\n              <i>→</i>\n\n              <span>\n                CA-AUTOMATOR\n              </span>\n\n              <i>→</i>\n\n              <span>\n                TRUSTED SERVICES\n              </span>\n\n            </div>\n\n          </div>\n\n        </section>\n\n\n        <!-- CHILDREN -->\n\n        <section id=\"privacy-children\"\n                 class=\"privacy-section\">\n\n          <div class=\"privacy-number\">\n            10\n          </div>\n\n          <div>\n\n            <h2>\n              Children\'s Privacy\n            </h2>\n\n            <p>\n              Our services are not intentionally directed toward\n              children where applicable law requires parental\n              consent or additional safeguards.\n            </p>\n\n            <p>\n              If you believe that information relating to a child\n              has been submitted to us improperly, please contact\n              us so that the matter can be reviewed.\n            </p>\n\n          </div>\n\n        </section>\n\n\n        <!-- CHANGES -->\n\n        <section id=\"privacy-changes\"\n                 class=\"privacy-section\">\n\n          <div class=\"privacy-number\">\n            11\n          </div>\n\n          <div>\n\n            <h2>\n              Changes to This Policy\n            </h2>\n\n            <p>\n              We may update this Privacy Policy from time to\n              time to reflect changes in our services,\n              technology, legal requirements or business\n              practices.\n            </p>\n\n            <p>\n              When changes are made, the updated version will\n              be published on this page together with the\n              applicable revision date.\n            </p>\n\n          </div>\n\n        </section>\n\n\n        <!-- CONTACT -->\n\n        <section id=\"privacy-contact\"\n                 class=\"privacy-contact\">\n\n          <div class=\"privacy-contact-inner\">\n\n            <div>\n\n              <div class=\"privacy-eyebrow\">\n                <span></span>\n                PRIVACY QUESTIONS\n              </div>\n\n              <h2>\n                Need to talk\n                <em>about privacy?</em>\n              </h2>\n\n              <p>\n                If you have questions, concerns or requests\n                relating to this Privacy Policy or your\n                personal information, please contact us.\n              </p>\n\n            </div>\n\n\n            <div class=\"contact-details\">\n\n              <div>\n                <span>EMAIL</span>\n                <strong>\n                  [privacy@yourdomain.com]\n                </strong>\n              </div>\n\n              <div>\n                <span>PHONE</span>\n                <strong>\n                  [+977 XXXXX XXXXX]\n                </strong>\n              </div>\n\n              <div>\n                <span>OFFICE</span>\n                <strong>\n                  [Your Office Address, Nepal]\n                </strong>\n              </div>\n\n            </div>\n\n          </div>\n\n        </section>\n\n\n        <!-- DISCLAIMER -->\n\n        <div class=\"privacy-footer-note\">\n\n          <strong>\n            CA-AUTOMATOR\n          </strong>\n\n          <p>\n            This Privacy Policy is provided for transparency\n            regarding our information practices. It should be\n            reviewed and adapted to reflect CA-Automator\'s\n            actual business operations, technology stack,\n            applicable laws and contractual arrangements.\n          </p>\n\n          <span>\n            © CA-AUTOMATOR · ALL RIGHTS RESERVED\n          </span>\n\n        </div>\n\n\n      </article>\n\n    </div>\n\n  </main>\n\n</section>\n\n\n<style>\n\n/* =========================================================\n   CA-AUTOMATOR PRIVACY POLICY\n   FULL WIDTH / HIGH CONTRAST / RESPONSIVE\n========================================================= */\n\n#ca-privacy {\n\n  --navy: #061a35;\n  --navy-deep: #031329;\n  --navy-soft: #0a2b50;\n\n  --blue: #0878e8;\n  --blue-bright: #159cff;\n  --cyan: #72d8ff;\n\n  --white: #ffffff;\n\n  --bg: #f5f9fc;\n  --bg-soft: #edf5fa;\n\n  --text: #14263b;\n  --muted: #607286;\n\n  --border: #d9e5ee;\n\n  width: 100%;\n\n  margin: 0;\n  padding: 0;\n\n  overflow: hidden;\n\n  color: var(--text);\n\n  background: var(--bg);\n\n  font-family:\n    Inter,\n    -apple-system,\n    BlinkMacSystemFont,\n    \"Segoe UI\",\n    Arial,\n    sans-serif;\n\n  line-height: 1.7;\n}\n\n#ca-privacy *,\n#ca-privacy *::before,\n#ca-privacy *::after {\n\n  box-sizing: border-box;\n}\n\n#ca-privacy a {\n\n  color: inherit;\n\n  text-decoration: none;\n}\n\n#ca-privacy h1,\n#ca-privacy h2,\n#ca-privacy h3,\n#ca-privacy p {\n\n  margin-top: 0;\n}\n\n\n/* =========================================================\n   SHELL\n========================================================= */\n\n.privacy-shell {\n\n  width:\n    min(\n      1520px,\n      calc(100% - 100px)\n    );\n\n  margin-left: auto;\n  margin-right: auto;\n}\n\n\n/* =========================================================\n   HERO\n========================================================= */\n\n.privacy-hero {\n\n  min-height: 650px;\n\n  position: relative;\n\n  display: flex;\n\n  align-items: center;\n\n  overflow: hidden;\n\n  color: white;\n\n  background:\n    linear-gradient(\n      120deg,\n      #031329 0%,\n      #061f40 55%,\n      #073e72 100%\n    );\n}\n\n.privacy-hero-glow {\n\n  position: absolute;\n\n  width: 850px;\n  height: 850px;\n\n  right: -250px;\n  top: -300px;\n\n  border-radius: 50%;\n\n  background:\n    radial-gradient(\n      circle,\n      rgba(21,156,255,.23),\n      transparent 65%\n    );\n}\n\n.privacy-hero-inner {\n\n  position: relative;\n\n  z-index: 2;\n\n  display: grid;\n\n  grid-template-columns:\n    1fr\n    .5fr;\n\n  align-items: center;\n\n  gap: 100px;\n}\n\n.privacy-eyebrow {\n\n  display: flex;\n\n  align-items: center;\n\n  gap: 12px;\n\n  margin-bottom: 25px;\n\n  color: var(--blue-bright);\n\n  font-size: 10px;\n\n  font-weight: 800;\n\n  letter-spacing: .22em;\n\n  text-transform: uppercase;\n}\n\n.privacy-eyebrow span {\n\n  display: block;\n\n  width: 34px;\n\n  height: 2px;\n\n  background: currentColor;\n}\n\n.privacy-hero h1 {\n\n  max-width: 900px;\n\n  margin: 0;\n\n  font-size:\n    clamp(\n      65px,\n      8vw,\n      115px\n    );\n\n  line-height: .88;\n\n  letter-spacing: -.07em;\n\n  font-weight: 700;\n}\n\n.privacy-hero h1 em {\n\n  display: block;\n\n  color: var(--cyan);\n\n  font-style: normal;\n}\n\n.privacy-hero p {\n\n  max-width: 700px;\n\n  margin:\n    40px 0 0;\n\n  color: rgba(255,255,255,.68);\n\n  font-size: 18px;\n\n  line-height: 1.8;\n}\n\n.privacy-updated {\n\n  display: flex;\n\n  align-items: center;\n\n  gap: 15px;\n\n  margin-top: 35px;\n}\n\n.privacy-updated span {\n\n  color: rgba(255,255,255,.38);\n\n  font-size: 9px;\n\n  font-weight: 800;\n\n  letter-spacing: .18em;\n}\n\n.privacy-updated strong {\n\n  color: var(--cyan);\n\n  font-size: 11px;\n\n  letter-spacing: .08em;\n}\n\n\n/* HERO MARK */\n\n.privacy-hero-mark {\n\n  min-height: 400px;\n\n  display: flex;\n\n  align-items: center;\n\n  justify-content: center;\n\n  position: relative;\n}\n\n.privacy-shield {\n\n  width: 160px;\n\n  height: 190px;\n\n  display: flex;\n\n  align-items: center;\n\n  justify-content: center;\n\n  position: relative;\n\n  z-index: 3;\n\n  clip-path:\n    polygon(\n      50% 0,\n      91% 15%,\n      91% 55%,\n      75% 78%,\n      50% 100%,\n      25% 78%,\n      9% 55%,\n      9% 15%\n    );\n\n  background:\n    linear-gradient(\n      145deg,\n      var(--blue),\n      var(--cyan)\n    );\n\n  box-shadow:\n    0 0 80px\n    rgba(21,156,255,.3);\n}\n\n.privacy-shield span {\n\n  font-size: 60px;\n\n  font-weight: 300;\n\n  color: white;\n}\n\n.privacy-orbit {\n\n  position: absolute;\n\n  border: 1px solid\n    rgba(114,216,255,.2);\n\n  border-radius: 50%;\n}\n\n.orbit-one {\n\n  width: 330px;\n  height: 330px;\n}\n\n.orbit-two {\n\n  width: 470px;\n  height: 470px;\n\n  border-color:\n    rgba(114,216,255,.1);\n}\n\n\n/* =========================================================\n   MAIN\n========================================================= */\n\n.privacy-main {\n\n  padding:\n    110px 0 140px;\n}\n\n\n/* =========================================================\n   LAYOUT\n========================================================= */\n\n.privacy-layout {\n\n  display: grid;\n\n  grid-template-columns:\n    260px\n    1fr;\n\n  gap: 100px;\n\n  align-items: start;\n}\n\n\n/* =========================================================\n   SIDEBAR\n========================================================= */\n\n.privacy-sidebar {\n\n  position: sticky;\n\n  top: 30px;\n}\n\n.privacy-nav-box {\n\n  padding: 25px 0;\n\n  border-left:\n    2px solid var(--border);\n}\n\n.privacy-nav-title {\n\n  display: block;\n\n  padding-left: 22px;\n\n  margin-bottom: 18px;\n\n  color: var(--blue);\n\n  font-size: 9px;\n\n  font-weight: 800;\n\n  letter-spacing: .2em;\n}\n\n.privacy-nav-box a {\n\n  display: block;\n\n  padding:\n    8px 22px;\n\n  color: var(--muted);\n\n  font-size: 12px;\n\n  line-height: 1.4;\n\n  transition:\n    .25s ease;\n}\n\n.privacy-nav-box a:hover {\n\n  color: var(--blue);\n\n  padding-left: 28px;\n\n  background:\n    rgba(8,120,232,.04);\n}\n\n\n/* =========================================================\n   CONTENT\n========================================================= */\n\n.privacy-content {\n\n  min-width: 0;\n\n  background: transparent;\n}\n\n.privacy-section {\n\n  display: grid;\n\n  grid-template-columns:\n    60px\n    1fr;\n\n  gap: 35px;\n\n  padding:\n    0 0 90px;\n\n  margin-bottom: 90px;\n\n  border-bottom:\n    1px solid var(--border);\n}\n\n.privacy-number {\n\n  color: var(--blue);\n\n  font-size: 11px;\n\n  font-weight: 800;\n\n  letter-spacing: .1em;\n}\n\n.privacy-section h2 {\n\n  margin-bottom: 28px;\n\n  color: var(--navy);\n\n  font-size:\n    clamp(\n      34px,\n      3.4vw,\n      54px\n    );\n\n  line-height: 1;\n\n  letter-spacing: -.055em;\n}\n\n.privacy-section p {\n\n  max-width: 850px;\n\n  color: var(--muted);\n\n  font-size: 15px;\n\n  line-height: 1.9;\n\n  margin-bottom: 20px;\n}\n\n.privacy-section strong {\n\n  color: var(--navy);\n}\n\n\n/* =========================================================\n   HIGHLIGHT\n========================================================= */\n\n.privacy-highlight {\n\n  max-width: 800px;\n\n  margin-top: 35px;\n\n  padding:\n    30px 35px;\n\n  border-left:\n    4px solid var(--blue);\n\n  background: white;\n\n  box-shadow:\n    0 15px 45px\n      rgba(6,26,53,.06);\n}\n\n.privacy-highlight span {\n\n  display: block;\n\n  margin-bottom: 8px;\n\n  color: var(--blue);\n\n  font-size: 9px;\n\n  font-weight: 800;\n\n  letter-spacing: .2em;\n}\n\n.privacy-highlight strong {\n\n  display: block;\n\n  color: var(--navy);\n\n  font-size: 21px;\n\n  line-height: 1.4;\n}\n\n\n/* =========================================================\n   CARDS\n========================================================= */\n\n.privacy-cards {\n\n  display: grid;\n\n  grid-template-columns:\n    repeat(2,1fr);\n\n  gap: 18px;\n\n  margin-top: 35px;\n}\n\n.privacy-card {\n\n  padding: 32px;\n\n  min-height: 230px;\n\n  background: white;\n\n  border:\n    1px solid var(--border);\n\n  transition:\n    transform .3s ease,\n    box-shadow .3s ease;\n}\n\n.privacy-card:hover {\n\n  transform: translateY(-5px);\n\n  box-shadow:\n    0 20px 45px\n      rgba(6,26,53,.08);\n}\n\n.privacy-card > span {\n\n  color: var(--blue);\n\n  font-size: 10px;\n\n  font-weight: 800;\n}\n\n.privacy-card h3 {\n\n  margin:\n    35px 0 12px;\n\n  color: var(--navy);\n\n  font-size: 20px;\n\n  line-height: 1.2;\n}\n\n.privacy-card p {\n\n  margin: 0;\n\n  font-size: 13px;\n\n  line-height: 1.7;\n}\n\n\n/* =========================================================\n   LIST\n========================================================= */\n\n.privacy-list {\n\n  max-width: 850px;\n\n  padding: 0;\n\n  margin: 35px 0 0;\n\n  list-style: none;\n}\n\n.privacy-list li {\n\n  display: flex;\n\n  align-items: center;\n\n  gap: 20px;\n\n  padding: 16px 0;\n\n  border-bottom:\n    1px solid var(--border);\n\n  color: var(--text);\n\n  font-size: 14px;\n}\n\n.privacy-list li span {\n\n  min-width: 30px;\n\n  color: var(--blue);\n\n  font-size: 9px;\n\n  font-weight: 800;\n}\n\n\n/* =========================================================\n   WARNING\n========================================================= */\n\n.privacy-warning {\n\n  max-width: 850px;\n\n  margin-top: 30px;\n\n  padding: 30px;\n\n  border:\n    1px solid #cfe1ef;\n\n  background:\n    #eef7fc;\n\n  border-radius: 8px;\n}\n\n.privacy-warning strong {\n\n  color: var(--blue);\n\n  font-size: 11px;\n\n  letter-spacing: .15em;\n\n  text-transform: uppercase;\n}\n\n.privacy-warning p {\n\n  margin:\n    10px 0 0;\n}\n\n\n/* =========================================================\n   SECURITY\n========================================================= */\n\n.security-grid {\n\n  display: grid;\n\n  grid-template-columns:\n    repeat(3,1fr);\n\n  gap: 18px;\n\n  margin:\n    35px 0;\n}\n\n.security-grid > div {\n\n  padding: 30px;\n\n  background: white;\n\n  border:\n    1px solid var(--border);\n}\n\n.security-grid strong {\n\n  color: var(--blue);\n\n  font-size: 28px;\n}\n\n.security-grid h3 {\n\n  margin:\n    20px 0 8px;\n\n  color: var(--navy);\n\n  font-size: 18px;\n}\n\n.security-grid p {\n\n  margin: 0;\n\n  font-size: 12px;\n}\n\n.privacy-note {\n\n  font-size: 12px !important;\n\n  color:\n    #738397 !important;\n}\n\n\n/* =========================================================\n   RIGHTS\n========================================================= */\n\n.rights-box {\n\n  display: grid;\n\n  grid-template-columns:\n    repeat(3,1fr);\n\n  gap: 15px;\n\n  margin-top: 35px;\n}\n\n.rights-box > div {\n\n  padding: 25px;\n\n  background: var(--navy);\n\n  color: white;\n}\n\n.rights-box span {\n\n  display: block;\n\n  color: var(--cyan);\n\n  font-size: 9px;\n\n  font-weight: 800;\n\n  letter-spacing: .15em;\n}\n\n.rights-box strong {\n\n  display: block;\n\n  margin-top: 12px;\n\n  color: white;\n\n  font-size: 13px;\n\n  line-height: 1.4;\n}\n\n\n/* =========================================================\n   INTEGRATION\n========================================================= */\n\n.integration-flow {\n\n  display: flex;\n\n  align-items: center;\n\n  gap: 18px;\n\n  margin-top: 40px;\n\n  padding: 30px;\n\n  overflow-x: auto;\n\n  background: var(--navy);\n\n  color: white;\n}\n\n.integration-flow span {\n\n  padding:\n    13px 18px;\n\n  white-space: nowrap;\n\n  border:\n    1px solid\n    rgba(255,255,255,.15);\n\n  font-size: 9px;\n\n  font-weight: 800;\n\n  letter-spacing: .1em;\n}\n\n.integration-flow i {\n\n  color: var(--cyan);\n\n  font-style: normal;\n\n  font-size: 20px;\n}\n\n\n/* =========================================================\n   CONTACT\n========================================================= */\n\n.privacy-contact {\n\n  position: relative;\n\n  overflow: hidden;\n\n  margin-top: 20px;\n\n  padding: 60px;\n\n  color: white;\n\n  background:\n    linear-gradient(\n      120deg,\n      var(--navy),\n      #073d70\n    );\n}\n\n.privacy-contact::after {\n\n  content: \"\";\n\n  position: absolute;\n\n  width: 400px;\n\n  height: 400px;\n\n  right: -160px;\n\n  top: -180px;\n\n  border-radius: 50%;\n\n  background:\n    radial-gradient(\n      circle,\n      rgba(114,216,255,.18),\n      transparent 65%\n    );\n}\n\n.privacy-contact-inner {\n\n  position: relative;\n\n  z-index: 2;\n\n  display: grid;\n\n  grid-template-columns:\n    1fr\n    .65fr;\n\n  gap: 70px;\n\n  align-items: center;\n}\n\n.privacy-contact h2 {\n\n  margin: 0;\n\n  color: white;\n\n  font-size:\n    clamp(\n      38px,\n      4vw,\n      62px\n    );\n\n  line-height: .95;\n\n  letter-spacing: -.06em;\n}\n\n.privacy-contact h2 em {\n\n  display: block;\n\n  color: var(--cyan);\n\n  font-style: normal;\n}\n\n.privacy-contact p {\n\n  max-width: 600px;\n\n  margin:\n    25px 0 0;\n\n  color: rgba(255,255,255,.6);\n\n  font-size: 14px;\n\n  line-height: 1.8;\n}\n\n.contact-details {\n\n  display: grid;\n\n  gap: 18px;\n}\n\n.contact-details div {\n\n  padding:\n    18px 0;\n\n  border-bottom:\n    1px solid\n    rgba(255,255,255,.12);\n}\n\n.contact-details span {\n\n  display: block;\n\n  margin-bottom: 5px;\n\n  color: var(--cyan);\n\n  font-size: 8px;\n\n  font-weight: 800;\n\n  letter-spacing: .2em;\n}\n\n.contact-details strong {\n\n  color: white;\n\n  font-size: 13px;\n\n  font-weight: 500;\n\n  word-break: break-word;\n}\n\n\n/* =========================================================\n   FOOTER NOTE\n========================================================= */\n\n.privacy-footer-note {\n\n  padding-top: 55px;\n\n  text-align: center;\n}\n\n.privacy-footer-note > strong {\n\n  color: var(--navy);\n\n  font-size: 12px;\n\n  letter-spacing: .2em;\n}\n\n.privacy-footer-note p {\n\n  max-width: 750px;\n\n  margin:\n    20px auto;\n\n  color: #78889a;\n\n  font-size: 11px;\n\n  line-height: 1.7;\n}\n\n.privacy-footer-note span {\n\n  color: #9aa8b6;\n\n  font-size: 8px;\n\n  letter-spacing: .18em;\n}\n\n\n/* =========================================================\n   TABLET\n========================================================= */\n\n@media(max-width:1100px) {\n\n  .privacy-shell {\n\n    width:\n      calc(100% - 70px);\n  }\n\n  .privacy-layout {\n\n    grid-template-columns:\n      210px\n      1fr;\n\n    gap: 55px;\n  }\n\n  .privacy-hero-inner {\n\n    grid-template-columns: 1fr;\n  }\n\n  .privacy-hero-mark {\n\n    display: none;\n  }\n\n  .security-grid {\n\n    grid-template-columns: 1fr;\n  }\n\n}\n\n\n/* =========================================================\n   MOBILE\n========================================================= */\n\n@media(max-width:750px) {\n\n  .privacy-shell {\n\n    width:\n      calc(100% - 40px);\n  }\n\n  .privacy-hero {\n\n    min-height: 620px;\n  }\n\n  .privacy-hero h1 {\n\n    font-size:\n      clamp(\n        58px,\n        16vw,\n        80px\n      );\n  }\n\n  .privacy-hero p {\n\n    font-size: 15px;\n  }\n\n  .privacy-main {\n\n    padding:\n      70px 0 90px;\n  }\n\n  .privacy-layout {\n\n    display: block;\n  }\n\n  .privacy-sidebar {\n\n    position: relative;\n\n    top: auto;\n\n    margin-bottom: 60px;\n  }\n\n  .privacy-nav-box {\n\n    display: grid;\n\n    grid-template-columns:\n      repeat(2,1fr);\n\n    border-left: 0;\n\n    border-top:\n      2px solid var(--border);\n\n    padding-top: 15px;\n  }\n\n  .privacy-nav-title {\n\n    grid-column:\n      1 / -1;\n\n    padding-left: 0;\n  }\n\n  .privacy-nav-box a {\n\n    padding:\n      8px 0;\n  }\n\n  .privacy-section {\n\n    grid-template-columns: 1fr;\n\n    gap: 12px;\n\n    padding-bottom: 60px;\n\n    margin-bottom: 60px;\n  }\n\n  .privacy-section h2 {\n\n    font-size:\n      clamp(\n        35px,\n        10vw,\n        48px\n      );\n  }\n\n  .privacy-number {\n\n    margin-bottom: 10px;\n  }\n\n  .privacy-cards {\n\n    grid-template-columns: 1fr;\n  }\n\n  .rights-box {\n\n    grid-template-columns: 1fr;\n  }\n\n  .privacy-contact {\n\n    padding: 40px 30px;\n  }\n\n  .privacy-contact-inner {\n\n    grid-template-columns: 1fr;\n\n    gap: 40px;\n  }\n\n}\n\n\n/* =========================================================\n   REDUCED MOTION\n========================================================= */\n\n@media(prefers-reduced-motion: reduce) {\n\n  #ca-privacy *,\n  #ca-privacy *::before,\n  #ca-privacy *::after {\n\n    scroll-behavior: auto !important;\n\n    transition: none !important;\n\n    animation: none !important;\n  }\n\n}\n\n</style>\n\n\n<script>\n\n/* =========================================================\n   PRIVACY POLICY SMOOTH NAVIGATION\n========================================================= */\n\n(function () {\n\n  const root =\n    document.querySelector(\"#ca-privacy\");\n\n  if (!root) return;\n\n  const links =\n    root.querySelectorAll(\n      \".privacy-nav-box a\"\n    );\n\n  links.forEach(function(link) {\n\n    link.addEventListener(\n      \"click\",\n      function(event) {\n\n        const targetId =\n          this.getAttribute(\"href\");\n\n        const target =\n          root.querySelector(targetId);\n\n        if (!target) return;\n\n        event.preventDefault();\n\n        target.scrollIntoView({\n          behavior: \"smooth\",\n          block: \"start\"\n        });\n\n      }\n    );\n\n  });\n\n})();\n\n</script>','PRIVACY POLICY OF CA AUTOMATOR','CA AUTOMATOR PRIVACY POLICY',1,'2026-08-29 08:03:36',1,NULL),(3,1,'terms-and-conditions','Terms & Conditions',NULL,'Terms & Conditions | CA-Automator','The terms that govern your use of CA-Automator\'s website, client portal, appointment booking and online payment services.',1,'2026-08-29 09:05:51',1,'## Introduction\n\nThese Terms & Conditions (\"Terms\") govern your access to and use of CA-Automator, the website and client platform operated by CA Nishant Marasini, Chartered Accountants (\"we\", \"us\", \"our\"). By browsing this website, booking an appointment, submitting an enquiry, applying for a role through our careers section, or making a payment through our online checkout, you agree to these Terms. If you do not agree, please do not use the website or services.\n\n## Who We Are\n\nCA-Automator is the digital platform of a Nepal-based chartered accountancy practice offering audit, tax, advisory, foreign direct investment (FDI), corporate and related professional services. Nothing on this website is a substitute for a formal engagement letter — where we take you on as a client, the specific scope, fees and responsibilities are governed by that signed engagement, and these Terms apply in addition to it, not instead of it.\n\n## Using This Website\n\nYou agree to use this website only for lawful purposes and in a way that does not infringe the rights of, or restrict or inhibit the use and enjoyment of, this website by anyone else. You must not attempt to gain unauthorised access to the client portal, admin systems or any account other than your own.\n\n## Appointment Booking\n\nThe appointment booking feature lets you request a consultation slot online. A submitted booking request is a request, not a confirmed engagement — we will contact you to confirm the time and, where relevant, the scope of the discussion. We reserve the right to reschedule or decline a booking at our discretion, and will make reasonable efforts to inform you promptly if we do.\n\n## Online Payments\n\nWhere a service is marked as payable online, checkout is processed through **Khalti** and/or **ConnectIPS**, both licensed Nepali payment gateways. We do not store your card, wallet or banking credentials on our servers — payment details are handled entirely within the gateway\'s own secure systems. A payment confirms your order for the specific service purchased; it does not by itself constitute delivery of that service, which proceeds according to the scope agreed for that engagement.\n\n## Client Portal\n\nClients granted access to the client portal are responsible for keeping their login credentials confidential and for all activity carried out under their account. Documents uploaded to or exchanged through the portal remain the property of the party that owns them; access is granted only for the purpose of the engagement.\n\n## Careers & Applications\n\nJob postings on this website reflect open positions at the time of publication and may be updated, filled or withdrawn without notice. Submitting an application does not create any employment relationship or obligation on our part. See our Career & Application Privacy Notice for how application information is handled.\n\n## Blog & Published Content\n\nArticles published on our blog are provided for general informational purposes only and do not constitute professional advice. See our Disclaimer for the full position on relying on published content.\n\n## Intellectual Property\n\nThe CA-Automator name, logo, website design and original written content belong to CA Nishant Marasini or our licensors. You may view and print pages for personal, non-commercial reference, but may not reproduce, republish or redistribute material from this website without our written permission.\n\n## Changes to These Terms\n\nWe may update these Terms from time to time to reflect changes in our services or applicable law. The version in effect is the one published on this page; continued use of the website after an update means you accept the revised Terms.\n\n## Governing Law\n\nThese Terms are governed by the laws of Nepal. Any dispute arising from your use of this website or these Terms will be subject to the jurisdiction of the courts of Nepal.\n\n## Contact Us\n\nQuestions about these Terms can be sent to us through the contact details published on our homepage.'),(4,1,'cookie-policy','Cookie Policy',NULL,'Cookie Policy | CA-Automator','How CA-Automator uses cookies and similar website technologies, and how you can control them.',1,'2026-08-29 09:05:51',1,'## What Cookies Are\n\nCookies are small text files placed on your device when you visit a website. They help the website function correctly, remember your preferences, and let us understand how the site is used so we can improve it. This policy explains what we use them for on CA-Automator and the choices available to you. It should be read alongside our Privacy Policy, which covers how we handle personal information more broadly.\n\n## How We Use Cookies\n\n### Essential Cookies\n\nThese are required for the website and client portal to work at all — for example, keeping you logged in to the client portal, remembering items in an in-progress online checkout, and protecting the site against misuse. The website cannot function properly without these, so they cannot be switched off through our website\'s own settings.\n\n### Functional Cookies\n\nThese remember choices you make, such as a collapsed or expanded section, so the site feels consistent between visits.\n\n### Analytics & Performance\n\nWhere enabled, these help us understand which pages are visited, how visitors move through the site, and where something may not be working as expected. This data is used in aggregate to improve the website — it is not used to identify you personally.\n\n## Cookies From Payment Gateways\n\nWhen you use the online checkout, **Khalti** or **ConnectIPS** may set their own cookies as part of processing your payment securely. Those cookies are controlled by the respective gateway, not by us — please refer to their own privacy and cookie policies for details.\n\n## Managing Cookies\n\nMost browsers let you view, delete and block cookies through their settings. Blocking essential cookies may mean parts of the website — such as staying logged in to the client portal or completing an online payment — stop working correctly. Because this is a small, self-hosted platform, we do not currently use third-party advertising or tracking cookies.\n\n## Changes to This Policy\n\nWe may update this Cookie Policy as our use of cookies changes. The version published on this page is always the current one.\n\n## Contact Us\n\nIf you have questions about our use of cookies, please contact us through the details published on our homepage.'),(5,1,'refund-cancellation-policy','Refund & Cancellation Policy',NULL,'Refund & Cancellation Policy | CA-Automator','Our policy on cancelling a booked service and requesting a refund for payments made through Khalti or ConnectIPS.',1,'2026-08-29 09:05:51',1,'## Our Approach\n\nProfessional services are different from ordinary retail goods — once work has begun, time and expertise have already been committed. This policy sets out, as clearly as we can, how cancellations and refunds are handled for services booked and paid for online through CA-Automator. It applies alongside, not instead of, any specific terms agreed in an individual engagement letter.\n\n## Before Work Has Started\n\nIf you cancel a paid online order before we have begun any work against it, you are entitled to a full refund. Please contact us as soon as possible after payment so we can confirm no work has started and process the cancellation.\n\n## After Work Has Started\n\nOnce we have begun preparing, reviewing or delivering a service — including time spent on initial review, document analysis, drafting or advisory discussion — the value of that work is no longer recoverable, and any refund will reflect only the unused, not-yet-delivered portion of the service, at our reasonable assessment. For services delivered as a single fixed output (for example, a single report or filing), once that output has been delivered, the engagement is considered complete and is not eligible for a refund on the basis of a change of mind.\n\n## How to Request a Cancellation or Refund\n\nContact us through the details on our homepage, quoting your order or payment reference and the reason for your request. We aim to acknowledge every request within a reasonable time and will explain clearly what portion, if any, is refundable and why.\n\n## Refund Method\n\nApproved refunds are returned through the same channel the original payment was made — **Khalti** or **ConnectIPS** — to the account or wallet used for payment. Processing time after we approve a refund depends on the gateway and your bank or wallet provider, and is outside our direct control.\n\n## Errors or Duplicate Payments\n\nIf you believe you were charged in error, charged twice, or a payment failed but was still deducted, please contact us immediately with the transaction details. We will investigate with the relevant gateway and correct genuine errors promptly, in line with the gateway\'s own reconciliation process.\n\n## Non-Refundable Circumstances\n\nPayments are not refundable where a service has already been fully delivered, where a cancellation is requested after a statutory or regulatory filing deadline tied to that service has already been submitted on your behalf, or where the engagement was cancelled due to incomplete or inaccurate information or documents provided by you.\n\n## Changes to This Policy\n\nWe may revise this policy from time to time. The version published on this page applies to any order placed after it takes effect.\n\n## Contact Us\n\nFor any cancellation or refund query, please reach us through the contact details on our homepage.'),(6,1,'disclaimer','Disclaimer',NULL,'Disclaimer | CA-Automator','The scope and limits of the information published on CA-Automator\'s website and blog, and why it is not a substitute for professional advice.',1,'2026-08-29 09:05:51',1,'## General Information Only\n\nThe content published on this website — including our blog, service descriptions and any illustrative figures, examples or explanations — is provided for general informational purposes only. It is not, and should not be treated as, professional accounting, audit, tax or legal advice for your specific circumstances.\n\n## No Client Relationship Created\n\nReading this website, our blog, or any published article does not create a client relationship between you and CA Nishant Marasini, Chartered Accountants. A professional engagement only begins once we have formally agreed to act for you, typically through a signed engagement letter setting out the specific scope of work.\n\n## Laws and Figures Change\n\nNepali tax law, company law, foreign investment regulations and related compliance requirements are amended periodically, sometimes with short notice. While we make a reasonable effort to keep published content accurate at the time it is written, we do not guarantee that every article or page reflects the current legal position at the time you read it. Always confirm the current requirement with us, or another qualified professional, before acting.\n\n## No Liability for Reliance\n\nTo the fullest extent permitted by law, we accept no liability for any loss or damage arising from reliance on general information published on this website in place of a proper professional engagement covering your specific facts.\n\n## Third-Party Links and Services\n\nThis website may reference or link to third-party services, including the **Khalti** and **ConnectIPS** payment gateways. We are not responsible for the content, accuracy or practices of third-party websites or services, which are governed by their own terms and policies.\n\n## Blog Authorship\n\nBlog articles reflect the views of the firm at the time of publication and are written to be broadly useful rather than tailored to any one reader\'s situation. They should not be quoted or relied upon as a substitute for a specific opinion issued to you as a client.\n\n## Changes to This Disclaimer\n\nWe may update this Disclaimer from time to time. The version published on this page is the current one.\n\n## Contact Us\n\nIf anything on this website is unclear, or you would like to discuss your specific situation, please contact us through the details on our homepage — that is exactly what a proper engagement is for.'),(7,1,'career-application-privacy-notice','Career & Application Privacy Notice',NULL,'Career & Application Privacy Notice | CA-Automator','How CA-Automator handles the personal information you submit when applying for a role through our careers section.',1,'2026-08-29 09:05:51',1,'## Purpose of This Notice\n\nThis notice explains how we collect, use, store and protect the information you provide when you apply for a role listed in our careers section, in addition to the general position set out in our Privacy Policy. It applies to everyone who submits a job application through this website, whether or not the application results in an offer.\n\n## Information We Collect\n\nWhen you apply for a posted role, we collect the information you choose to submit as part of that application — typically your name, contact details, and any resume, cover letter or supporting documents you upload, along with the specific role and any responses to questions on the application form.\n\n## How We Use Your Application\n\nYour application is used solely to assess your suitability for the role you applied to, and — only if you separately indicate you are open to it — to consider you for other suitable roles that may open later. We do not use application information for marketing or any purpose unrelated to recruitment.\n\n## Who Sees Your Application\n\nApplication information is accessible only to the people involved in reviewing and deciding on that recruitment — principally the partners and staff responsible for the role. We do not sell or share your application with third parties, except where a background or reference check is a normal and disclosed part of our hiring process for that role.\n\n## Document Uploads\n\nFiles you upload — resumes, certificates or portfolios — are stored securely and are only accessed for the purpose of evaluating your application. Please do not include sensitive personal information (such as national ID numbers, religion or health information) in your application unless it is specifically and reasonably requested.\n\n## How Long We Keep It\n\nIf your application is unsuccessful, we retain it for a reasonable period afterward in case a similar role opens or in case a query arises about the process, after which it is deleted. If you are hired, your application becomes part of your personnel record and is retained under our normal employment record-keeping practices. You may ask us to delete an unsuccessful application earlier by contacting us directly.\n\n## Your Choices\n\nYou may withdraw your application at any time before a hiring decision is made by contacting us. You may also ask what application information we hold about you, and request that we correct or delete it, subject to any legitimate reason we may have to keep it (for example, an ongoing recruitment process).\n\n## Changes to This Notice\n\nWe may update this notice from time to time as our recruitment process evolves. The version published on this page is the current one.\n\n## Contact Us\n\nFor any question about how your application is handled, or to exercise any of the choices above, please contact us through the details on our homepage.');
/*!40000 ALTER TABLE `page` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `password_reset`
--

DROP TABLE IF EXISTS `password_reset`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `password_reset` (
  `token` varchar(100) NOT NULL,
  `user_id` int NOT NULL,
  `expires_at` text NOT NULL,
  `used_at` text,
  PRIMARY KEY (`token`),
  KEY `user_id` (`user_id`),
  CONSTRAINT `password_reset_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `app_user` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `password_reset`
--

LOCK TABLES `password_reset` WRITE;
/*!40000 ALTER TABLE `password_reset` DISABLE KEYS */;
INSERT INTO `password_reset` VALUES ('rIw1hs-YcqEnZwpaT6Mcza4MixItxar72viI3Q6l6mc',1,'2026-08-23 03:20:35',NULL);
/*!40000 ALTER TABLE `password_reset` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `payment_gateway_config`
--

DROP TABLE IF EXISTS `payment_gateway_config`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `payment_gateway_config` (
  `firm_id` int NOT NULL,
  `khalti_secret_key_enc` text,
  `khalti_public_key` text,
  `khalti_mode` varchar(100) NOT NULL DEFAULT 'test',
  `connectips_merchant_id` text,
  `connectips_app_id` text,
  `connectips_app_name` text,
  `connectips_password_enc` text,
  `connectips_cert_path` text,
  `connectips_cert_pass_enc` text,
  `connectips_mode` varchar(100) NOT NULL DEFAULT 'test',
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_by` int DEFAULT NULL,
  PRIMARY KEY (`firm_id`),
  KEY `updated_by` (`updated_by`),
  CONSTRAINT `payment_gateway_config_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE,
  CONSTRAINT `payment_gateway_config_ibfk_2` FOREIGN KEY (`updated_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `payment_gateway_config`
--

LOCK TABLES `payment_gateway_config` WRITE;
/*!40000 ALTER TABLE `payment_gateway_config` DISABLE KEYS */;
/*!40000 ALTER TABLE `payment_gateway_config` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `payment_transaction`
--

DROP TABLE IF EXISTS `payment_transaction`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `payment_transaction` (
  `id` int NOT NULL AUTO_INCREMENT,
  `firm_id` int NOT NULL,
  `gateway` text NOT NULL,
  `reference_type` varchar(100) NOT NULL,
  `reference_id` int NOT NULL,
  `client_id` int DEFAULT NULL,
  `amount` double NOT NULL,
  `currency` varchar(100) NOT NULL DEFAULT 'NPR',
  `status` varchar(100) NOT NULL DEFAULT 'pending',
  `gateway_ref` text,
  `gateway_txn_id` text,
  `raw_response` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` text,
  PRIMARY KEY (`id`),
  KEY `firm_id` (`firm_id`),
  KEY `client_id` (`client_id`),
  KEY `ix_payment_txn_ref` (`reference_type`,`reference_id`),
  CONSTRAINT `payment_transaction_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE,
  CONSTRAINT `payment_transaction_ibfk_2` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `payment_transaction`
--

LOCK TABLES `payment_transaction` WRITE;
/*!40000 ALTER TABLE `payment_transaction` DISABLE KEYS */;
INSERT INTO `payment_transaction` VALUES (1,1,'khalti','service_order',1,NULL,20000000,'NPR','pending','SVC-20260829-2dc6fde1',NULL,NULL,'2026-08-29 05:10:20',NULL);
/*!40000 ALTER TABLE `payment_transaction` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pm_acceptance`
--

DROP TABLE IF EXISTS `pm_acceptance`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `pm_acceptance` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `engagement_id` int DEFAULT NULL,
  `kyc_identity_verified` int NOT NULL DEFAULT '0',
  `kyc_beneficial_ownership` int NOT NULL DEFAULT '0',
  `kyc_source_of_funds` int NOT NULL DEFAULT '0',
  `kyc_pep_check` int NOT NULL DEFAULT '0',
  `kyc_notes` text,
  `conflict_search_names` text,
  `conflict_matches_json` text,
  `conflict_decision` text,
  `conflict_notes` text,
  `risk_factors_json` text,
  `risk_level` text,
  `risk_notes` text,
  `acceptance_decision` varchar(100) NOT NULL DEFAULT 'pending',
  `acceptance_conditions` text,
  `decided_by` int DEFAULT NULL,
  `decided_at` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `engagement_id` (`engagement_id`),
  KEY `decided_by` (`decided_by`),
  KEY `ix_pm_acceptance_client` (`client_id`),
  CONSTRAINT `pm_acceptance_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `pm_acceptance_ibfk_2` FOREIGN KEY (`engagement_id`) REFERENCES `engagement` (`id`) ON DELETE CASCADE,
  CONSTRAINT `pm_acceptance_ibfk_3` FOREIGN KEY (`decided_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pm_acceptance`
--

LOCK TABLES `pm_acceptance` WRITE;
/*!40000 ALTER TABLE `pm_acceptance` DISABLE KEYS */;
/*!40000 ALTER TABLE `pm_acceptance` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pm_assignment`
--

DROP TABLE IF EXISTS `pm_assignment`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `pm_assignment` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `engagement_id` int DEFAULT NULL,
  `task` text NOT NULL,
  `assigned_to` int DEFAULT NULL,
  `due_date` text,
  `priority` varchar(100) NOT NULL DEFAULT 'normal',
  `status` varchar(100) NOT NULL DEFAULT 'pending',
  `notes` text,
  `created_by` int DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `engagement_id` (`engagement_id`),
  KEY `created_by` (`created_by`),
  KEY `ix_pm_assignment_staff` (`assigned_to`,`status`),
  KEY `ix_pm_assignment_client` (`client_id`),
  CONSTRAINT `pm_assignment_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `pm_assignment_ibfk_2` FOREIGN KEY (`engagement_id`) REFERENCES `engagement` (`id`) ON DELETE CASCADE,
  CONSTRAINT `pm_assignment_ibfk_3` FOREIGN KEY (`assigned_to`) REFERENCES `app_user` (`id`),
  CONSTRAINT `pm_assignment_ibfk_4` FOREIGN KEY (`created_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pm_assignment`
--

LOCK TABLES `pm_assignment` WRITE;
/*!40000 ALTER TABLE `pm_assignment` DISABLE KEYS */;
/*!40000 ALTER TABLE `pm_assignment` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pm_checklist_item`
--

DROP TABLE IF EXISTS `pm_checklist_item`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `pm_checklist_item` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `engagement_id` int DEFAULT NULL,
  `stage` varchar(100) NOT NULL,
  `label` text NOT NULL,
  `status` varchar(100) NOT NULL DEFAULT 'pending',
  `due_date` text,
  `notes` text,
  `created_by` int DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` text,
  PRIMARY KEY (`id`),
  KEY `engagement_id` (`engagement_id`),
  KEY `created_by` (`created_by`),
  KEY `ix_pm_checklist_client` (`client_id`,`stage`),
  CONSTRAINT `pm_checklist_item_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `pm_checklist_item_ibfk_2` FOREIGN KEY (`engagement_id`) REFERENCES `engagement` (`id`) ON DELETE CASCADE,
  CONSTRAINT `pm_checklist_item_ibfk_3` FOREIGN KEY (`created_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pm_checklist_item`
--

LOCK TABLES `pm_checklist_item` WRITE;
/*!40000 ALTER TABLE `pm_checklist_item` DISABLE KEYS */;
INSERT INTO `pm_checklist_item` VALUES (1,4,NULL,'onboarding','Client information sheet completed','done',NULL,NULL,1,'2026-08-25 02:32:47','2026-08-28 15:42:58'),(2,4,NULL,'onboarding','PAN/VAT registration certificate obtained','pending',NULL,NULL,1,'2026-08-25 02:32:47',NULL),(3,4,NULL,'onboarding','Certificate of incorporation / registration obtained','pending',NULL,NULL,1,'2026-08-25 02:32:47',NULL),(4,4,NULL,'onboarding','MOA/AOA or partnership deed obtained','pending',NULL,NULL,1,'2026-08-25 02:32:47',NULL),(5,4,NULL,'onboarding','Prior year financial statements obtained','pending',NULL,NULL,1,'2026-08-25 02:32:47',NULL),(6,4,NULL,'onboarding','Prior auditor\'s NOC / communication with predecessor','pending',NULL,NULL,1,'2026-08-25 02:32:47',NULL),(7,4,NULL,'onboarding','Engagement letter signed and on file','pending',NULL,NULL,1,'2026-08-25 02:32:47',NULL),(8,4,NULL,'onboarding','Fee agreed and documented','pending',NULL,NULL,1,'2026-08-25 02:32:47',NULL),(9,4,NULL,'onboarding','Client added to compliance calendar','pending',NULL,NULL,1,'2026-08-25 02:32:47',NULL),(10,4,NULL,'onboarding','Client onboarded in billing system','pending',NULL,NULL,1,'2026-08-25 02:32:47',NULL),(11,4,NULL,'document_request','Trial balance / financial statements','pending',NULL,NULL,1,'2026-08-25 02:35:51','2026-08-29 09:15:36'),(12,4,NULL,'document_request','Bank statements for the period','pending',NULL,NULL,1,'2026-08-25 02:35:51',NULL),(13,4,NULL,'document_request','Fixed asset register','pending',NULL,NULL,1,'2026-08-25 02:35:51',NULL),(14,4,NULL,'document_request','Tax returns filed for the period','pending',NULL,NULL,1,'2026-08-25 02:35:51',NULL),(15,4,NULL,'document_request','Board / AGM minutes','pending',NULL,NULL,1,'2026-08-25 02:35:51',NULL),(16,4,NULL,'document_request','Related-party transaction listing','pending',NULL,NULL,1,'2026-08-25 02:35:51',NULL),(17,4,NULL,'document_request','Statutory registers','pending',NULL,NULL,1,'2026-08-25 02:35:51',NULL),(18,4,NULL,'document_request','Previous year\'s audit file / working papers','pending',NULL,NULL,1,'2026-08-25 02:35:51',NULL),(19,4,NULL,'closure','All fieldwork completed and reviewed','pending',NULL,NULL,1,'2026-08-25 02:36:24',NULL),(20,4,NULL,'closure','Outstanding queries cleared','pending',NULL,NULL,1,'2026-08-25 02:36:24',NULL),(21,4,NULL,'closure','Working papers finalised and referenced','pending',NULL,NULL,1,'2026-08-25 02:36:24',NULL),(22,4,NULL,'closure','Partner / manager review completed','pending',NULL,NULL,1,'2026-08-25 02:36:24',NULL),(23,4,NULL,'closure','Final deliverable issued to client','pending',NULL,NULL,1,'2026-08-25 02:36:24',NULL),(24,4,NULL,'closure','Fees fully billed','pending',NULL,NULL,1,'2026-08-25 02:36:24',NULL),(25,4,NULL,'closure','Fees collected / outstanding balance noted','pending',NULL,NULL,1,'2026-08-25 02:36:24',NULL),(26,4,NULL,'closure','File archived','pending',NULL,NULL,1,'2026-08-25 02:36:24',NULL),(27,4,NULL,'closure','Lessons learned / points forward noted','pending',NULL,NULL,1,'2026-08-25 02:36:24','2026-08-25 02:36:36');
/*!40000 ALTER TABLE `pm_checklist_item` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pm_proposal`
--

DROP TABLE IF EXISTS `pm_proposal`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `pm_proposal` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `engagement_id` int DEFAULT NULL,
  `type` varchar(100) NOT NULL,
  `title` text,
  `scope_of_services` text,
  `fee_structure` text,
  `fee_amount` double DEFAULT NULL,
  `validity_date` text,
  `status` varchar(100) NOT NULL DEFAULT 'draft',
  `notes` text,
  `created_by` int DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `engagement_id` (`engagement_id`),
  KEY `created_by` (`created_by`),
  KEY `ix_pm_proposal_client` (`client_id`,`type`),
  CONSTRAINT `pm_proposal_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `pm_proposal_ibfk_2` FOREIGN KEY (`engagement_id`) REFERENCES `engagement` (`id`) ON DELETE CASCADE,
  CONSTRAINT `pm_proposal_ibfk_3` FOREIGN KEY (`created_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pm_proposal`
--

LOCK TABLES `pm_proposal` WRITE;
/*!40000 ALTER TABLE `pm_proposal` DISABLE KEYS */;
/*!40000 ALTER TABLE `pm_proposal` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `pm_time_budget`
--

DROP TABLE IF EXISTS `pm_time_budget`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `pm_time_budget` (
  `id` int NOT NULL AUTO_INCREMENT,
  `engagement_id` int NOT NULL,
  `task` text NOT NULL,
  `staff_id` int DEFAULT NULL,
  `budgeted_hours` double NOT NULL,
  `notes` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `staff_id` (`staff_id`),
  KEY `ix_pm_budget_eng` (`engagement_id`),
  CONSTRAINT `pm_time_budget_ibfk_1` FOREIGN KEY (`engagement_id`) REFERENCES `engagement` (`id`) ON DELETE CASCADE,
  CONSTRAINT `pm_time_budget_ibfk_2` FOREIGN KEY (`staff_id`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `pm_time_budget`
--

LOCK TABLES `pm_time_budget` WRITE;
/*!40000 ALTER TABLE `pm_time_budget` DISABLE KEYS */;
/*!40000 ALTER TABLE `pm_time_budget` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `rate_master`
--

DROP TABLE IF EXISTS `rate_master`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `rate_master` (
  `id` int NOT NULL AUTO_INCREMENT,
  `domain` varchar(100) NOT NULL,
  `code` varchar(100) NOT NULL,
  `label` text NOT NULL,
  `value_num` double DEFAULT NULL,
  `value_text` text,
  `unit` text,
  `applies_to` varchar(100) DEFAULT NULL,
  `fiscal_year_label` varchar(100) DEFAULT NULL,
  `effective_from` text,
  `effective_to` text,
  `source` text,
  `clause` text,
  `last_verified_on` text,
  `verification_status` varchar(100) NOT NULL DEFAULT 'UNVERIFIED',
  `verified_by` int DEFAULT NULL,
  `notes` text,
  `country_code` varchar(100) NOT NULL DEFAULT 'NP',
  PRIMARY KEY (`id`),
  UNIQUE KEY `ux_rate_master_dedup` (`domain`,`code`,`country_code`,(coalesce(`fiscal_year_label`,_utf8mb4'')),(coalesce(`applies_to`,_utf8mb4''))),
  UNIQUE KEY `domain` (`domain`,`code`,`fiscal_year_label`,`applies_to`),
  KEY `verified_by` (`verified_by`),
  KEY `ix_rate_lookup` (`domain`,`fiscal_year_label`),
  CONSTRAINT `rate_master_ibfk_1` FOREIGN KEY (`verified_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=382 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `rate_master`
--

LOCK TABLES `rate_master` WRITE;
/*!40000 ALTER TABLE `rate_master` DISABLE KEYS */;
INSERT INTO `rate_master` VALUES (53,'income_tax','ssf_rebate_slab1','Slab-1 concessional rate where SSF contributor',0,NULL,'percent','couple','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder — confirm this applies the same way on a couple return.','NP'),(54,'income_tax','medical_credit_pct','Medical tax credit — % of approved expense',0.15,NULL,'percent','individual','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 51',NULL,'UNVERIFIED',NULL,'Placeholder — credit against tax payable, not a deduction.','NP'),(55,'income_tax','medical_credit_ceiling','Medical tax credit — annual ceiling',750,NULL,'amount','individual','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 51',NULL,'UNVERIFIED',NULL,'Placeholder — commonly-cited figure; confirm current-year ceiling and any carry-forward of unused credit.','NP'),(56,'income_tax','retirement_exempt_threshold','Retirement lump sum — exempt amount (fixed limb)',500000,NULL,'amount','individual','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 65',NULL,'UNVERIFIED',NULL,'Placeholder — exempt portion is the higher of this amount or the % limb below.','NP'),(57,'income_tax','retirement_exempt_pct','Retirement lump sum — exempt % of the payment',0.5,NULL,'ratio','individual','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 65',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(58,'income_tax','retirement_lumpsum_rate','Retirement lump sum — flat rate on the balance',0.05,NULL,'percent','individual','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 65',NULL,'UNVERIFIED',NULL,'Placeholder — final withholding tax, not slab-stacked with regular salary.','NP'),(59,'income_tax','foreign_allowance_exempt_pct','Foreign allowance — exempt portion for an employee posted abroad',0.75,NULL,'ratio','individual','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder — confirm this applies beyond government/NRB postings to this client\'s facts.','NP'),(60,'income_tax','senior_citizen_slab1_extra_pct','Senior citizen — additional slab-1 exemption',0.25,NULL,'ratio','individual','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder — confirm the qualifying age (commonly cited as 65) and that this stacks with the resident-woman rebate.','NP'),(61,'income_tax','remote_area_cap_a','Remote area allowance deduction cap — category A',50000,NULL,'amount','individual','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder — category A is the most remote / highest cap in common practice; confirm the current category map.','NP'),(62,'income_tax','remote_area_cap_b','Remote area allowance deduction cap — category B',40000,NULL,'amount','individual','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(63,'income_tax','remote_area_cap_c','Remote area allowance deduction cap — category C',30000,NULL,'amount','individual','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(64,'income_tax','remote_area_cap_d','Remote area allowance deduction cap — category D',20000,NULL,'amount','individual','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(65,'income_tax','remote_area_cap_e','Remote area allowance deduction cap — category E',10000,NULL,'amount','individual','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder — category E is the least remote / lowest cap in common practice.','NP'),(66,'payroll','vehicle_perquisite_monthly_pct','Vehicle facility perquisite — % of prescribed cost, per month',0.005,NULL,'percent','all','2082-83',NULL,NULL,'Income Tax Rules 2059','Rule 12',NULL,'UNVERIFIED',NULL,'Placeholder — confirm current rule and prescribed-value basis for a company-provided, dual-use vehicle.','NP'),(67,'payroll','accommodation_perquisite_pct','Accommodation facility perquisite — % of remuneration',0.02,NULL,'percent','all','2082-83',NULL,NULL,'Income Tax Rules 2059','',NULL,'UNVERIFIED',NULL,'Placeholder — taxable value is the higher of actual rent borne by the employer and this % of remuneration.','NP'),(68,'payroll','employer_loan_market_rate','Employer-provided loan — prescribed market interest rate',0.1,NULL,'percent','all','2082-83',NULL,NULL,'Income Tax Act 2058','',NULL,'UNVERIFIED',NULL,'Placeholder — perquisite is this rate less whatever the employee is actually charged.','NP'),(69,'penalty','s120_false_statement_knowing','Penalty for a false or misleading statement — knowing or reckless',1,NULL,'percent','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 120',NULL,'UNVERIFIED',NULL,'Placeholder — the knowing/reckless-intent rate.','NP'),(70,'penalty','s117_books_fee','Fee for failure to maintain books of account',10000,NULL,'amount','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 117(1)(a)',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(71,'penalty','tds_shortfall_interest_rate','Interest on TDS not deducted or not deposited',0.15,NULL,'percent','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 90 / Sec 119',NULL,'UNVERIFIED',NULL,'Placeholder — confirm the exact clause; modelled at the same rate as Sec 119 pending that check.','NP'),(72,'penalty','tds_return_late_fee','Fee per TDS return filed late',1500,NULL,'amount','all','2082-83',NULL,NULL,'Income Tax Act 2058','',NULL,'UNVERIFIED',NULL,'Placeholder — confirm the exact clause and amount.','NP'),(73,'vat','unregistered_penalty_pct','Penalty on turnover earned while trading above the threshold unregistered',0.1,NULL,'percent','all','2082-83',NULL,NULL,'VAT Act 2052','',NULL,'UNVERIFIED',NULL,'Placeholder — confirm the exact clause and basis; the VAT itself is separately due on that turnover.','NP'),(74,'income_tax','presumptive_metro_1_ceiling','Presumptive tax — metro, bracket 1',2000000,'2500','amount','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 4',NULL,'UNVERIFIED',NULL,'Placeholder skeleton.','NP'),(75,'income_tax','presumptive_metro_2_ceiling','Presumptive tax — metro, bracket 2',3000000,'3500','amount','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 4',NULL,'UNVERIFIED',NULL,'Placeholder skeleton.','NP'),(76,'income_tax','presumptive_metro_3_ceiling','Presumptive tax — metro, bracket 3 (eligibility ceiling)',5000000,'5000','amount','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 4',NULL,'UNVERIFIED',NULL,'Placeholder — confirm the current turnover ceiling above which presumptive tax is not available at all.','NP'),(77,'income_tax','company_rate_sin_industry','Company tax rate — tobacco, alcohol, gambling',0.3,NULL,'percent','company','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder — this whole category list is a starting skeleton; add, remove or rename rows here as the Finance Act changes, no code change needed.','NP'),(78,'income_tax','company_rate_export','Company tax rate — export income (concessional)',0.2,NULL,'percent','company','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder — confirm whether this is a distinct rate or a rebate on the general rate.','NP'),(79,'income_tax','company_rate_cooperative','Company tax rate — cooperative',0.2,NULL,'percent','company','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder — many cooperatives are exempt outside the Kathmandu valley for specified activities; confirm this client\'s exact position rather than trusting this figure.','NP'),(80,'income_tax','donation_cap_pct','Donation deduction cap — % of adjusted taxable income',0.05,NULL,'percent','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 12',NULL,'UNVERIFIED',NULL,'Placeholder — allowed donation is the lower of the actual gift, this %, and the fixed ceiling below.','NP'),(81,'income_tax','donation_cap_amount','Donation deduction cap — fixed ceiling',1000000,NULL,'amount','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 12',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(82,'income_tax','loss_carry_forward_years','Loss carry-forward — default window',7,NULL,'years','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 20',NULL,'UNVERIFIED',NULL,'Placeholder — fallback used when no category-specific window below applies.','NP'),(83,'income_tax','loss_carry_forward_years_general','Loss carry-forward — general company rate category',7,NULL,'years','company','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 20',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(84,'income_tax','loss_carry_forward_years_special','Loss carry-forward — special industry / BOOT / power / mining',12,NULL,'years','company','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 20',NULL,'UNVERIFIED',NULL,'Placeholder — confirm which project types actually qualify for the extended window.','NP'),(85,'payroll','rent_tds_rate','TDS on house/land rent paid to a resident person',0.1,NULL,'percent','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 88(1)',NULL,'UNVERIFIED',NULL,'Placeholder — confirm whether this specific lease is to a person or an entity, and any VAT-registered-lessor variation.','NP'),(86,'tds','tds_rate_contract','Contract / service fee payment',0.015,NULL,'percent','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 89',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(87,'tds','tds_rate_consultancy_registered','Consultancy / professional fee — VAT-registered payee',0.015,NULL,'percent','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 88',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(88,'tds','tds_rate_consultancy_unregistered','Consultancy / professional fee — payee not VAT-registered',0.15,NULL,'percent','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 88',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(89,'tds','tds_rate_commission','Commission',0.15,NULL,'percent','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 88',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(90,'tds','tds_rate_interest','Interest paid to a non-bank/individual lender',0.15,NULL,'percent','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 88',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(91,'tds','tds_rate_dividend','Dividend distribution',0.05,NULL,'percent','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 88',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(92,'tds','tds_rate_nonresident','Payment to a non-resident',0.15,NULL,'percent','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 88',NULL,'UNVERIFIED',NULL,'Placeholder — treaty relief may apply; verify DTAA position separately.','NP'),(93,'tds','tds_rate_meeting_fee','Meeting / sitting fee',0.15,NULL,'percent','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 88',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(94,'tds','tds_rate_freight','Freight / carriage',0.015,NULL,'percent','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 89',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(95,'tds','tds_rate_vehicle_rent','Rent of vehicle (VAT-registered lessor)',0.015,NULL,'percent','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 88',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(96,'tds','tds_rate_royalty','Royalty',0.15,NULL,'percent','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 88',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(97,'tds','tds_rate_business_promotion','Business promotion / discount / incentive payment',0.15,NULL,'percent','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 88',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(98,'income_tax','slab_1_ceiling','Slab 1 ceiling',500000,'0.01','amount','individual','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder. Confirm slab ceiling and rate against current Finance Act. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(99,'income_tax','slab_2_ceiling','Slab 2 ceiling',700000,'0.10','amount','individual','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(100,'income_tax','slab_3_ceiling','Slab 3 ceiling',1000000,'0.20','amount','individual','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(101,'income_tax','slab_4_ceiling','Slab 4 ceiling',2000000,'0.30','amount','individual','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(102,'income_tax','slab_5_ceiling','Slab 5 ceiling',5000000,'0.36','amount','individual','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder — top-slab surcharge treatment must be confirmed. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(103,'income_tax','slab_top','Above top slab',0,'0.39','percent','individual','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(104,'income_tax','slab_1_ceiling','Slab 1 ceiling',600000,'0.01','amount','couple','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(105,'income_tax','slab_2_ceiling','Slab 2 ceiling',800000,'0.10','amount','couple','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(106,'income_tax','slab_3_ceiling','Slab 3 ceiling',1100000,'0.20','amount','couple','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(107,'income_tax','slab_4_ceiling','Slab 4 ceiling',2000000,'0.30','amount','couple','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(108,'income_tax','slab_5_ceiling','Slab 5 ceiling',5000000,'0.36','amount','couple','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(109,'income_tax','slab_top','Above top slab',0,'0.39','percent','couple','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(110,'income_tax','company_rate_general','Company tax rate — general',0.25,NULL,'percent','company','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 2 Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(111,'income_tax','company_rate_special','Company tax rate — special industry',0.2,NULL,'percent','company','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(112,'income_tax','company_rate_bfi','Company tax rate — bank/financial institution',0.3,NULL,'percent','company','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(113,'income_tax','retirement_deduction_cap','Retirement contribution deduction cap',300000,NULL,'amount','individual','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 63',NULL,'UNVERIFIED',NULL,'Placeholder — also limited to a % of assessable income; confirm both limbs. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(114,'income_tax','retirement_deduction_pct','Retirement contribution — % of assessable income limb',0.333,NULL,'ratio','individual','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 63',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(115,'income_tax','insurance_premium_cap','Life insurance premium deduction cap',40000,NULL,'amount','individual','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 1(12) Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(116,'income_tax','health_insurance_cap','Health insurance premium deduction cap',20000,NULL,'amount','individual','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(117,'income_tax','remote_area_cap','Remote area allowance deduction cap',50000,NULL,'amount','individual','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder — varies by category A–E. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(118,'income_tax','female_rebate','Rebate for resident woman (single filing) on tax',0.1,NULL,'percent','individual','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(119,'income_tax','ssf_rebate_slab1','Slab-1 concessional rate where SSF contributor',0,NULL,'percent','individual','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(120,'depreciation','pool_a_rate','Pool A — buildings/structures',0.05,NULL,'percent','pool_a','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 2',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(121,'depreciation','pool_b_rate','Pool B — office equipment, furniture',0.25,NULL,'percent','pool_b','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 2',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(122,'depreciation','pool_c_rate','Pool C — vehicles, plant',0.2,NULL,'percent','pool_c','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 2',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(123,'depreciation','pool_d_rate','Pool D — other assets',0.15,NULL,'percent','pool_d','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 2',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(124,'depreciation','pool_e_rate','Pool E — intangibles (useful life basis)',0,NULL,'percent','pool_e','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 2',NULL,'UNVERIFIED',NULL,'Amortised over useful life; rate not fixed. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(125,'depreciation','tranche_q1','Absorption — addition in first six months (Shrawan-Poush)',1,NULL,'ratio','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 2',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(126,'depreciation','tranche_q2','Absorption — addition in next three months (Magh-Chaitra)',0.6667,NULL,'ratio','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 2',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(127,'depreciation','tranche_q3','Absorption — addition in last three months (Baishakh-Ashad)',0.3333,NULL,'ratio','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 2',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(128,'depreciation','repair_ceiling','Repair & improvement ceiling on pool opening base',0.07,NULL,'percent','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 16',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(129,'depreciation','de_minimis','Pool written off if base below',2000,NULL,'amount','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 2',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(130,'depreciation','special_extra_third','Extra depreciation for special industry',0.3333,NULL,'ratio','special','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 2',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(131,'penalty','s117_estimate_fee','Fee for non-submission of estimated return',5000,NULL,'amount','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 117(1)',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(132,'penalty','s117_income_return_pct','Fee for late income return — % of assessable income',0.001,NULL,'percent','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 117(1)(c)',NULL,'UNVERIFIED',NULL,'Placeholder — higher of % of income or monthly amount; confirm both limbs. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(133,'penalty','s117_income_return_month','Fee for late income return — per month amount',100,NULL,'amount','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 117(1)(c)',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(134,'penalty','s118_interest_rate','Interest on short payment of instalment tax',0.15,NULL,'percent','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 118',NULL,'UNVERIFIED',NULL,'Placeholder — annual rate applied monthly. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(135,'penalty','s119_interest_rate','Interest on failure to pay tax',0.15,NULL,'percent','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 119',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(136,'penalty','s120_false_statement','Penalty for false or misleading statement',0.5,NULL,'percent','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 120',NULL,'UNVERIFIED',NULL,'Placeholder — 50%/100% depending on intent. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(137,'penalty','instalment_1_pct','First instalment — cumulative % due by Poush end',0.4,NULL,'percent','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 94',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(138,'penalty','instalment_2_pct','Second instalment — cumulative % due by Chaitra end',0.7,NULL,'percent','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 94',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(139,'penalty','instalment_3_pct','Third instalment — cumulative % due by Ashadh end',1,NULL,'percent','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 94',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(140,'vat','standard_rate','VAT standard rate',0.13,NULL,'percent','all','2083-84',NULL,NULL,'Value Added Tax Act 2052','Sec 7',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(141,'vat','reg_threshold_goods','Registration threshold — goods',5000000,NULL,'amount','all','2083-84',NULL,NULL,'VAT Act/Rules','',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(142,'vat','reg_threshold_services','Registration threshold — services',3000000,NULL,'amount','all','2083-84',NULL,NULL,'VAT Act/Rules','',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(143,'vat','late_return_fee','Fee per late VAT return',1000,NULL,'amount','all','2083-84',NULL,NULL,'VAT Act 2052','Sec 29',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(144,'vat','late_payment_addl_fee','Additional fee on unpaid VAT (annual)',0.15,NULL,'percent','all','2083-84',NULL,NULL,'VAT Act 2052','Sec 19',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(145,'payroll','ssf_employee','SSF — employee contribution on basic',0.11,NULL,'percent','all','2083-84',NULL,NULL,'Social Security Act 2074','',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(146,'payroll','ssf_employer','SSF — employer contribution on basic',0.2,NULL,'percent','all','2083-84',NULL,NULL,'Social Security Act 2074','',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(147,'payroll','pf_employee','Provident fund — employee on basic',0.1,NULL,'percent','all','2083-84',NULL,NULL,'Labour Act 2074','',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(148,'payroll','pf_employer','Provident fund — employer on basic',0.1,NULL,'percent','all','2083-84',NULL,NULL,'Labour Act 2074','',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(149,'payroll','gratuity_rate','Gratuity on basic',0.0833,NULL,'percent','all','2083-84',NULL,NULL,'Labour Act 2074','',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(150,'income_tax','ssf_rebate_slab1','Slab-1 concessional rate where SSF contributor',0,NULL,'percent','couple','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder — confirm this applies the same way on a couple return. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(151,'income_tax','medical_credit_pct','Medical tax credit — % of approved expense',0.15,NULL,'percent','individual','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 51',NULL,'UNVERIFIED',NULL,'Placeholder — credit against tax payable, not a deduction. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(152,'income_tax','medical_credit_ceiling','Medical tax credit — annual ceiling',750,NULL,'amount','individual','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 51',NULL,'UNVERIFIED',NULL,'Placeholder — commonly-cited figure; confirm current-year ceiling and any carry-forward of unused credit. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(153,'income_tax','retirement_exempt_threshold','Retirement lump sum — exempt amount (fixed limb)',500000,NULL,'amount','individual','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 65',NULL,'UNVERIFIED',NULL,'Placeholder — exempt portion is the higher of this amount or the % limb below. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(154,'income_tax','retirement_exempt_pct','Retirement lump sum — exempt % of the payment',0.5,NULL,'ratio','individual','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 65',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(155,'income_tax','retirement_lumpsum_rate','Retirement lump sum — flat rate on the balance',0.05,NULL,'percent','individual','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 65',NULL,'UNVERIFIED',NULL,'Placeholder — final withholding tax, not slab-stacked with regular salary. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(156,'income_tax','foreign_allowance_exempt_pct','Foreign allowance — exempt portion for an employee posted abroad',0.75,NULL,'ratio','individual','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder — confirm this applies beyond government/NRB postings to this client\'s facts. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(157,'income_tax','senior_citizen_slab1_extra_pct','Senior citizen — additional slab-1 exemption',0.25,NULL,'ratio','individual','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder — confirm the qualifying age (commonly cited as 65) and that this stacks with the resident-woman rebate. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(158,'income_tax','remote_area_cap_a','Remote area allowance deduction cap — category A',50000,NULL,'amount','individual','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder — category A is the most remote / highest cap in common practice; confirm the current category map. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(159,'income_tax','remote_area_cap_b','Remote area allowance deduction cap — category B',40000,NULL,'amount','individual','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(160,'income_tax','remote_area_cap_c','Remote area allowance deduction cap — category C',30000,NULL,'amount','individual','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(161,'income_tax','remote_area_cap_d','Remote area allowance deduction cap — category D',20000,NULL,'amount','individual','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(162,'income_tax','remote_area_cap_e','Remote area allowance deduction cap — category E',10000,NULL,'amount','individual','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder — category E is the least remote / lowest cap in common practice. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(163,'payroll','vehicle_perquisite_monthly_pct','Vehicle facility perquisite — % of prescribed cost, per month',0.005,NULL,'percent','all','2083-84',NULL,NULL,'Income Tax Rules 2059','Rule 12',NULL,'UNVERIFIED',NULL,'Placeholder — confirm current rule and prescribed-value basis for a company-provided, dual-use vehicle. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(164,'payroll','accommodation_perquisite_pct','Accommodation facility perquisite — % of remuneration',0.02,NULL,'percent','all','2083-84',NULL,NULL,'Income Tax Rules 2059','',NULL,'UNVERIFIED',NULL,'Placeholder — taxable value is the higher of actual rent borne by the employer and this % of remuneration. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(165,'payroll','employer_loan_market_rate','Employer-provided loan — prescribed market interest rate',0.1,NULL,'percent','all','2083-84',NULL,NULL,'Income Tax Act 2058','',NULL,'UNVERIFIED',NULL,'Placeholder — perquisite is this rate less whatever the employee is actually charged. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(166,'penalty','s120_false_statement_knowing','Penalty for a false or misleading statement — knowing or reckless',1,NULL,'percent','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 120',NULL,'UNVERIFIED',NULL,'Placeholder — the knowing/reckless-intent rate. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(167,'penalty','s117_books_fee','Fee for failure to maintain books of account',10000,NULL,'amount','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 117(1)(a)',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(168,'penalty','tds_shortfall_interest_rate','Interest on TDS not deducted or not deposited',0.15,NULL,'percent','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 90 / Sec 119',NULL,'UNVERIFIED',NULL,'Placeholder — confirm the exact clause; modelled at the same rate as Sec 119 pending that check. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(169,'penalty','tds_return_late_fee','Fee per TDS return filed late',1500,NULL,'amount','all','2083-84',NULL,NULL,'Income Tax Act 2058','',NULL,'UNVERIFIED',NULL,'Placeholder — confirm the exact clause and amount. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(170,'vat','unregistered_penalty_pct','Penalty on turnover earned while trading above the threshold unregistered',0.1,NULL,'percent','all','2083-84',NULL,NULL,'VAT Act 2052','',NULL,'UNVERIFIED',NULL,'Placeholder — confirm the exact clause and basis; the VAT itself is separately due on that turnover. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(171,'income_tax','presumptive_metro_1_ceiling','Presumptive tax — metro, bracket 1',2000000,'2500','amount','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 4',NULL,'UNVERIFIED',NULL,'Placeholder skeleton. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(172,'income_tax','presumptive_metro_2_ceiling','Presumptive tax — metro, bracket 2',3000000,'3500','amount','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 4',NULL,'UNVERIFIED',NULL,'Placeholder skeleton. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(173,'income_tax','presumptive_metro_3_ceiling','Presumptive tax — metro, bracket 3 (eligibility ceiling)',5000000,'5000','amount','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 4',NULL,'UNVERIFIED',NULL,'Placeholder — confirm the current turnover ceiling above which presumptive tax is not available at all. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(174,'income_tax','company_rate_sin_industry','Company tax rate — tobacco, alcohol, gambling',0.3,NULL,'percent','company','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder — this whole category list is a starting skeleton; add, remove or rename rows here as the Finance Act changes, no code change needed. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(175,'income_tax','company_rate_export','Company tax rate — export income (concessional)',0.2,NULL,'percent','company','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder — confirm whether this is a distinct rate or a rebate on the general rate. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(176,'income_tax','company_rate_cooperative','Company tax rate — cooperative',0.2,NULL,'percent','company','2083-84',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder — many cooperatives are exempt outside the Kathmandu valley for specified activities; confirm this client\'s exact position rather than trusting this figure. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(177,'income_tax','donation_cap_pct','Donation deduction cap — % of adjusted taxable income',0.05,NULL,'percent','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 12',NULL,'UNVERIFIED',NULL,'Placeholder — allowed donation is the lower of the actual gift, this %, and the fixed ceiling below. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(178,'income_tax','donation_cap_amount','Donation deduction cap — fixed ceiling',1000000,NULL,'amount','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 12',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(179,'income_tax','loss_carry_forward_years','Loss carry-forward — default window',7,NULL,'years','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 20',NULL,'UNVERIFIED',NULL,'Placeholder — fallback used when no category-specific window below applies. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(180,'income_tax','loss_carry_forward_years_general','Loss carry-forward — general company rate category',7,NULL,'years','company','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 20',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(181,'income_tax','loss_carry_forward_years_special','Loss carry-forward — special industry / BOOT / power / mining',12,NULL,'years','company','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 20',NULL,'UNVERIFIED',NULL,'Placeholder — confirm which project types actually qualify for the extended window. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(182,'payroll','rent_tds_rate','TDS on house/land rent paid to a resident person',0.1,NULL,'percent','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 88(1)',NULL,'UNVERIFIED',NULL,'Placeholder — confirm whether this specific lease is to a person or an entity, and any VAT-registered-lessor variation. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(183,'tds','tds_rate_contract','Contract / service fee payment',0.015,NULL,'percent','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 89',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(184,'tds','tds_rate_consultancy_registered','Consultancy / professional fee — VAT-registered payee',0.015,NULL,'percent','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 88',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(185,'tds','tds_rate_consultancy_unregistered','Consultancy / professional fee — payee not VAT-registered',0.15,NULL,'percent','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 88',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(186,'tds','tds_rate_commission','Commission',0.15,NULL,'percent','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 88',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(187,'tds','tds_rate_interest','Interest paid to a non-bank/individual lender',0.15,NULL,'percent','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 88',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(188,'tds','tds_rate_dividend','Dividend distribution',0.05,NULL,'percent','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 88',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(189,'tds','tds_rate_nonresident','Payment to a non-resident',0.15,NULL,'percent','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 88',NULL,'UNVERIFIED',NULL,'Placeholder — treaty relief may apply; verify DTAA position separately. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(190,'tds','tds_rate_meeting_fee','Meeting / sitting fee',0.15,NULL,'percent','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 88',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(191,'tds','tds_rate_freight','Freight / carriage',0.015,NULL,'percent','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 89',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(192,'tds','tds_rate_vehicle_rent','Rent of vehicle (VAT-registered lessor)',0.015,NULL,'percent','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 88',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(193,'tds','tds_rate_royalty','Royalty',0.15,NULL,'percent','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 88',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(194,'tds','tds_rate_business_promotion','Business promotion / discount / incentive payment',0.15,NULL,'percent','all','2083-84',NULL,NULL,'Income Tax Act 2058','Sec 88',NULL,'UNVERIFIED',NULL,'Placeholder. Carried forward from FY 2082-83 — confirm against the FY 2083-84 Finance Act before relying on it.','NP'),(195,'income_tax','slab_1_ceiling','Slab 1 ceiling',500000,'0.01','amount','individual','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder. Confirm slab ceiling and rate against current Finance Act.','NP'),(196,'income_tax','slab_2_ceiling','Slab 2 ceiling',700000,'0.10','amount','individual','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(197,'income_tax','slab_3_ceiling','Slab 3 ceiling',1000000,'0.20','amount','individual','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(198,'income_tax','slab_4_ceiling','Slab 4 ceiling',2000000,'0.30','amount','individual','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(199,'income_tax','slab_5_ceiling','Slab 5 ceiling',5000000,'0.36','amount','individual','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder — top-slab surcharge treatment must be confirmed.','NP'),(200,'income_tax','slab_top','Above top slab',NULL,'0.39','percent','individual','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(201,'income_tax','slab_1_ceiling','Slab 1 ceiling',600000,'0.01','amount','couple','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(202,'income_tax','slab_2_ceiling','Slab 2 ceiling',800000,'0.10','amount','couple','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(203,'income_tax','slab_3_ceiling','Slab 3 ceiling',1100000,'0.20','amount','couple','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(204,'income_tax','slab_4_ceiling','Slab 4 ceiling',2000000,'0.30','amount','couple','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(205,'income_tax','slab_5_ceiling','Slab 5 ceiling',5000000,'0.36','amount','couple','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(206,'income_tax','slab_top','Above top slab',NULL,'0.39','percent','couple','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(207,'income_tax','company_rate_general','Company tax rate — general',0.25,NULL,'percent','company','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 2 Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(208,'income_tax','company_rate_special','Company tax rate — special industry',0.2,NULL,'percent','company','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(209,'income_tax','company_rate_bfi','Company tax rate — bank/financial institution',0.3,NULL,'percent','company','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(210,'income_tax','retirement_deduction_cap','Retirement contribution deduction cap',300000,NULL,'amount','individual','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 63',NULL,'UNVERIFIED',NULL,'Placeholder — also limited to a % of assessable income; confirm both limbs.','NP'),(211,'income_tax','retirement_deduction_pct','Retirement contribution — % of assessable income limb',0.333,NULL,'ratio','individual','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 63',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(212,'income_tax','insurance_premium_cap','Life insurance premium deduction cap',40000,NULL,'amount','individual','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 1(12) Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(213,'income_tax','health_insurance_cap','Health insurance premium deduction cap',20000,NULL,'amount','individual','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(214,'income_tax','remote_area_cap','Remote area allowance deduction cap',50000,NULL,'amount','individual','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder — varies by category A–E.','NP'),(215,'income_tax','female_rebate','Rebate for resident woman (single filing) on tax',0.1,NULL,'percent','individual','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(216,'income_tax','ssf_rebate_slab1','Slab-1 concessional rate where SSF contributor',0,NULL,'percent','individual','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 1',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(217,'depreciation','pool_a_rate','Pool A — buildings/structures',0.05,NULL,'percent','pool_a','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 2',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(218,'depreciation','pool_b_rate','Pool B — office equipment, furniture',0.25,NULL,'percent','pool_b','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 2',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(219,'depreciation','pool_c_rate','Pool C — vehicles, plant',0.2,NULL,'percent','pool_c','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 2',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(220,'depreciation','pool_d_rate','Pool D — other assets',0.15,NULL,'percent','pool_d','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 2',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(221,'depreciation','pool_e_rate','Pool E — intangibles (useful life basis)',0,NULL,'percent','pool_e','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 2',NULL,'UNVERIFIED',NULL,'Amortised over useful life; rate not fixed.','NP'),(222,'depreciation','tranche_q1','Absorption — addition in first six months (Shrawan-Poush)',1,NULL,'ratio','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 2',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(223,'depreciation','tranche_q2','Absorption — addition in next three months (Magh-Chaitra)',0.6667,NULL,'ratio','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 2',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(224,'depreciation','tranche_q3','Absorption — addition in last three months (Baishakh-Ashad)',0.3333,NULL,'ratio','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 2',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(225,'depreciation','repair_ceiling','Repair & improvement ceiling on pool opening base',0.07,NULL,'percent','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 16',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(226,'depreciation','de_minimis','Pool written off if base below',2000,NULL,'amount','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 2',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(227,'depreciation','special_extra_third','Extra depreciation for special industry',0.3333,NULL,'ratio','special','2082-83',NULL,NULL,'Income Tax Act 2058','Sch 2',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(228,'penalty','s117_estimate_fee','Fee for non-submission of estimated return',5000,NULL,'amount','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 117(1)',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(229,'penalty','s117_income_return_pct','Fee for late income return — % of assessable income',0.001,NULL,'percent','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 117(1)(c)',NULL,'UNVERIFIED',NULL,'Placeholder — higher of % of income or monthly amount; confirm both limbs.','NP'),(230,'penalty','s117_income_return_month','Fee for late income return — per month amount',100,NULL,'amount','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 117(1)(c)',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(231,'penalty','s118_interest_rate','Interest on short payment of instalment tax',0.15,NULL,'percent','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 118',NULL,'UNVERIFIED',NULL,'Placeholder — annual rate applied monthly.','NP'),(232,'penalty','s119_interest_rate','Interest on failure to pay tax',0.15,NULL,'percent','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 119',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(233,'penalty','s120_false_statement','Penalty for a false or misleading statement — careless',0.5,NULL,'percent','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 120',NULL,'UNVERIFIED',NULL,'Placeholder — the careless-intent rate.','NP'),(234,'penalty','instalment_1_pct','First instalment — cumulative % due by Poush end',0.4,NULL,'percent','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 94',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(235,'penalty','instalment_2_pct','Second instalment — cumulative % due by Chaitra end',0.7,NULL,'percent','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 94',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(236,'penalty','instalment_3_pct','Third instalment — cumulative % due by Ashadh end',1,NULL,'percent','all','2082-83',NULL,NULL,'Income Tax Act 2058','Sec 94',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(237,'vat','standard_rate','VAT standard rate',0.13,NULL,'percent','all','2082-83',NULL,NULL,'Value Added Tax Act 2052','Sec 7',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(238,'vat','reg_threshold_goods','Registration threshold — goods',5000000,NULL,'amount','all','2082-83',NULL,NULL,'VAT Act/Rules','',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(239,'vat','reg_threshold_services','Registration threshold — services',3000000,NULL,'amount','all','2082-83',NULL,NULL,'VAT Act/Rules','',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(240,'vat','late_return_fee','Fee per late VAT return',1000,NULL,'amount','all','2082-83',NULL,NULL,'VAT Act 2052','Sec 29',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(241,'vat','late_payment_addl_fee','Additional fee on unpaid VAT (annual)',0.15,NULL,'percent','all','2082-83',NULL,NULL,'VAT Act 2052','Sec 19',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(242,'payroll','ssf_employee','SSF — employee contribution on basic',0.11,NULL,'percent','all','2082-83',NULL,NULL,'Social Security Act 2074','',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(243,'payroll','ssf_employer','SSF — employer contribution on basic',0.2,NULL,'percent','all','2082-83',NULL,NULL,'Social Security Act 2074','',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(244,'payroll','pf_employee','Provident fund — employee on basic',0.1,NULL,'percent','all','2082-83',NULL,NULL,'Labour Act 2074','',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(245,'payroll','pf_employer','Provident fund — employer on basic',0.1,NULL,'percent','all','2082-83',NULL,NULL,'Labour Act 2074','',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(246,'payroll','gratuity_rate','Gratuity on basic',0.0833,NULL,'percent','all','2082-83',NULL,NULL,'Labour Act 2074','',NULL,'UNVERIFIED',NULL,'Placeholder.','NP'),(344,'income_tax','slab_1_ceiling','Slab 1 ceiling',300000,'0.00','amount','individual',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 115BAC(1A)',NULL,'UNVERIFIED',NULL,'Placeholder — default-regime structure. Confirm against the Finance Act in force, including the Sec 87A rebate that can make this band effectively tax-free up to a higher total-income threshold.','IN'),(345,'income_tax','slab_2_ceiling','Slab 2 ceiling',700000,'0.05','amount','individual',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 115BAC(1A)',NULL,'UNVERIFIED',NULL,'Placeholder.','IN'),(346,'income_tax','slab_3_ceiling','Slab 3 ceiling',1000000,'0.10','amount','individual',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 115BAC(1A)',NULL,'UNVERIFIED',NULL,'Placeholder.','IN'),(347,'income_tax','slab_4_ceiling','Slab 4 ceiling',1200000,'0.15','amount','individual',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 115BAC(1A)',NULL,'UNVERIFIED',NULL,'Placeholder.','IN'),(348,'income_tax','slab_5_ceiling','Slab 5 ceiling',1500000,'0.20','amount','individual',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 115BAC(1A)',NULL,'UNVERIFIED',NULL,'Placeholder — this engine has no representation of the old (pre-115BAC) regime as an alternative; a taxpayer who elects out of the default regime is not correctly modelled yet.','IN'),(349,'income_tax','slab_top','Above top slab',NULL,'0.30','percent','individual',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 115BAC(1A)',NULL,'UNVERIFIED',NULL,'Placeholder — surcharge and cess on top of this rate are not modelled by this engine at all yet.','IN'),(350,'income_tax','company_rate_domestic_standard','Company tax rate — domestic company, standard (no concessional election)',0.3,NULL,'percent','company',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 115BA / Finance Act',NULL,'UNVERIFIED',NULL,'Placeholder — 25% applies instead for many domestic companies below a turnover threshold; confirm this client\'s actual applicable rate before use.','IN'),(351,'income_tax','company_rate_domestic_concessional','Company tax rate — domestic company electing the concessional regime',0.22,NULL,'percent','company',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 115BAA',NULL,'UNVERIFIED',NULL,'Placeholder — conditional on forgoing specified exemptions/deductions; confirm the election is actually in force for this client.','IN'),(352,'income_tax','company_rate_new_manufacturing','Company tax rate — new manufacturing domestic company',0.15,NULL,'percent','company',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 115BAB',NULL,'UNVERIFIED',NULL,'Placeholder — conditional on incorporation/commencement dates and specified conditions; confirm eligibility before use.','IN'),(353,'income_tax','company_rate_foreign','Company tax rate — foreign company',0.35,NULL,'percent','company',NULL,NULL,NULL,'Income-tax Act, 1961','Finance Act',NULL,'UNVERIFIED',NULL,'Placeholder — this rate has changed across recent Finance Acts; confirm the rate for the year in force.','IN'),(354,'income_tax','loss_carry_forward_years','Loss carry-forward — default window',8,NULL,'years','all',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 72',NULL,'UNVERIFIED',NULL,'Placeholder.','IN'),(355,'income_tax','health_insurance_cap','Health insurance premium deduction cap (non-senior)',25000,NULL,'amount','individual',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 80D',NULL,'UNVERIFIED',NULL,'Placeholder — Sec 80D has a separate, higher cap for senior-citizen premiums and a parents\'-premium limb this engine does not yet model as distinct rows; confirm this client\'s actual position rather than trusting this single figure.','IN'),(356,'payroll','pf_employee','Employees\' Provident Fund — employee contribution on basic+DA',0.12,NULL,'percent','all',NULL,NULL,NULL,'EPF & MP Act, 1952','',NULL,'UNVERIFIED',NULL,'Placeholder — subject to the statutory wage ceiling and scheme-specific carve-outs; confirm this client\'s applicable basis.','IN'),(357,'payroll','pf_employer','Employees\' Provident Fund — employer contribution on basic+DA',0.12,NULL,'percent','all',NULL,NULL,NULL,'EPF & MP Act, 1952','',NULL,'UNVERIFIED',NULL,'Placeholder — part of the employer contribution is typically routed to the Pension Scheme rather than EPF itself above a wage ceiling; this single figure does not yet model that split.','IN'),(358,'tds','tds_rate_contract','Payment to contractors, non-individual/HUF payee (Sec 194C)',0.02,NULL,'percent','all',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 194C',NULL,'UNVERIFIED',NULL,'Placeholder — the individual/HUF payee rate is 1%, not modelled as a separate row yet; Sec 206AA doubles this absent a valid PAN.','IN'),(359,'tds','tds_rate_consultancy','Professional / technical fees (Sec 194J)',0.1,NULL,'percent','all',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 194J',NULL,'UNVERIFIED',NULL,'Placeholder — a lower 2% limb applies to specified technical-service/call-centre payments; confirm which limb applies.','IN'),(360,'tds','tds_rate_commission','Commission or brokerage (Sec 194H)',0.05,NULL,'percent','all',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 194H',NULL,'UNVERIFIED',NULL,'Placeholder.','IN'),(361,'tds','tds_rate_interest','Interest other than on securities (Sec 194A)',0.1,NULL,'percent','all',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 194A',NULL,'UNVERIFIED',NULL,'Placeholder.','IN'),(362,'tds','tds_rate_dividend','Dividend (Sec 194)',0.1,NULL,'percent','all',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 194',NULL,'UNVERIFIED',NULL,'Placeholder.','IN'),(363,'tds','tds_rate_rent','Rent of land/building/furniture (Sec 194-I)',0.1,NULL,'percent','all',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 194-I',NULL,'UNVERIFIED',NULL,'Placeholder — plant & machinery rent under the same section is 2%, not modelled as a separate row yet.','IN'),(364,'tds','tds_rate_royalty','Royalty / fees for technical services to a resident (Sec 194J)',0.1,NULL,'percent','all',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 194J',NULL,'UNVERIFIED',NULL,'Placeholder.','IN'),(365,'tds','tds_rate_nonresident','Payment to a non-resident (Sec 195)',NULL,NULL,'percent','all',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 195',NULL,'UNVERIFIED',NULL,'SOURCE REQUIRED — the domestic rate depends entirely on the nature of the payment and is separately overridden by any applicable DTAA; do not use a single figure here without confirming the specific payment type first (same caution already recorded for this in the Transfer Pricing module\'s tp_regulatory_rule rows).','IN'),(366,'depreciation','block_building_5_rate','Block — residential buildings',0.05,NULL,'percent','all',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 32 / Rule 5, Appendix I',NULL,'UNVERIFIED',NULL,'Placeholder.','IN'),(367,'depreciation','block_building_10_rate','Block — non-residential/factory buildings',0.1,NULL,'percent','all',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 32 / Rule 5, Appendix I',NULL,'UNVERIFIED',NULL,'Placeholder.','IN'),(368,'depreciation','block_furniture_10_rate','Block — furniture and fittings',0.1,NULL,'percent','all',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 32 / Rule 5, Appendix I',NULL,'UNVERIFIED',NULL,'Placeholder.','IN'),(369,'depreciation','block_plant_15_rate','Block — plant & machinery, general',0.15,NULL,'percent','all',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 32 / Rule 5, Appendix I',NULL,'UNVERIFIED',NULL,'Placeholder — many specific machinery categories carry a different rate (30%/40%/45%/60%); this is only the general/default block.','IN'),(370,'depreciation','block_motor_vehicle_15_rate','Block — motor vehicles, general (not hire business)',0.15,NULL,'percent','all',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 32 / Rule 5, Appendix I',NULL,'UNVERIFIED',NULL,'Placeholder.','IN'),(371,'depreciation','block_computer_40_rate','Block — computers and software',0.4,NULL,'percent','all',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 32 / Rule 5, Appendix I',NULL,'UNVERIFIED',NULL,'Placeholder.','IN'),(372,'depreciation','block_intangible_25_rate','Block — intangible assets (know-how, patents, licences, franchises)',0.25,NULL,'percent','all',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 32(1)(ii) / Rule 5, Appendix I',NULL,'UNVERIFIED',NULL,'Placeholder.','IN'),(373,'gst','gst_rate_0','Nil-rated / exempt',0,NULL,'percent','all',NULL,NULL,NULL,'CGST Act, 2017','Sec 9 / Schedule notifications',NULL,'UNVERIFIED',NULL,'Placeholder.','IN'),(374,'gst','gst_rate_5','5% slab',0.05,NULL,'percent','all',NULL,NULL,NULL,'CGST Act, 2017','Sec 9 / rate notifications',NULL,'UNVERIFIED',NULL,'Placeholder.','IN'),(375,'gst','gst_rate_12','12% slab',0.12,NULL,'percent','all',NULL,NULL,NULL,'CGST Act, 2017','Sec 9 / rate notifications',NULL,'UNVERIFIED',NULL,'Placeholder.','IN'),(376,'gst','gst_rate_18','18% slab',0.18,NULL,'percent','all',NULL,NULL,NULL,'CGST Act, 2017','Sec 9 / rate notifications',NULL,'UNVERIFIED',NULL,'Placeholder — the default/most common slab, not a safe assumption for every supply.','IN'),(377,'gst','gst_rate_28','28% slab',0.28,NULL,'percent','all',NULL,NULL,NULL,'CGST Act, 2017','Sec 9 / rate notifications',NULL,'UNVERIFIED',NULL,'Placeholder.','IN'),(378,'penalty','s234_interest_rate_pct','Interest rate — Sec 234A/234B/234C (per month)',0.01,NULL,'percent','all',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 234A / 234B / 234C',NULL,'UNVERIFIED',NULL,'Placeholder — simple interest, part of a month counted as a full month; confirm current rate.','IN'),(379,'penalty','s234f_income_threshold','Sec 234F fee tier threshold — total income',500000,NULL,'amount','all',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 234F',NULL,'UNVERIFIED',NULL,'Placeholder.','IN'),(380,'penalty','s234f_fee_low','Sec 234F fee — total income at or below the threshold',1000,NULL,'amount','all',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 234F',NULL,'UNVERIFIED',NULL,'Placeholder.','IN'),(381,'penalty','s234f_fee_high','Sec 234F fee — total income above the threshold',5000,NULL,'amount','all',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 234F',NULL,'UNVERIFIED',NULL,'Placeholder — NIL fee below the basic exemption limit is not yet modelled as a separate tier.','IN');
/*!40000 ALTER TABLE `rate_master` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `rate_remark`
--

DROP TABLE IF EXISTS `rate_remark`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `rate_remark` (
  `id` int NOT NULL AUTO_INCREMENT,
  `rate_id` int NOT NULL,
  `user_id` int NOT NULL,
  `remark` text NOT NULL,
  `status` varchar(100) NOT NULL DEFAULT 'open',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `resolved_at` text,
  `resolved_by` int DEFAULT NULL,
  `resolution_note` text,
  PRIMARY KEY (`id`),
  KEY `user_id` (`user_id`),
  KEY `resolved_by` (`resolved_by`),
  KEY `ix_rate_remark_rate` (`rate_id`),
  KEY `ix_rate_remark_status` (`status`),
  CONSTRAINT `rate_remark_ibfk_1` FOREIGN KEY (`rate_id`) REFERENCES `rate_master` (`id`) ON DELETE CASCADE,
  CONSTRAINT `rate_remark_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `app_user` (`id`),
  CONSTRAINT `rate_remark_ibfk_3` FOREIGN KEY (`resolved_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `rate_remark`
--

LOCK TABLES `rate_remark` WRITE;
/*!40000 ALTER TABLE `rate_remark` DISABLE KEYS */;
/*!40000 ALTER TABLE `rate_remark` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `report`
--

DROP TABLE IF EXISTS `report`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `report` (
  `id` int NOT NULL AUTO_INCREMENT,
  `workfile_id` int DEFAULT NULL,
  `engagement_id` int DEFAULT NULL,
  `module_key` text NOT NULL,
  `format` text NOT NULL,
  `template_id` int DEFAULT NULL,
  `filename` text NOT NULL,
  `storage_path` text,
  `params` text,
  `status` varchar(100) NOT NULL DEFAULT 'ready',
  `error_text` text,
  `generated_by` int DEFAULT NULL,
  `generated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `byte_size` int DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `workfile_id` (`workfile_id`),
  KEY `template_id` (`template_id`),
  KEY `generated_by` (`generated_by`),
  KEY `ix_report_eng` (`engagement_id`,`generated_at` DESC),
  CONSTRAINT `report_ibfk_1` FOREIGN KEY (`workfile_id`) REFERENCES `workfile` (`id`) ON DELETE SET NULL,
  CONSTRAINT `report_ibfk_2` FOREIGN KEY (`engagement_id`) REFERENCES `engagement` (`id`) ON DELETE SET NULL,
  CONSTRAINT `report_ibfk_3` FOREIGN KEY (`template_id`) REFERENCES `report_template` (`id`),
  CONSTRAINT `report_ibfk_4` FOREIGN KEY (`generated_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=72 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `report`
--

LOCK TABLES `report` WRITE;
/*!40000 ALTER TABLE `report` DISABLE KEYS */;
INSERT INTO `report` VALUES (5,NULL,NULL,'audit_report','docx',NULL,'Kreesa Sales Private Limited - audit_report - 20260822-214911.docx','/Users/nishantha/Desktop/ca-automator/data/reports/Kreesa Sales Private Limited - audit_report - 20260822-214911.docx','{\"entity\": {\"name\": \"Kreesa Sales Private Limited\"}, \"opinion_type\": \"unqualified\", \"opinion_paragraph\": \"In our opinion, the accompanying financial statements present fairly, in all material respects, the financial position of [Entity] as at [date], and its financial performance and cash flows for the year then ended in accordance with Nepal Financial Reporting Standards (NFRS).\", \"basis_paragraph\": \"We conducted our audit in accordance with Nepal Standards on Auditing (NSA). Our responsibilities under those standards are further described in the Auditor\'s Responsibilities section below. We are independent of the entity in accordance with the ICAN Handbook of Code of Ethics, and we have fulfilled our other ethical responsibilities in accordance with these requirements. We believe that the audit evidence we have obtained is sufficient and appropriate to provide a basis for our opinion.\", \"eom_paragraph\": \"We draw attention to Note 14 of the financial statements, which describes the uncertainty related to the outcome of the pending lawsuit filed against the Company by XYZ Corp. Our opinion is not modified with respect to this matter\", \"other_matter_paragraph\": \"The financial statements of ABC Company for the year ended December 31, 2024, were audited by another auditor who expressed an unmodified opinion on those statements on March 15, 2025.\", \"kam_paragraphs\": [{\"heading\": \"Key Audit Matter Paragraph\", \"text\": \"As disclosed in Note 4 to the financial statements, the company holds finished goods and raw materials totaling $14.5 million, representing 35% of total current assets.Management values inventory at the lower of cost and net realizable value (NRV). Determining NRV requires significant management judgment regarding future selling prices, expected product obsolescence, and slow-moving inventory items. Because of the high level of estimation uncertainty and the material balance involved, we identified inventory valuation as a significant risk area requiring our focused audit attention.\"}], \"responsibilities_management\": \"Management is responsible for the preparation and fair presentation of these financial statements in accordance with Nepal Financial Reporting Standards (NFRS), and for such internal control as management determines is necessary to enable the preparation of financial statements that are free from material misstatement, whether due to fraud or error. In preparing the financial statements, management is responsible for assessing the Company\\u2019s ability to continue as a going concern, disclosing, as applicable, matters related to going concern and using the going concern basis of accounting unless management either intends to liquidate the Company or to cease operations, or has no realistic alternative but to do so. Those charged with governance are responsible for overseeing the Company\\u2019s financial reporting process.\", \"responsibilities_auditor\": \"Our objectives are to obtain reasonable assurance about whether the financial statements as a whole are free from material misstatement, whether due to fraud or error, and to issue an auditor\\u2019s report that includes our opinion. Reasonable assurance is a high level of assurance, but is not a guarantee that an audit conducted in accordance with Nepal Standards on Auditing (NSAs) will always detect a material misstatement when it exists. Misstatements can arise from fraud or error and are considered material if, individually or in the aggregate, they could reasonably be expected to influence the economic decisions of users taken on the basis of these financial statements.As part of an audit in accordance with NSAs, we exercise professional judgment and maintain professional skepticism throughout the audit. We also identify and assess the risks of material misstatement of the financial statements, whether due to fraud or error, design and perform audit procedures responsive to those risks, and obtain audit evidence that is sufficient and appropriate to provide a basis for our opinion. The risk of not detecting a material misstatement resulting from fraud is higher than for one resulting from error, as fraud may involve collusion, forgery, intentional omissions, misrepresentations, or the override of internal control. We obtain an understanding of internal control relevant to the audit in order to design audit procedures that are appropriate in the circumstances, but not for the purpose of expressing an opinion on the effectiveness of the Company\\u2019s internal control. We evaluate the appropriateness of accounting policies used and the reasonableness of accounting estimates and related disclosures made by management. We conclude on the appropriateness of management\\u2019s use of the going concern basis of accounting and, based on the audit evidence obtained, whether a material uncertainty exists related to events or conditions that may cast significant doubt on the Company\\u2019s ability to continue as a going concern. If we conclude that a material uncertainty exists, we are required to draw attention in our auditor\\u2019s report to the related disclosures in the financial statements or, if such disclosures are inadequate, to modify our opinion. Our conclusions are based on the audit evidence obtained up to the date of our auditor\\u2019s report. However, future events or conditions may cause the Company to cease to continue as a going concern. We evaluate the overall presentation, structure and content of the financial statements, including the disclosures, and whether the financial statements represent the underlying transactions and events in a manner that achieves fair presentation.We communicate with those charged with governance regarding, among other matters, the planned scope and timing of the audit and significant audit findings, including any significant deficiencies in internal control that we identify during our audit.\", \"signatory\": {\"name\": \"Kumar Prasad Nepal\", \"designation\": \"ra\", \"membership_no\": \"112346\", \"firm_name\": \"K Nepal and Associates\", \"place\": \"Kathmandu\", \"date\": \"2026-08-22\", \"udin\": \"hfjsdguH4566TYUU\"}}','ready',NULL,1,'2026-08-22 16:04:11',39117),(6,1,1,'depreciation','xlsx',NULL,'CA Nishant Test Company - depreciation - 20260824-210320.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - depreciation - 20260824-210320.xlsx','{\"pools\": [{\"pool\": \"a\", \"opening_base\": 500000, \"additions\": [{\"desc\": \"New laptop\", \"amount\": 120000, \"bs_month\": 3}], \"disposals\": 0, \"repairs\": 20000, \"business_use_pct\": 100}, {\"pool\": \"b\", \"opening_base\": 2000000, \"additions\": [{\"desc\": \"Delivery van\", \"amount\": 1800000, \"bs_month\": 6}], \"disposals\": 150000, \"repairs\": 50000, \"business_use_pct\": 90}], \"opts\": {\"special_industry\": false}}','ready',NULL,1,'2026-08-24 15:18:20',6957),(7,1,1,'depreciation','docx',NULL,'CA Nishant Test Company - depreciation - 20260824-210320.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - depreciation - 20260824-210320.docx','{\"pools\": [{\"pool\": \"a\", \"opening_base\": 500000, \"additions\": [{\"desc\": \"New laptop\", \"amount\": 120000, \"bs_month\": 3}], \"disposals\": 0, \"repairs\": 20000, \"business_use_pct\": 100}, {\"pool\": \"b\", \"opening_base\": 2000000, \"additions\": [{\"desc\": \"Delivery van\", \"amount\": 1800000, \"bs_month\": 6}], \"disposals\": 150000, \"repairs\": 50000, \"business_use_pct\": 90}], \"opts\": {\"special_industry\": false}}','ready',NULL,1,'2026-08-24 15:18:20',37645),(8,2,1,'salary_tds','xlsx',NULL,'CA Nishant Test Company - salary_tds - 20260824-210320.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - salary_tds - 20260824-210320.xlsx','{\"employees\": [{\"name\": \"Rita Sharma\", \"designation\": \"Accountant\", \"status\": \"individual\", \"basic_monthly\": 45000, \"allowance_monthly\": 5000, \"months\": 12, \"ssf_contributor\": true}, {\"name\": \"Bikash Thapa\", \"designation\": \"Manager\", \"status\": \"couple\", \"basic_monthly\": 80000, \"allowance_monthly\": 10000, \"months\": 12, \"ssf_contributor\": true}]}','ready',NULL,1,'2026-08-24 15:18:20',9202),(9,2,1,'salary_tds','docx',NULL,'CA Nishant Test Company - salary_tds - 20260824-210320.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - salary_tds - 20260824-210320.docx','{\"employees\": [{\"name\": \"Rita Sharma\", \"designation\": \"Accountant\", \"status\": \"individual\", \"basic_monthly\": 45000, \"allowance_monthly\": 5000, \"months\": 12, \"ssf_contributor\": true}, {\"name\": \"Bikash Thapa\", \"designation\": \"Manager\", \"status\": \"couple\", \"basic_monthly\": 80000, \"allowance_monthly\": 10000, \"months\": 12, \"ssf_contributor\": true}]}','ready',NULL,1,'2026-08-24 15:18:20',37813),(10,3,1,'personal_tax','xlsx',NULL,'CA Nishant Test Company - personal_tax - 20260824-210320.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - personal_tax - 20260824-210320.xlsx','{\"person\": {\"status\": \"individual\", \"is_resident_woman\": false, \"ssf_contributor\": true, \"is_senior_citizen\": false}, \"incomes\": {\"employment_assessable\": 900000, \"business_net_profit\": 300000, \"rental_gross\": 240000, \"rental_expenses\": 50000, \"other_income\": 20000}, \"deductions\": {\"retirement_contribution\": 90000, \"life_insurance_premium\": 25000, \"health_insurance_premium\": 15000, \"donations\": 10000}}','ready',NULL,1,'2026-08-24 15:18:20',7080),(11,3,1,'personal_tax','docx',NULL,'CA Nishant Test Company - personal_tax - 20260824-210320.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - personal_tax - 20260824-210320.docx','{\"person\": {\"status\": \"individual\", \"is_resident_woman\": false, \"ssf_contributor\": true, \"is_senior_citizen\": false}, \"incomes\": {\"employment_assessable\": 900000, \"business_net_profit\": 300000, \"rental_gross\": 240000, \"rental_expenses\": 50000, \"other_income\": 20000}, \"deductions\": {\"retirement_contribution\": 90000, \"life_insurance_premium\": 25000, \"health_insurance_premium\": 15000, \"donations\": 10000}}','ready',NULL,1,'2026-08-24 15:18:20',37836),(12,4,1,'biz_tax','xlsx',NULL,'CA Nishant Test Company - biz_tax - 20260824-210320.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - biz_tax - 20260824-210320.xlsx','{\"profit_before_tax\": 2500000, \"entity\": \"company\", \"rate_category\": \"general\", \"tax_holiday_pct\": 0, \"additions\": [{\"desc\": \"Disallowed entertainment\", \"amount\": 80000}], \"deductions\": [{\"desc\": \"Extra allowable provision\", \"amount\": 30000}], \"book_depreciation\": 400000, \"tax_depreciation\": 550000, \"donations\": 50000}','ready',NULL,1,'2026-08-24 15:18:20',6055),(13,4,1,'biz_tax','docx',NULL,'CA Nishant Test Company - biz_tax - 20260824-210320.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - biz_tax - 20260824-210320.docx','{\"profit_before_tax\": 2500000, \"entity\": \"company\", \"rate_category\": \"general\", \"tax_holiday_pct\": 0, \"additions\": [{\"desc\": \"Disallowed entertainment\", \"amount\": 80000}], \"deductions\": [{\"desc\": \"Extra allowable provision\", \"amount\": 30000}], \"book_depreciation\": 400000, \"tax_depreciation\": 550000, \"donations\": 50000}','ready',NULL,1,'2026-08-24 15:18:20',37740),(14,5,1,'penalty','xlsx',NULL,'CA Nishant Test Company - penalty - 20260824-210320.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - penalty - 20260824-210320.xlsx','{\"estimate_return_filed\": true, \"books_maintained\": true, \"assessable_income\": 2500000, \"months_late_return\": 2, \"advance_tax_estimate\": 625000, \"paid_by_poush\": 200000, \"paid_by_chaitra\": 200000, \"paid_by_ashad\": 200000, \"instalment_shortfalls\": []}','ready',NULL,1,'2026-08-24 15:18:20',5927),(15,5,1,'penalty','docx',NULL,'CA Nishant Test Company - penalty - 20260824-210320.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - penalty - 20260824-210320.docx','{\"estimate_return_filed\": true, \"books_maintained\": true, \"assessable_income\": 2500000, \"months_late_return\": 2, \"advance_tax_estimate\": 625000, \"paid_by_poush\": 200000, \"paid_by_chaitra\": 200000, \"paid_by_ashad\": 200000, \"instalment_shortfalls\": []}','ready',NULL,1,'2026-08-24 15:18:20',37787),(16,6,1,'tds','xlsx',NULL,'CA Nishant Test Company - tds - 20260824-210320.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - tds - 20260824-210320.xlsx','{\"entries\": [{\"category\": \"contract\", \"date\": \"2083-05-10\", \"party\": \"Himal Suppliers Pvt Ltd\", \"amount\": 500000}, {\"category\": \"commission\", \"date\": \"2083-06-15\", \"party\": \"Sagar Agency\", \"amount\": 120000}, {\"category\": \"consultancy_registered\", \"date\": \"2083-07-01\", \"party\": \"Everest Consulting\", \"amount\": 300000}], \"signatory\": {\"name\": \"Nishant Marasini\", \"designation\": \"ca\", \"membership_no\": \"12345\", \"firm_name\": \"CA Nishant Marasini & Associates\", \"place\": \"Kathmandu\", \"date\": \"2083-12-01\", \"udin\": \"2412345ABCDEF12345\"}}','ready',NULL,1,'2026-08-24 15:18:20',7942),(17,6,1,'tds','docx',NULL,'CA Nishant Test Company - tds - 20260824-210320.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - tds - 20260824-210320.docx','{\"entries\": [{\"category\": \"contract\", \"date\": \"2083-05-10\", \"party\": \"Himal Suppliers Pvt Ltd\", \"amount\": 500000}, {\"category\": \"commission\", \"date\": \"2083-06-15\", \"party\": \"Sagar Agency\", \"amount\": 120000}, {\"category\": \"consultancy_registered\", \"date\": \"2083-07-01\", \"party\": \"Everest Consulting\", \"amount\": 300000}], \"signatory\": {\"name\": \"Nishant Marasini\", \"designation\": \"ca\", \"membership_no\": \"12345\", \"firm_name\": \"CA Nishant Marasini & Associates\", \"place\": \"Kathmandu\", \"date\": \"2083-12-01\", \"udin\": \"2412345ABCDEF12345\"}}','ready',NULL,1,'2026-08-24 15:18:20',38001),(18,7,1,'vat','xlsx',NULL,'CA Nishant Test Company - vat - 20260824-210320.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - vat - 20260824-210320.xlsx','{\"entity\": {\"name\": \"CA Nishant Test Company\", \"pan\": \"600000001\", \"period_label\": \"Shrawan-Bhadra 2083\"}, \"sales\": [{\"date\": \"2083-04-05\", \"party\": \"Retail Buyer A\", \"desc\": \"Goods sold\", \"taxable_amount\": 800000, \"zero_rated_amount\": 0, \"exempt_amount\": 0}, {\"date\": \"2083-04-20\", \"party\": \"Export Buyer B\", \"desc\": \"Export sale\", \"taxable_amount\": 0, \"zero_rated_amount\": 200000, \"exempt_amount\": 0}], \"purchases\": [{\"date\": \"2083-04-02\", \"party\": \"Supplier X\", \"desc\": \"Raw material\", \"taxable_amount\": 400000, \"blocked\": false, \"capital_goods\": false}, {\"date\": \"2083-04-10\", \"party\": \"Supplier Y\", \"desc\": \"Office car\", \"taxable_amount\": 100000, \"blocked\": true, \"capital_goods\": false}], \"credit_notes_issued\": 10000, \"debit_notes_issued\": 0, \"credit_notes_received\": 5000, \"debit_notes_received\": 0, \"opening_credit\": 15000, \"mixed_supply\": false, \"signatory\": {\"name\": \"Nishant Marasini\", \"designation\": \"ca\", \"membership_no\": \"12345\", \"firm_name\": \"CA Nishant Marasini & Associates\", \"place\": \"Kathmandu\", \"date\": \"2083-12-01\", \"udin\": \"2412345ABCDEF12346\"}}','ready',NULL,1,'2026-08-24 15:18:20',8196),(19,7,1,'vat','docx',NULL,'CA Nishant Test Company - vat - 20260824-210320.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - vat - 20260824-210320.docx','{\"entity\": {\"name\": \"CA Nishant Test Company\", \"pan\": \"600000001\", \"period_label\": \"Shrawan-Bhadra 2083\"}, \"sales\": [{\"date\": \"2083-04-05\", \"party\": \"Retail Buyer A\", \"desc\": \"Goods sold\", \"taxable_amount\": 800000, \"zero_rated_amount\": 0, \"exempt_amount\": 0}, {\"date\": \"2083-04-20\", \"party\": \"Export Buyer B\", \"desc\": \"Export sale\", \"taxable_amount\": 0, \"zero_rated_amount\": 200000, \"exempt_amount\": 0}], \"purchases\": [{\"date\": \"2083-04-02\", \"party\": \"Supplier X\", \"desc\": \"Raw material\", \"taxable_amount\": 400000, \"blocked\": false, \"capital_goods\": false}, {\"date\": \"2083-04-10\", \"party\": \"Supplier Y\", \"desc\": \"Office car\", \"taxable_amount\": 100000, \"blocked\": true, \"capital_goods\": false}], \"credit_notes_issued\": 10000, \"debit_notes_issued\": 0, \"credit_notes_received\": 5000, \"debit_notes_received\": 0, \"opening_credit\": 15000, \"mixed_supply\": false, \"signatory\": {\"name\": \"Nishant Marasini\", \"designation\": \"ca\", \"membership_no\": \"12345\", \"firm_name\": \"CA Nishant Marasini & Associates\", \"place\": \"Kathmandu\", \"date\": \"2083-12-01\", \"udin\": \"2412345ABCDEF12346\"}}','ready',NULL,1,'2026-08-24 15:18:20',38020),(20,8,1,'inventory','xlsx',NULL,'CA Nishant Test Company - inventory - 20260824-210320.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - inventory - 20260824-210320.xlsx','{\"entity\": {\"name\": \"CA Nishant Test Company\", \"period_label\": \"FY 2083-84\"}, \"raw_materials\": [{\"name\": \"PVC resin\", \"unit\": \"kg\", \"costing_method\": \"weighted_avg\", \"opening\": {\"date\": \"2083-04-01\", \"qty\": 1000, \"rate\": 120}, \"purchases\": [{\"date\": \"2083-05-01\", \"qty\": 2000, \"rate\": 125, \"freight\": 5000, \"duty\": 2000, \"other_cost\": 0, \"discount\": 0, \"desc\": \"Purchase 1\"}], \"issues\": [{\"date\": \"2083-06-01\", \"qty\": 1500, \"desc\": \"Issued to production\"}], \"replacement_cost_per_unit\": 122, \"fg_expected_below_cost\": false}], \"wip\": {\"opening\": {\"qty\": 0, \"cost\": 0}, \"units_introduced\": 3000, \"material_cost_override\": null, \"direct_labor_cost\": 150000, \"variable_overhead\": 80000, \"normal_capacity_units\": 3000, \"actual_production_units\": 2800, \"budgeted_fixed_overhead\": 60000, \"normal_loss_units\": 50, \"abnormal_loss_units\": 20, \"scrap_rate_per_unit\": 5, \"units_completed_transferred\": 2700, \"closing_wip_units\": 30, \"closing_material_pct\": 100, \"closing_conversion_pct\": 60, \"nrv_selling_price_per_unit\": 200, \"nrv_cost_to_complete_per_unit\": 10, \"nrv_selling_cost_per_unit\": 5}, \"fg\": {\"costing_method\": \"weighted_avg\", \"opening\": {\"date\": \"2083-04-01\", \"qty\": 100, \"rate\": 180}, \"transfer_date\": \"2083-06-05\", \"sales\": [{\"date\": \"2083-06-10\", \"qty\": 2000, \"desc\": \"Sold to distributor\"}], \"selling_price_per_unit\": 200, \"selling_cost_per_unit\": 5}}','ready',NULL,1,'2026-08-24 15:18:20',11524),(21,8,1,'inventory','docx',NULL,'CA Nishant Test Company - inventory - 20260824-210320.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - inventory - 20260824-210320.docx','{\"entity\": {\"name\": \"CA Nishant Test Company\", \"period_label\": \"FY 2083-84\"}, \"raw_materials\": [{\"name\": \"PVC resin\", \"unit\": \"kg\", \"costing_method\": \"weighted_avg\", \"opening\": {\"date\": \"2083-04-01\", \"qty\": 1000, \"rate\": 120}, \"purchases\": [{\"date\": \"2083-05-01\", \"qty\": 2000, \"rate\": 125, \"freight\": 5000, \"duty\": 2000, \"other_cost\": 0, \"discount\": 0, \"desc\": \"Purchase 1\"}], \"issues\": [{\"date\": \"2083-06-01\", \"qty\": 1500, \"desc\": \"Issued to production\"}], \"replacement_cost_per_unit\": 122, \"fg_expected_below_cost\": false}], \"wip\": {\"opening\": {\"qty\": 0, \"cost\": 0}, \"units_introduced\": 3000, \"material_cost_override\": null, \"direct_labor_cost\": 150000, \"variable_overhead\": 80000, \"normal_capacity_units\": 3000, \"actual_production_units\": 2800, \"budgeted_fixed_overhead\": 60000, \"normal_loss_units\": 50, \"abnormal_loss_units\": 20, \"scrap_rate_per_unit\": 5, \"units_completed_transferred\": 2700, \"closing_wip_units\": 30, \"closing_material_pct\": 100, \"closing_conversion_pct\": 60, \"nrv_selling_price_per_unit\": 200, \"nrv_cost_to_complete_per_unit\": 10, \"nrv_selling_cost_per_unit\": 5}, \"fg\": {\"costing_method\": \"weighted_avg\", \"opening\": {\"date\": \"2083-04-01\", \"qty\": 100, \"rate\": 180}, \"transfer_date\": \"2083-06-05\", \"sales\": [{\"date\": \"2083-06-10\", \"qty\": 2000, \"desc\": \"Sold to distributor\"}], \"selling_price_per_unit\": 200, \"selling_cost_per_unit\": 5}}','ready',NULL,1,'2026-08-24 15:18:20',37598),(22,9,1,'fixed_assets','xlsx',NULL,'CA Nishant Test Company - fixed_assets - 20260824-210320.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - fixed_assets - 20260824-210320.xlsx','{\"entity\": {\"name\": \"CA Nishant Test Company\", \"period_label\": \"FY 2083-84\"}, \"classes\": [{\"key\": \"furniture\", \"label\": \"Furniture & fixtures\", \"method\": \"straight_line\", \"rate_pct\": 10, \"useful_life_years\": 10, \"residual_pct\": 5, \"opening_block_nbv\": 500000, \"opening_block_remaining_life_years\": 7, \"opening_block_residual_value\": 25000, \"assets\": [{\"code\": \"FA-01\", \"name\": \"Office desks\", \"status\": \"existing\", \"acquisition_date\": \"2080-04-01\", \"cost\": 300000, \"additional_cost\": 0, \"opening_nbv\": 250000, \"opening_nbv_remaining_life_years\": 7, \"opening_nbv_residual_value\": 15000, \"method\": \"straight_line\", \"rate_pct\": 10, \"useful_life_years\": 10, \"residual_pct\": 5, \"business_use_pct\": 100, \"disposal_date\": null, \"disposal_proceeds\": null}, {\"code\": \"FA-02\", \"name\": \"New chairs\", \"status\": \"addition\", \"acquisition_date\": \"2083-06-15\", \"cost\": 150000, \"additional_cost\": 0, \"opening_nbv\": 0, \"opening_nbv_remaining_life_years\": null, \"opening_nbv_residual_value\": null, \"method\": \"straight_line\", \"rate_pct\": 10, \"useful_life_years\": 10, \"residual_pct\": 5, \"business_use_pct\": 100, \"disposal_date\": null, \"disposal_proceeds\": null}]}]}','ready',NULL,1,'2026-08-24 15:18:20',8750),(23,9,1,'fixed_assets','docx',NULL,'CA Nishant Test Company - fixed_assets - 20260824-210320.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - fixed_assets - 20260824-210320.docx','{\"entity\": {\"name\": \"CA Nishant Test Company\", \"period_label\": \"FY 2083-84\"}, \"classes\": [{\"key\": \"furniture\", \"label\": \"Furniture & fixtures\", \"method\": \"straight_line\", \"rate_pct\": 10, \"useful_life_years\": 10, \"residual_pct\": 5, \"opening_block_nbv\": 500000, \"opening_block_remaining_life_years\": 7, \"opening_block_residual_value\": 25000, \"assets\": [{\"code\": \"FA-01\", \"name\": \"Office desks\", \"status\": \"existing\", \"acquisition_date\": \"2080-04-01\", \"cost\": 300000, \"additional_cost\": 0, \"opening_nbv\": 250000, \"opening_nbv_remaining_life_years\": 7, \"opening_nbv_residual_value\": 15000, \"method\": \"straight_line\", \"rate_pct\": 10, \"useful_life_years\": 10, \"residual_pct\": 5, \"business_use_pct\": 100, \"disposal_date\": null, \"disposal_proceeds\": null}, {\"code\": \"FA-02\", \"name\": \"New chairs\", \"status\": \"addition\", \"acquisition_date\": \"2083-06-15\", \"cost\": 150000, \"additional_cost\": 0, \"opening_nbv\": 0, \"opening_nbv_remaining_life_years\": null, \"opening_nbv_residual_value\": null, \"method\": \"straight_line\", \"rate_pct\": 10, \"useful_life_years\": 10, \"residual_pct\": 5, \"business_use_pct\": 100, \"disposal_date\": null, \"disposal_proceeds\": null}]}]}','ready',NULL,1,'2026-08-24 15:18:20',37520),(24,10,1,'emi','xlsx',NULL,'CA Nishant Test Company - emi - 20260824-210320.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - emi - 20260824-210320.xlsx','{\"principal\": 5000000, \"annual_rate\": 11.5, \"tenure_periods\": 60, \"frequency\": \"monthly\", \"repayment\": \"emi\", \"modifications\": []}','ready',NULL,1,'2026-08-24 15:18:20',14374),(25,10,1,'emi','docx',NULL,'CA Nishant Test Company - emi - 20260824-210320.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - emi - 20260824-210320.docx','{\"principal\": 5000000, \"annual_rate\": 11.5, \"tenure_periods\": 60, \"frequency\": \"monthly\", \"repayment\": \"emi\", \"modifications\": []}','ready',NULL,1,'2026-08-24 15:18:20',37316),(26,11,1,'lease','xlsx',NULL,'CA Nishant Test Company - lease - 20260824-210320.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - lease - 20260824-210320.xlsx','{\"payment\": 50000, \"periods\": 60, \"frequency\": \"monthly\", \"annual_rate\": 12, \"timing\": \"arrear\", \"tds_borne_by\": \"lessor\", \"start_date_ad\": \"2026-08-01\", \"rent_steps\": [{\"from_period\": 13, \"payment\": 55000}, {\"from_period\": 25, \"payment\": 60500}], \"modifications\": [], \"escalation\": {\"type\": \"pct\", \"pct\": 10, \"amount\": 0, \"every_years\": 1}, \"short_term_or_low_value\": false, \"initial_direct_costs\": 20000, \"incentives\": 0, \"restoration_provision\": 0}','ready',NULL,1,'2026-08-24 15:18:20',23306),(27,11,1,'lease','docx',NULL,'CA Nishant Test Company - lease - 20260824-210320.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - lease - 20260824-210320.docx','{\"payment\": 50000, \"periods\": 60, \"frequency\": \"monthly\", \"annual_rate\": 12, \"timing\": \"arrear\", \"tds_borne_by\": \"lessor\", \"start_date_ad\": \"2026-08-01\", \"rent_steps\": [{\"from_period\": 13, \"payment\": 55000}, {\"from_period\": 25, \"payment\": 60500}], \"modifications\": [], \"escalation\": {\"type\": \"pct\", \"pct\": 10, \"amount\": 0, \"every_years\": 1}, \"short_term_or_low_value\": false, \"initial_direct_costs\": 20000, \"incentives\": 0, \"restoration_provision\": 0}','ready',NULL,1,'2026-08-24 15:18:20',37621),(28,12,1,'fin_statements','xlsx',NULL,'CA Nishant Test Company - fin_statements - 20260824-210320.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - fin_statements - 20260824-210320.xlsx','{\"entity\": {\"name\": \"CA Nishant Test Company\", \"address\": \"Kathmandu, Nepal\", \"pan\": \"600000001\", \"fy_label\": \"2083-84\", \"prev_label\": \"2082-83\"}, \"rows\": [{\"name\": \"Cash in hand\", \"group\": \"Current Assets\", \"dr\": 150000, \"cr\": 0, \"prev\": 100000, \"opening_dr\": 100000, \"opening_cr\": 0}, {\"name\": \"Bank balance\", \"group\": \"Current Assets\", \"dr\": 850000, \"cr\": 0, \"prev\": 600000, \"opening_dr\": 600000, \"opening_cr\": 0}, {\"name\": \"Trade receivables\", \"group\": \"Current Assets\", \"dr\": 1200000, \"cr\": 0, \"prev\": 900000, \"opening_dr\": 900000, \"opening_cr\": 0}, {\"name\": \"Inventory\", \"group\": \"Current Assets\", \"dr\": 700000, \"cr\": 0, \"prev\": 500000, \"opening_dr\": 500000, \"opening_cr\": 0}, {\"name\": \"Furniture & fixtures\", \"group\": \"Non-current Assets\", \"dr\": 450000, \"cr\": 0, \"prev\": 500000, \"opening_dr\": 500000, \"opening_cr\": 0}, {\"name\": \"Trade payables\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 650000, \"prev\": 400000, \"opening_dr\": 0, \"opening_cr\": 400000}, {\"name\": \"Bank loan\", \"group\": \"Non-current Liabilities\", \"dr\": 0, \"cr\": 2000000, \"prev\": 2500000, \"opening_dr\": 0, \"opening_cr\": 2500000}, {\"name\": \"Share capital\", \"group\": \"Equity\", \"dr\": 0, \"cr\": 1000000, \"prev\": 1000000, \"opening_dr\": 0, \"opening_cr\": 1000000}, {\"name\": \"Retained earnings\", \"group\": \"Equity\", \"dr\": 0, \"cr\": 350000, \"prev\": 200000, \"opening_dr\": 0, \"opening_cr\": 200000}, {\"name\": \"Sales\", \"group\": \"Revenue\", \"dr\": 0, \"cr\": 8500000, \"prev\": 7200000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Purchases\", \"group\": \"Cost of Sales\", \"dr\": 5200000, \"cr\": 0, \"prev\": 4400000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Salary expense\", \"group\": \"Operating Expenses\", \"dr\": 1400000, \"cr\": 0, \"prev\": 1200000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Rent expense\", \"group\": \"Operating Expenses\", \"dr\": 300000, \"cr\": 0, \"prev\": 260000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Depreciation\", \"group\": \"Operating Expenses\", \"dr\": 150000, \"cr\": 0, \"prev\": 140000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Interest expense\", \"group\": \"Finance Cost\", \"dr\": 200000, \"cr\": 0, \"prev\": 250000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"TDS payable\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 50000, \"prev\": 30000, \"opening_dr\": 0, \"opening_cr\": 30000}, {\"name\": \"VAT payable\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 90000, \"prev\": 60000, \"opening_dr\": 0, \"opening_cr\": 60000}], \"closing_stock\": {\"current\": 700000, \"previous\": 500000}, \"accounting_policy\": \"These financial statements have been prepared in accordance with Nepal Financial Reporting Standards (NFRS) for Small and Medium-sized Entities.\", \"disclosures\": {\"related_party_transactions\": \"No material related party transactions during the year.\", \"contingent_liabilities\": \"None.\", \"capital_commitments\": \"None.\", \"subsequent_events\": \"No material subsequent events noted.\"}}','ready',NULL,1,'2026-08-24 15:18:20',9148),(29,12,1,'fin_statements','docx',NULL,'CA Nishant Test Company - fin_statements - 20260824-210320.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - fin_statements - 20260824-210320.docx','{\"entity\": {\"name\": \"CA Nishant Test Company\", \"address\": \"Kathmandu, Nepal\", \"pan\": \"600000001\", \"fy_label\": \"2083-84\", \"prev_label\": \"2082-83\"}, \"rows\": [{\"name\": \"Cash in hand\", \"group\": \"Current Assets\", \"dr\": 150000, \"cr\": 0, \"prev\": 100000, \"opening_dr\": 100000, \"opening_cr\": 0}, {\"name\": \"Bank balance\", \"group\": \"Current Assets\", \"dr\": 850000, \"cr\": 0, \"prev\": 600000, \"opening_dr\": 600000, \"opening_cr\": 0}, {\"name\": \"Trade receivables\", \"group\": \"Current Assets\", \"dr\": 1200000, \"cr\": 0, \"prev\": 900000, \"opening_dr\": 900000, \"opening_cr\": 0}, {\"name\": \"Inventory\", \"group\": \"Current Assets\", \"dr\": 700000, \"cr\": 0, \"prev\": 500000, \"opening_dr\": 500000, \"opening_cr\": 0}, {\"name\": \"Furniture & fixtures\", \"group\": \"Non-current Assets\", \"dr\": 450000, \"cr\": 0, \"prev\": 500000, \"opening_dr\": 500000, \"opening_cr\": 0}, {\"name\": \"Trade payables\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 650000, \"prev\": 400000, \"opening_dr\": 0, \"opening_cr\": 400000}, {\"name\": \"Bank loan\", \"group\": \"Non-current Liabilities\", \"dr\": 0, \"cr\": 2000000, \"prev\": 2500000, \"opening_dr\": 0, \"opening_cr\": 2500000}, {\"name\": \"Share capital\", \"group\": \"Equity\", \"dr\": 0, \"cr\": 1000000, \"prev\": 1000000, \"opening_dr\": 0, \"opening_cr\": 1000000}, {\"name\": \"Retained earnings\", \"group\": \"Equity\", \"dr\": 0, \"cr\": 350000, \"prev\": 200000, \"opening_dr\": 0, \"opening_cr\": 200000}, {\"name\": \"Sales\", \"group\": \"Revenue\", \"dr\": 0, \"cr\": 8500000, \"prev\": 7200000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Purchases\", \"group\": \"Cost of Sales\", \"dr\": 5200000, \"cr\": 0, \"prev\": 4400000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Salary expense\", \"group\": \"Operating Expenses\", \"dr\": 1400000, \"cr\": 0, \"prev\": 1200000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Rent expense\", \"group\": \"Operating Expenses\", \"dr\": 300000, \"cr\": 0, \"prev\": 260000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Depreciation\", \"group\": \"Operating Expenses\", \"dr\": 150000, \"cr\": 0, \"prev\": 140000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Interest expense\", \"group\": \"Finance Cost\", \"dr\": 200000, \"cr\": 0, \"prev\": 250000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"TDS payable\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 50000, \"prev\": 30000, \"opening_dr\": 0, \"opening_cr\": 30000}, {\"name\": \"VAT payable\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 90000, \"prev\": 60000, \"opening_dr\": 0, \"opening_cr\": 60000}], \"closing_stock\": {\"current\": 700000, \"previous\": 500000}, \"accounting_policy\": \"These financial statements have been prepared in accordance with Nepal Financial Reporting Standards (NFRS) for Small and Medium-sized Entities.\", \"disclosures\": {\"related_party_transactions\": \"No material related party transactions during the year.\", \"contingent_liabilities\": \"None.\", \"capital_commitments\": \"None.\", \"subsequent_events\": \"No material subsequent events noted.\"}}','ready',NULL,1,'2026-08-24 15:18:20',38826),(30,13,1,'grant','xlsx',NULL,'CA Nishant Test Company - grant - 20260824-210320.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - grant - 20260824-210320.xlsx','{\"meta\": {\"fy_start\": \"07-16\", \"fy_label\": \"bs\"}, \"grants\": [{\"name\": \"Export promotion subsidy\", \"type\": \"income\", \"amount\": 500000, \"received_date_ad\": \"2026-08-01\", \"recognition_method\": \"immediate\", \"related_asset_life_years\": null, \"conditions_met\": true}], \"events\": []}','ready',NULL,1,'2026-08-24 15:18:20',6553),(31,13,1,'grant','docx',NULL,'CA Nishant Test Company - grant - 20260824-210320.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - grant - 20260824-210320.docx','{\"meta\": {\"fy_start\": \"07-16\", \"fy_label\": \"bs\"}, \"grants\": [{\"name\": \"Export promotion subsidy\", \"type\": \"income\", \"amount\": 500000, \"received_date_ad\": \"2026-08-01\", \"recognition_method\": \"immediate\", \"related_asset_life_years\": null, \"conditions_met\": true}], \"events\": []}','ready',NULL,1,'2026-08-24 15:18:20',37315),(32,14,1,'projection','xlsx',NULL,'CA Nishant Test Company - projection - 20260824-210321.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - projection - 20260824-210321.xlsx','{\"company\": \"CA Nishant Test Company\", \"client\": \"greenfield\", \"years\": 5, \"industry\": \"Plastic Products \\u2014 PVC & HDPE Pipe\", \"loan_type\": \"epi\", \"loan\": 60000000, \"equity\": 40000000, \"rate\": 0.115, \"wc_rate\": 0.12, \"wc_margin\": 0.75, \"od_spread\": 0.01, \"disc_rate\": 0.13, \"tv_basis\": \"going\", \"tgrowth\": 0.03, \"proc_fee\": 0.0075, \"payout\": 0}','ready',NULL,1,'2026-08-24 15:18:21',15119),(33,14,1,'projection','docx',NULL,'CA Nishant Test Company - projection - 20260824-210321.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - projection - 20260824-210321.docx','{\"company\": \"CA Nishant Test Company\", \"client\": \"greenfield\", \"years\": 5, \"industry\": \"Plastic Products \\u2014 PVC & HDPE Pipe\", \"loan_type\": \"epi\", \"loan\": 60000000, \"equity\": 40000000, \"rate\": 0.115, \"wc_rate\": 0.12, \"wc_margin\": 0.75, \"od_spread\": 0.01, \"disc_rate\": 0.13, \"tv_basis\": \"going\", \"tgrowth\": 0.03, \"proc_fee\": 0.0075, \"payout\": 0}','ready',NULL,1,'2026-08-24 15:18:21',38438),(34,15,1,'valuation','xlsx',NULL,'CA Nishant Test Company - valuation - 20260824-210321.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - valuation - 20260824-210321.xlsx','{\"subject\": {\"name\": \"CA Nishant Test Company\", \"subject_type\": \"entity\", \"valuation_date\": \"2083-12-01\", \"purpose\": \"Sale negotiation\"}, \"workings\": [{\"id\": \"w1\", \"method\": \"nav\", \"label\": \"Net asset value\", \"fair_value_level\": 2, \"inputs\": {\"assets\": [{\"desc\": \"Fixed assets\", \"book_value\": 450000, \"fair_value\": 500000}, {\"desc\": \"Current assets\", \"book_value\": 2900000, \"fair_value\": 2900000}], \"liabilities\": [{\"desc\": \"Trade payables\", \"book_value\": 650000, \"fair_value\": 650000}, {\"desc\": \"Bank loan\", \"book_value\": 2000000, \"fair_value\": 2000000}]}}], \"conclusion\": {\"weights\": {\"w1\": 100}, \"notes\": \"NAV taken as sole basis given limited trading history.\"}}','ready',NULL,1,'2026-08-24 15:18:21',6790),(35,15,1,'valuation','docx',NULL,'CA Nishant Test Company - valuation - 20260824-210321.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - valuation - 20260824-210321.docx','{\"subject\": {\"name\": \"CA Nishant Test Company\", \"subject_type\": \"entity\", \"valuation_date\": \"2083-12-01\", \"purpose\": \"Sale negotiation\"}, \"workings\": [{\"id\": \"w1\", \"method\": \"nav\", \"label\": \"Net asset value\", \"fair_value_level\": 2, \"inputs\": {\"assets\": [{\"desc\": \"Fixed assets\", \"book_value\": 450000, \"fair_value\": 500000}, {\"desc\": \"Current assets\", \"book_value\": 2900000, \"fair_value\": 2900000}], \"liabilities\": [{\"desc\": \"Trade payables\", \"book_value\": 650000, \"fair_value\": 650000}, {\"desc\": \"Bank loan\", \"book_value\": 2000000, \"fair_value\": 2000000}]}}], \"conclusion\": {\"weights\": {\"w1\": 100}, \"notes\": \"NAV taken as sole basis given limited trading history.\"}}','ready',NULL,1,'2026-08-24 15:18:21',37480),(36,16,1,'internal_audit','xlsx',NULL,'CA Nishant Test Company - internal_audit - 20260824-210321.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - internal_audit - 20260824-210321.xlsx','{\"entity\": {\"name\": \"CA Nishant Test Company\", \"entity_type\": \"Private Limited\", \"other_entity_type_label\": \"\", \"period_label\": \"FY 2083-84\", \"scope\": \"Review of purchase-to-pay and cash controls\", \"objectives\": \"Assess control effectiveness\"}, \"planning\": {\"previous_findings_status\": \"No prior findings\", \"key_risks_noted\": \"Manual approval bottlenecks\"}, \"criteria_responses\": {}, \"findings\": [{\"area\": \"Purchase\", \"title\": \"No three-way match evidence\", \"severity\": \"medium\", \"recommendation\": \"Implement PO-GRN-invoice matching before payment\", \"management_response\": \"Agreed, to implement next quarter\"}], \"conclusion\": {\"overall_rating\": \"satisfactory\", \"summary\": \"Controls generally adequate with noted improvement areas.\"}, \"signatory\": {\"name\": \"Nishant Marasini\", \"designation\": \"ca\", \"membership_no\": \"12345\", \"firm_name\": \"CA Nishant Marasini & Associates\", \"place\": \"Kathmandu\", \"date\": \"2083-12-01\", \"udin\": \"2412345ABCDEF12347\"}}','ready',NULL,1,'2026-08-24 15:18:21',21794),(37,16,1,'internal_audit','docx',NULL,'CA Nishant Test Company - internal_audit - 20260824-210321.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - internal_audit - 20260824-210321.docx','{\"entity\": {\"name\": \"CA Nishant Test Company\", \"entity_type\": \"Private Limited\", \"other_entity_type_label\": \"\", \"period_label\": \"FY 2083-84\", \"scope\": \"Review of purchase-to-pay and cash controls\", \"objectives\": \"Assess control effectiveness\"}, \"planning\": {\"previous_findings_status\": \"No prior findings\", \"key_risks_noted\": \"Manual approval bottlenecks\"}, \"criteria_responses\": {}, \"findings\": [{\"area\": \"Purchase\", \"title\": \"No three-way match evidence\", \"severity\": \"medium\", \"recommendation\": \"Implement PO-GRN-invoice matching before payment\", \"management_response\": \"Agreed, to implement next quarter\"}], \"conclusion\": {\"overall_rating\": \"satisfactory\", \"summary\": \"Controls generally adequate with noted improvement areas.\"}, \"signatory\": {\"name\": \"Nishant Marasini\", \"designation\": \"ca\", \"membership_no\": \"12345\", \"firm_name\": \"CA Nishant Marasini & Associates\", \"place\": \"Kathmandu\", \"date\": \"2083-12-01\", \"udin\": \"2412345ABCDEF12347\"}}','ready',NULL,1,'2026-08-24 15:18:21',38068),(38,18,1,'audit_report','xlsx',NULL,'CA Nishant Test Company - audit_report - 20260824-210321.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - audit_report - 20260824-210321.xlsx','{\"entity\": {\"name\": \"CA Nishant Test Company\"}, \"opinion_type\": \"unqualified\", \"opinion_paragraph\": \"In our opinion, the accompanying financial statements present fairly, in all material respects, the financial position of CA Nishant Test Company as at Ashad end 2083, and its financial performance and cash flows for the year then ended in accordance with Nepal Financial Reporting Standards (NFRS).\", \"basis_paragraph\": \"We conducted our audit in accordance with Nepal Standards on Auditing (NSA).\", \"eom_paragraph\": \"\", \"other_matter_paragraph\": \"\", \"kam_paragraphs\": [], \"responsibilities_management\": \"Management is responsible for the preparation of the financial statements.\", \"responsibilities_auditor\": \"Our objectives are to obtain reasonable assurance about whether the financial statements as a whole are free from material misstatement.\", \"signatory\": {\"name\": \"Nishant Marasini\", \"designation\": \"ca\", \"membership_no\": \"12345\", \"firm_name\": \"CA Nishant Marasini & Associates\", \"place\": \"Kathmandu\", \"date\": \"2083-12-01\", \"udin\": \"2412345ABCDEF12349\"}}','ready',NULL,1,'2026-08-24 15:18:21',5720),(39,18,1,'audit_report','docx',NULL,'CA Nishant Test Company - audit_report - 20260824-210321.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - audit_report - 20260824-210321.docx','{\"entity\": {\"name\": \"CA Nishant Test Company\"}, \"opinion_type\": \"unqualified\", \"opinion_paragraph\": \"In our opinion, the accompanying financial statements present fairly, in all material respects, the financial position of CA Nishant Test Company as at Ashad end 2083, and its financial performance and cash flows for the year then ended in accordance with Nepal Financial Reporting Standards (NFRS).\", \"basis_paragraph\": \"We conducted our audit in accordance with Nepal Standards on Auditing (NSA).\", \"eom_paragraph\": \"\", \"other_matter_paragraph\": \"\", \"kam_paragraphs\": [], \"responsibilities_management\": \"Management is responsible for the preparation of the financial statements.\", \"responsibilities_auditor\": \"Our objectives are to obtain reasonable assurance about whether the financial statements as a whole are free from material misstatement.\", \"signatory\": {\"name\": \"Nishant Marasini\", \"designation\": \"ca\", \"membership_no\": \"12345\", \"firm_name\": \"CA Nishant Marasini & Associates\", \"place\": \"Kathmandu\", \"date\": \"2083-12-01\", \"udin\": \"2412345ABCDEF12349\"}}','ready',NULL,1,'2026-08-24 15:18:21',37284),(40,19,1,'dd','xlsx',NULL,'CA Nishant Test Company - dd - 20260824-210321.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - dd - 20260824-210321.xlsx','{\"eng\": {\"target\": \"CA Nishant Test Company\", \"pan\": \"600000001\", \"sector\": \"Manufacturing\", \"txn\": \"Acquisition\", \"stake\": 100, \"dealval\": 15000000, \"unit\": \"Thousands\", \"cur\": \"NPR\", \"latest_fy\": \"2082/83\", \"nyears\": 5, \"matmode\": \"auto\", \"mat\": 0, \"multiple\": 0}, \"fin\": {}, \"ov\": {}, \"g\": {\"dr\": [], \"acct\": [], \"tds\": [], \"conc\": [], \"stream\": [], \"norm\": [], \"wcm\": [], \"debt\": [], \"dlike\": [], \"rp\": [], \"oneoff\": [], \"cont\": [], \"it\": [], \"vat\": [], \"notice\": [], \"find\": [], \"rec\": []}}','ready',NULL,1,'2026-08-24 15:18:21',10389),(41,19,1,'dd','docx',NULL,'CA Nishant Test Company - dd - 20260824-210321.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - dd - 20260824-210321.docx','{\"eng\": {\"target\": \"CA Nishant Test Company\", \"pan\": \"600000001\", \"sector\": \"Manufacturing\", \"txn\": \"Acquisition\", \"stake\": 100, \"dealval\": 15000000, \"unit\": \"Thousands\", \"cur\": \"NPR\", \"latest_fy\": \"2082/83\", \"nyears\": 5, \"matmode\": \"auto\", \"mat\": 0, \"multiple\": 0}, \"fin\": {}, \"ov\": {}, \"g\": {\"dr\": [], \"acct\": [], \"tds\": [], \"conc\": [], \"stream\": [], \"norm\": [], \"wcm\": [], \"debt\": [], \"dlike\": [], \"rp\": [], \"oneoff\": [], \"cont\": [], \"it\": [], \"vat\": [], \"notice\": [], \"find\": [], \"rec\": []}}','ready',NULL,1,'2026-08-24 15:18:21',37689),(42,20,1,'fdi','xlsx',NULL,'CA Nishant Test Company - fdi - 20260824-210321.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - fdi - 20260824-210321.xlsx','{\"client\": {\"name\": \"CA Nishant Test Company\", \"status\": \"Proposed \\u2014 to be incorporated\", \"sector\": \"Manufacturing \\u2014 general\", \"pan\": \"600000001\"}, \"fx\": {\"base\": \"USD\", \"rate\": 135, \"rates\": {\"USD\": 135, \"EUR\": 146, \"INR\": 1.6}}, \"investors\": [{\"kind\": \"FC\", \"name\": \"Global Investor Pte Ltd\", \"country\": \"Singapore\", \"amount\": 500000, \"currency\": \"USD\", \"source_of_funds\": \"Retained earnings\"}], \"capital\": {\"authorised\": 100000000, \"issued\": 67500000, \"face_value\": 100, \"premium\": 0}, \"cost\": [[\"Land and land development\", 20000000], [\"Building and civil works\", 15000000], [\"Plant and machinery\", 25000000], [\"Utilities and installation\", 3000000], [\"Vehicles\", 2000000], [\"Office equipment and furniture\", 1000000], [\"Preliminary and pre-operative expenses\", 1500000], [\"Contingency\", 1000000], [\"Margin money for working capital\", 1500000]], \"loan\": {\"f_amt\": 3000000, \"f_rate\": 9, \"f_tenure\": 7, \"f_morat\": 1, \"f_cur\": \"USD\", \"l_amt\": 0, \"l_rate\": 11, \"l_tenure\": 7, \"l_morat\": 1}, \"proj\": {\"years\": 5, \"rev_y1\": 40000000, \"growth\": 10, \"util\": [60, 75, 85, 95, 100], \"cogs_pct\": 55, \"admin_pct\": 8, \"sell_pct\": 5, \"other_pct\": 2, \"salary_pct\": 0, \"dep_life\": 15, \"dep_bldg\": 20, \"preop_amort\": 5, \"tax_rate\": 20, \"tax_holiday\": 0, \"concession_pct\": 0, \"ar_days\": 45, \"inv_days\": 60, \"ap_days\": 30, \"payout\": 40, \"royalty_pct\": 0, \"tech_fee_pct\": 0, \"mgmt_fee_pct\": 0}, \"params\": {\"min_fdi\": 20000000, \"min_fdi_exempt_it\": true, \"auto_cap\": 500000000, \"ibn_threshold\": 6000000000, \"dividend_wht\": 5, \"interest_wht\": 15, \"royalty_wht\": 15, \"service_wht\": 15, \"cgt_non_resident\": 25, \"cgt_res_entity\": 15, \"cgt_res_indiv\": 10, \"vat\": 13, \"de_ratio\": 70, \"royalty_domestic_sales_cap\": 5, \"royalty_domestic_profit_cap\": 15, \"royalty_export_sales_cap\": 10, \"royalty_export_profit_cap\": 20, \"last_verified\": \"\"}, \"route\": {\"neg_checks\": {}, \"cap_override\": \"\", \"authority\": \"auto\", \"auto_eligible\": \"auto\"}, \"val\": {\"wacc\": 16, \"tg\": 4, \"pe\": 12, \"ev_ebitda\": 8, \"net_debt\": 0, \"net_assets\": 0, \"surplus\": 0, \"exit_year\": 5, \"exit_multiple\": 8, \"exit_cost_base\": 0, \"nav_weight\": 30, \"dcf_weight\": 40, \"pe_weight\": 15, \"ebitda_weight\": 15}, \"dd\": {}, \"tt\": {\"has\": true, \"licensor\": \"Global Investor Pte Ltd\", \"type\": \"Technical know-how and trade mark licence\", \"term\": 10}}','ready',NULL,1,'2026-08-24 15:18:21',11859),(43,20,1,'fdi','docx',NULL,'CA Nishant Test Company - fdi - 20260824-210321.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - fdi - 20260824-210321.docx','{\"client\": {\"name\": \"CA Nishant Test Company\", \"status\": \"Proposed \\u2014 to be incorporated\", \"sector\": \"Manufacturing \\u2014 general\", \"pan\": \"600000001\"}, \"fx\": {\"base\": \"USD\", \"rate\": 135, \"rates\": {\"USD\": 135, \"EUR\": 146, \"INR\": 1.6}}, \"investors\": [{\"kind\": \"FC\", \"name\": \"Global Investor Pte Ltd\", \"country\": \"Singapore\", \"amount\": 500000, \"currency\": \"USD\", \"source_of_funds\": \"Retained earnings\"}], \"capital\": {\"authorised\": 100000000, \"issued\": 67500000, \"face_value\": 100, \"premium\": 0}, \"cost\": [[\"Land and land development\", 20000000], [\"Building and civil works\", 15000000], [\"Plant and machinery\", 25000000], [\"Utilities and installation\", 3000000], [\"Vehicles\", 2000000], [\"Office equipment and furniture\", 1000000], [\"Preliminary and pre-operative expenses\", 1500000], [\"Contingency\", 1000000], [\"Margin money for working capital\", 1500000]], \"loan\": {\"f_amt\": 3000000, \"f_rate\": 9, \"f_tenure\": 7, \"f_morat\": 1, \"f_cur\": \"USD\", \"l_amt\": 0, \"l_rate\": 11, \"l_tenure\": 7, \"l_morat\": 1}, \"proj\": {\"years\": 5, \"rev_y1\": 40000000, \"growth\": 10, \"util\": [60, 75, 85, 95, 100], \"cogs_pct\": 55, \"admin_pct\": 8, \"sell_pct\": 5, \"other_pct\": 2, \"salary_pct\": 0, \"dep_life\": 15, \"dep_bldg\": 20, \"preop_amort\": 5, \"tax_rate\": 20, \"tax_holiday\": 0, \"concession_pct\": 0, \"ar_days\": 45, \"inv_days\": 60, \"ap_days\": 30, \"payout\": 40, \"royalty_pct\": 0, \"tech_fee_pct\": 0, \"mgmt_fee_pct\": 0}, \"params\": {\"min_fdi\": 20000000, \"min_fdi_exempt_it\": true, \"auto_cap\": 500000000, \"ibn_threshold\": 6000000000, \"dividend_wht\": 5, \"interest_wht\": 15, \"royalty_wht\": 15, \"service_wht\": 15, \"cgt_non_resident\": 25, \"cgt_res_entity\": 15, \"cgt_res_indiv\": 10, \"vat\": 13, \"de_ratio\": 70, \"royalty_domestic_sales_cap\": 5, \"royalty_domestic_profit_cap\": 15, \"royalty_export_sales_cap\": 10, \"royalty_export_profit_cap\": 20, \"last_verified\": \"\"}, \"route\": {\"neg_checks\": {}, \"cap_override\": \"\", \"authority\": \"auto\", \"auto_eligible\": \"auto\"}, \"val\": {\"wacc\": 16, \"tg\": 4, \"pe\": 12, \"ev_ebitda\": 8, \"net_debt\": 0, \"net_assets\": 0, \"surplus\": 0, \"exit_year\": 5, \"exit_multiple\": 8, \"exit_cost_base\": 0, \"nav_weight\": 30, \"dcf_weight\": 40, \"pe_weight\": 15, \"ebitda_weight\": 15}, \"dd\": {}, \"tt\": {\"has\": true, \"licensor\": \"Global Investor Pte Ltd\", \"type\": \"Technical know-how and trade mark licence\", \"term\": 10}}','ready',NULL,1,'2026-08-24 15:18:21',37727),(44,NULL,1,'fdi','docx_jva',NULL,'CA Nishant Test Company - JVA - 20260824-210321.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - JVA - 20260824-210321.docx','{\"client\": {\"name\": \"CA Nishant Test Company\", \"status\": \"Proposed \\u2014 to be incorporated\", \"sector\": \"Manufacturing \\u2014 general\", \"pan\": \"600000001\"}, \"fx\": {\"base\": \"USD\", \"rate\": 135, \"rates\": {\"USD\": 135, \"EUR\": 146, \"INR\": 1.6}}, \"investors\": [{\"kind\": \"FC\", \"name\": \"Global Investor Pte Ltd\", \"country\": \"Singapore\", \"amount\": 500000, \"currency\": \"USD\", \"source_of_funds\": \"Retained earnings\"}], \"capital\": {\"authorised\": 100000000, \"issued\": 67500000, \"face_value\": 100, \"premium\": 0}, \"cost\": [[\"Land and land development\", 20000000], [\"Building and civil works\", 15000000], [\"Plant and machinery\", 25000000], [\"Utilities and installation\", 3000000], [\"Vehicles\", 2000000], [\"Office equipment and furniture\", 1000000], [\"Preliminary and pre-operative expenses\", 1500000], [\"Contingency\", 1000000], [\"Margin money for working capital\", 1500000]], \"loan\": {\"f_amt\": 3000000, \"f_rate\": 9, \"f_tenure\": 7, \"f_morat\": 1, \"f_cur\": \"USD\", \"l_amt\": 0, \"l_rate\": 11, \"l_tenure\": 7, \"l_morat\": 1}, \"proj\": {\"years\": 5, \"rev_y1\": 40000000, \"growth\": 10, \"util\": [60, 75, 85, 95, 100], \"cogs_pct\": 55, \"admin_pct\": 8, \"sell_pct\": 5, \"other_pct\": 2, \"salary_pct\": 0, \"dep_life\": 15, \"dep_bldg\": 20, \"preop_amort\": 5, \"tax_rate\": 20, \"tax_holiday\": 0, \"concession_pct\": 0, \"ar_days\": 45, \"inv_days\": 60, \"ap_days\": 30, \"payout\": 40, \"royalty_pct\": 0, \"tech_fee_pct\": 0, \"mgmt_fee_pct\": 0}, \"params\": {\"min_fdi\": 20000000, \"min_fdi_exempt_it\": true, \"auto_cap\": 500000000, \"ibn_threshold\": 6000000000, \"dividend_wht\": 5, \"interest_wht\": 15, \"royalty_wht\": 15, \"service_wht\": 15, \"cgt_non_resident\": 25, \"cgt_res_entity\": 15, \"cgt_res_indiv\": 10, \"vat\": 13, \"de_ratio\": 70, \"royalty_domestic_sales_cap\": 5, \"royalty_domestic_profit_cap\": 15, \"royalty_export_sales_cap\": 10, \"royalty_export_profit_cap\": 20, \"last_verified\": \"\"}, \"route\": {\"neg_checks\": {}, \"cap_override\": \"\", \"authority\": \"auto\", \"auto_eligible\": \"auto\"}, \"val\": {\"wacc\": 16, \"tg\": 4, \"pe\": 12, \"ev_ebitda\": 8, \"net_debt\": 0, \"net_assets\": 0, \"surplus\": 0, \"exit_year\": 5, \"exit_multiple\": 8, \"exit_cost_base\": 0, \"nav_weight\": 30, \"dcf_weight\": 40, \"pe_weight\": 15, \"ebitda_weight\": 15}, \"dd\": {}, \"tt\": {\"has\": true, \"licensor\": \"Global Investor Pte Ltd\", \"type\": \"Technical know-how and trade mark licence\", \"term\": 10}}','ready',NULL,1,'2026-08-24 15:18:21',42924),(45,NULL,1,'fdi','docx_poa',NULL,'CA Nishant Test Company - POA - 20260824-210321.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - POA - 20260824-210321.docx','{\"client\": {\"name\": \"CA Nishant Test Company\", \"status\": \"Proposed \\u2014 to be incorporated\", \"sector\": \"Manufacturing \\u2014 general\", \"pan\": \"600000001\"}, \"fx\": {\"base\": \"USD\", \"rate\": 135, \"rates\": {\"USD\": 135, \"EUR\": 146, \"INR\": 1.6}}, \"investors\": [{\"kind\": \"FC\", \"name\": \"Global Investor Pte Ltd\", \"country\": \"Singapore\", \"amount\": 500000, \"currency\": \"USD\", \"source_of_funds\": \"Retained earnings\"}], \"capital\": {\"authorised\": 100000000, \"issued\": 67500000, \"face_value\": 100, \"premium\": 0}, \"cost\": [[\"Land and land development\", 20000000], [\"Building and civil works\", 15000000], [\"Plant and machinery\", 25000000], [\"Utilities and installation\", 3000000], [\"Vehicles\", 2000000], [\"Office equipment and furniture\", 1000000], [\"Preliminary and pre-operative expenses\", 1500000], [\"Contingency\", 1000000], [\"Margin money for working capital\", 1500000]], \"loan\": {\"f_amt\": 3000000, \"f_rate\": 9, \"f_tenure\": 7, \"f_morat\": 1, \"f_cur\": \"USD\", \"l_amt\": 0, \"l_rate\": 11, \"l_tenure\": 7, \"l_morat\": 1}, \"proj\": {\"years\": 5, \"rev_y1\": 40000000, \"growth\": 10, \"util\": [60, 75, 85, 95, 100], \"cogs_pct\": 55, \"admin_pct\": 8, \"sell_pct\": 5, \"other_pct\": 2, \"salary_pct\": 0, \"dep_life\": 15, \"dep_bldg\": 20, \"preop_amort\": 5, \"tax_rate\": 20, \"tax_holiday\": 0, \"concession_pct\": 0, \"ar_days\": 45, \"inv_days\": 60, \"ap_days\": 30, \"payout\": 40, \"royalty_pct\": 0, \"tech_fee_pct\": 0, \"mgmt_fee_pct\": 0}, \"params\": {\"min_fdi\": 20000000, \"min_fdi_exempt_it\": true, \"auto_cap\": 500000000, \"ibn_threshold\": 6000000000, \"dividend_wht\": 5, \"interest_wht\": 15, \"royalty_wht\": 15, \"service_wht\": 15, \"cgt_non_resident\": 25, \"cgt_res_entity\": 15, \"cgt_res_indiv\": 10, \"vat\": 13, \"de_ratio\": 70, \"royalty_domestic_sales_cap\": 5, \"royalty_domestic_profit_cap\": 15, \"royalty_export_sales_cap\": 10, \"royalty_export_profit_cap\": 20, \"last_verified\": \"\"}, \"route\": {\"neg_checks\": {}, \"cap_override\": \"\", \"authority\": \"auto\", \"auto_eligible\": \"auto\"}, \"val\": {\"wacc\": 16, \"tg\": 4, \"pe\": 12, \"ev_ebitda\": 8, \"net_debt\": 0, \"net_assets\": 0, \"surplus\": 0, \"exit_year\": 5, \"exit_multiple\": 8, \"exit_cost_base\": 0, \"nav_weight\": 30, \"dcf_weight\": 40, \"pe_weight\": 15, \"ebitda_weight\": 15}, \"dd\": {}, \"tt\": {\"has\": true, \"licensor\": \"Global Investor Pte Ltd\", \"type\": \"Technical know-how and trade mark licence\", \"term\": 10}}','ready',NULL,1,'2026-08-24 15:18:21',38282),(46,NULL,1,'fdi','docx_tta',NULL,'CA Nishant Test Company - Technology transfer agreement - 20260824-210321.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - Technology transfer agreement - 20260824-210321.docx','{\"client\": {\"name\": \"CA Nishant Test Company\", \"status\": \"Proposed \\u2014 to be incorporated\", \"sector\": \"Manufacturing \\u2014 general\", \"pan\": \"600000001\"}, \"fx\": {\"base\": \"USD\", \"rate\": 135, \"rates\": {\"USD\": 135, \"EUR\": 146, \"INR\": 1.6}}, \"investors\": [{\"kind\": \"FC\", \"name\": \"Global Investor Pte Ltd\", \"country\": \"Singapore\", \"amount\": 500000, \"currency\": \"USD\", \"source_of_funds\": \"Retained earnings\"}], \"capital\": {\"authorised\": 100000000, \"issued\": 67500000, \"face_value\": 100, \"premium\": 0}, \"cost\": [[\"Land and land development\", 20000000], [\"Building and civil works\", 15000000], [\"Plant and machinery\", 25000000], [\"Utilities and installation\", 3000000], [\"Vehicles\", 2000000], [\"Office equipment and furniture\", 1000000], [\"Preliminary and pre-operative expenses\", 1500000], [\"Contingency\", 1000000], [\"Margin money for working capital\", 1500000]], \"loan\": {\"f_amt\": 3000000, \"f_rate\": 9, \"f_tenure\": 7, \"f_morat\": 1, \"f_cur\": \"USD\", \"l_amt\": 0, \"l_rate\": 11, \"l_tenure\": 7, \"l_morat\": 1}, \"proj\": {\"years\": 5, \"rev_y1\": 40000000, \"growth\": 10, \"util\": [60, 75, 85, 95, 100], \"cogs_pct\": 55, \"admin_pct\": 8, \"sell_pct\": 5, \"other_pct\": 2, \"salary_pct\": 0, \"dep_life\": 15, \"dep_bldg\": 20, \"preop_amort\": 5, \"tax_rate\": 20, \"tax_holiday\": 0, \"concession_pct\": 0, \"ar_days\": 45, \"inv_days\": 60, \"ap_days\": 30, \"payout\": 40, \"royalty_pct\": 0, \"tech_fee_pct\": 0, \"mgmt_fee_pct\": 0}, \"params\": {\"min_fdi\": 20000000, \"min_fdi_exempt_it\": true, \"auto_cap\": 500000000, \"ibn_threshold\": 6000000000, \"dividend_wht\": 5, \"interest_wht\": 15, \"royalty_wht\": 15, \"service_wht\": 15, \"cgt_non_resident\": 25, \"cgt_res_entity\": 15, \"cgt_res_indiv\": 10, \"vat\": 13, \"de_ratio\": 70, \"royalty_domestic_sales_cap\": 5, \"royalty_domestic_profit_cap\": 15, \"royalty_export_sales_cap\": 10, \"royalty_export_profit_cap\": 20, \"last_verified\": \"\"}, \"route\": {\"neg_checks\": {}, \"cap_override\": \"\", \"authority\": \"auto\", \"auto_eligible\": \"auto\"}, \"val\": {\"wacc\": 16, \"tg\": 4, \"pe\": 12, \"ev_ebitda\": 8, \"net_debt\": 0, \"net_assets\": 0, \"surplus\": 0, \"exit_year\": 5, \"exit_multiple\": 8, \"exit_cost_base\": 0, \"nav_weight\": 30, \"dcf_weight\": 40, \"pe_weight\": 15, \"ebitda_weight\": 15}, \"dd\": {}, \"tt\": {\"has\": true, \"licensor\": \"Global Investor Pte Ltd\", \"type\": \"Technical know-how and trade mark licence\", \"term\": 10}}','ready',NULL,1,'2026-08-24 15:18:21',39241),(47,NULL,1,'fdi','docx_profiles',NULL,'CA Nishant Test Company - Investor profiles - 20260824-210321.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - Investor profiles - 20260824-210321.docx','{\"client\": {\"name\": \"CA Nishant Test Company\", \"status\": \"Proposed \\u2014 to be incorporated\", \"sector\": \"Manufacturing \\u2014 general\", \"pan\": \"600000001\"}, \"fx\": {\"base\": \"USD\", \"rate\": 135, \"rates\": {\"USD\": 135, \"EUR\": 146, \"INR\": 1.6}}, \"investors\": [{\"kind\": \"FC\", \"name\": \"Global Investor Pte Ltd\", \"country\": \"Singapore\", \"amount\": 500000, \"currency\": \"USD\", \"source_of_funds\": \"Retained earnings\"}], \"capital\": {\"authorised\": 100000000, \"issued\": 67500000, \"face_value\": 100, \"premium\": 0}, \"cost\": [[\"Land and land development\", 20000000], [\"Building and civil works\", 15000000], [\"Plant and machinery\", 25000000], [\"Utilities and installation\", 3000000], [\"Vehicles\", 2000000], [\"Office equipment and furniture\", 1000000], [\"Preliminary and pre-operative expenses\", 1500000], [\"Contingency\", 1000000], [\"Margin money for working capital\", 1500000]], \"loan\": {\"f_amt\": 3000000, \"f_rate\": 9, \"f_tenure\": 7, \"f_morat\": 1, \"f_cur\": \"USD\", \"l_amt\": 0, \"l_rate\": 11, \"l_tenure\": 7, \"l_morat\": 1}, \"proj\": {\"years\": 5, \"rev_y1\": 40000000, \"growth\": 10, \"util\": [60, 75, 85, 95, 100], \"cogs_pct\": 55, \"admin_pct\": 8, \"sell_pct\": 5, \"other_pct\": 2, \"salary_pct\": 0, \"dep_life\": 15, \"dep_bldg\": 20, \"preop_amort\": 5, \"tax_rate\": 20, \"tax_holiday\": 0, \"concession_pct\": 0, \"ar_days\": 45, \"inv_days\": 60, \"ap_days\": 30, \"payout\": 40, \"royalty_pct\": 0, \"tech_fee_pct\": 0, \"mgmt_fee_pct\": 0}, \"params\": {\"min_fdi\": 20000000, \"min_fdi_exempt_it\": true, \"auto_cap\": 500000000, \"ibn_threshold\": 6000000000, \"dividend_wht\": 5, \"interest_wht\": 15, \"royalty_wht\": 15, \"service_wht\": 15, \"cgt_non_resident\": 25, \"cgt_res_entity\": 15, \"cgt_res_indiv\": 10, \"vat\": 13, \"de_ratio\": 70, \"royalty_domestic_sales_cap\": 5, \"royalty_domestic_profit_cap\": 15, \"royalty_export_sales_cap\": 10, \"royalty_export_profit_cap\": 20, \"last_verified\": \"\"}, \"route\": {\"neg_checks\": {}, \"cap_override\": \"\", \"authority\": \"auto\", \"auto_eligible\": \"auto\"}, \"val\": {\"wacc\": 16, \"tg\": 4, \"pe\": 12, \"ev_ebitda\": 8, \"net_debt\": 0, \"net_assets\": 0, \"surplus\": 0, \"exit_year\": 5, \"exit_multiple\": 8, \"exit_cost_base\": 0, \"nav_weight\": 30, \"dcf_weight\": 40, \"pe_weight\": 15, \"ebitda_weight\": 15}, \"dd\": {}, \"tt\": {\"has\": true, \"licensor\": \"Global Investor Pte Ltd\", \"type\": \"Technical know-how and trade mark licence\", \"term\": 10}}','ready',NULL,1,'2026-08-24 15:18:21',39023),(48,NULL,1,'fdi','docx_advisory',NULL,'CA Nishant Test Company - Advisory report - 20260824-210321.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - Advisory report - 20260824-210321.docx','{\"client\": {\"name\": \"CA Nishant Test Company\", \"status\": \"Proposed \\u2014 to be incorporated\", \"sector\": \"Manufacturing \\u2014 general\", \"pan\": \"600000001\"}, \"fx\": {\"base\": \"USD\", \"rate\": 135, \"rates\": {\"USD\": 135, \"EUR\": 146, \"INR\": 1.6}}, \"investors\": [{\"kind\": \"FC\", \"name\": \"Global Investor Pte Ltd\", \"country\": \"Singapore\", \"amount\": 500000, \"currency\": \"USD\", \"source_of_funds\": \"Retained earnings\"}], \"capital\": {\"authorised\": 100000000, \"issued\": 67500000, \"face_value\": 100, \"premium\": 0}, \"cost\": [[\"Land and land development\", 20000000], [\"Building and civil works\", 15000000], [\"Plant and machinery\", 25000000], [\"Utilities and installation\", 3000000], [\"Vehicles\", 2000000], [\"Office equipment and furniture\", 1000000], [\"Preliminary and pre-operative expenses\", 1500000], [\"Contingency\", 1000000], [\"Margin money for working capital\", 1500000]], \"loan\": {\"f_amt\": 3000000, \"f_rate\": 9, \"f_tenure\": 7, \"f_morat\": 1, \"f_cur\": \"USD\", \"l_amt\": 0, \"l_rate\": 11, \"l_tenure\": 7, \"l_morat\": 1}, \"proj\": {\"years\": 5, \"rev_y1\": 40000000, \"growth\": 10, \"util\": [60, 75, 85, 95, 100], \"cogs_pct\": 55, \"admin_pct\": 8, \"sell_pct\": 5, \"other_pct\": 2, \"salary_pct\": 0, \"dep_life\": 15, \"dep_bldg\": 20, \"preop_amort\": 5, \"tax_rate\": 20, \"tax_holiday\": 0, \"concession_pct\": 0, \"ar_days\": 45, \"inv_days\": 60, \"ap_days\": 30, \"payout\": 40, \"royalty_pct\": 0, \"tech_fee_pct\": 0, \"mgmt_fee_pct\": 0}, \"params\": {\"min_fdi\": 20000000, \"min_fdi_exempt_it\": true, \"auto_cap\": 500000000, \"ibn_threshold\": 6000000000, \"dividend_wht\": 5, \"interest_wht\": 15, \"royalty_wht\": 15, \"service_wht\": 15, \"cgt_non_resident\": 25, \"cgt_res_entity\": 15, \"cgt_res_indiv\": 10, \"vat\": 13, \"de_ratio\": 70, \"royalty_domestic_sales_cap\": 5, \"royalty_domestic_profit_cap\": 15, \"royalty_export_sales_cap\": 10, \"royalty_export_profit_cap\": 20, \"last_verified\": \"\"}, \"route\": {\"neg_checks\": {}, \"cap_override\": \"\", \"authority\": \"auto\", \"auto_eligible\": \"auto\"}, \"val\": {\"wacc\": 16, \"tg\": 4, \"pe\": 12, \"ev_ebitda\": 8, \"net_debt\": 0, \"net_assets\": 0, \"surplus\": 0, \"exit_year\": 5, \"exit_multiple\": 8, \"exit_cost_base\": 0, \"nav_weight\": 30, \"dcf_weight\": 40, \"pe_weight\": 15, \"ebitda_weight\": 15}, \"dd\": {}, \"tt\": {\"has\": true, \"licensor\": \"Global Investor Pte Ltd\", \"type\": \"Technical know-how and trade mark licence\", \"term\": 10}}','ready',NULL,1,'2026-08-24 15:18:21',42016),(49,NULL,NULL,'invoice','docx',NULL,'CA Nishant Test Company - invoice - 20260824-210321.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - invoice - 20260824-210321.docx','{\"invoice_id\": 2}','ready',NULL,1,'2026-08-24 15:18:21',37186),(50,NULL,NULL,'client_directory','xlsx',NULL,'1 clients - client_directory - 20260824-210321.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/1 clients - client_directory - 20260824-210321.xlsx','[5]','ready',NULL,1,'2026-08-24 15:18:21',5617),(51,21,1,'stat_audit','xlsx',NULL,'CA Nishant Test Company - stat_audit - 20260824-210402.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - stat_audit - 20260824-210402.xlsx','{\"entity\": {\"name\": \"CA Nishant Test Company\", \"entity_type\": \"Private Limited\", \"other_entity_type_label\": \"\", \"period_label\": \"FY 2083-84\"}, \"materiality\": {\"benchmark\": \"Revenue\", \"benchmark_value\": 8500000, \"materiality_pct\": 1, \"pm_pct\": 75, \"ct_pct\": 5}, \"sample_size\": {\"population_value\": 5200000, \"population_count\": 120, \"tolerable_misstatement\": 63750, \"expected_misstatement\": 20000, \"risk_level\": \"medium\"}, \"risk_assessment\": {}, \"criteria_responses\": {}, \"findings\": [{\"area\": \"Revenue\", \"title\": \"Cut-off testing\", \"severity\": \"low\", \"recommendation\": \"Maintain current cut-off procedures\", \"management_response\": \"Noted\"}], \"conclusion\": {\"overall_rating\": \"unqualified\", \"summary\": \"No material misstatements identified.\"}, \"signatory\": {\"name\": \"Nishant Marasini\", \"designation\": \"ca\", \"membership_no\": \"12345\", \"firm_name\": \"CA Nishant Marasini & Associates\", \"place\": \"Kathmandu\", \"date\": \"2083-12-01\", \"udin\": \"2412345ABCDEF12348\"}}','ready',NULL,1,'2026-08-24 15:19:02',30245),(52,21,1,'stat_audit','docx',NULL,'CA Nishant Test Company - stat_audit - 20260824-210402.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - stat_audit - 20260824-210402.docx','{\"entity\": {\"name\": \"CA Nishant Test Company\", \"entity_type\": \"Private Limited\", \"other_entity_type_label\": \"\", \"period_label\": \"FY 2083-84\"}, \"materiality\": {\"benchmark\": \"Revenue\", \"benchmark_value\": 8500000, \"materiality_pct\": 1, \"pm_pct\": 75, \"ct_pct\": 5}, \"sample_size\": {\"population_value\": 5200000, \"population_count\": 120, \"tolerable_misstatement\": 63750, \"expected_misstatement\": 20000, \"risk_level\": \"medium\"}, \"risk_assessment\": {}, \"criteria_responses\": {}, \"findings\": [{\"area\": \"Revenue\", \"title\": \"Cut-off testing\", \"severity\": \"low\", \"recommendation\": \"Maintain current cut-off procedures\", \"management_response\": \"Noted\"}], \"conclusion\": {\"overall_rating\": \"unqualified\", \"summary\": \"No material misstatements identified.\"}, \"signatory\": {\"name\": \"Nishant Marasini\", \"designation\": \"ca\", \"membership_no\": \"12345\", \"firm_name\": \"CA Nishant Marasini & Associates\", \"place\": \"Kathmandu\", \"date\": \"2083-12-01\", \"udin\": \"2412345ABCDEF12348\"}}','ready',NULL,1,'2026-08-24 15:19:02',38419),(53,22,1,'fin_statements','xlsx',NULL,'CA Nishant Test Company - fin_statements - 20260824-210719.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - fin_statements - 20260824-210719.xlsx','{\"entity\": {\"name\": \"CA Nishant Test Company\", \"address\": \"Kathmandu, Nepal\", \"pan\": \"600000001\", \"fy_label\": \"2083-84\", \"prev_label\": \"2082-83\"}, \"rows\": [{\"name\": \"Cash in hand\", \"group\": \"Current Assets\", \"dr\": 150000, \"cr\": 0, \"prev\": 100000, \"opening_dr\": 100000, \"opening_cr\": 0}, {\"name\": \"Bank balance\", \"group\": \"Current Assets\", \"dr\": 850000, \"cr\": 0, \"prev\": 600000, \"opening_dr\": 600000, \"opening_cr\": 0}, {\"name\": \"Trade receivables\", \"group\": \"Current Assets\", \"dr\": 1200000, \"cr\": 0, \"prev\": 900000, \"opening_dr\": 900000, \"opening_cr\": 0}, {\"name\": \"Inventory\", \"group\": \"Current Assets\", \"dr\": 700000, \"cr\": 0, \"prev\": 500000, \"opening_dr\": 500000, \"opening_cr\": 0}, {\"name\": \"Furniture & fixtures\", \"group\": \"Non-current Assets\", \"dr\": 450000, \"cr\": 0, \"prev\": 500000, \"opening_dr\": 500000, \"opening_cr\": 0}, {\"name\": \"Trade payables\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 650000, \"prev\": 400000, \"opening_dr\": 0, \"opening_cr\": 400000}, {\"name\": \"Bank loan\", \"group\": \"Non-current Liabilities\", \"dr\": 0, \"cr\": 2000000, \"prev\": 2500000, \"opening_dr\": 0, \"opening_cr\": 2500000}, {\"name\": \"Share capital\", \"group\": \"Equity\", \"dr\": 0, \"cr\": 1000000, \"prev\": 1000000, \"opening_dr\": 0, \"opening_cr\": 1000000}, {\"name\": \"Retained earnings\", \"group\": \"Equity\", \"dr\": 0, \"cr\": 350000, \"prev\": 200000, \"opening_dr\": 0, \"opening_cr\": 200000}, {\"name\": \"Sales\", \"group\": \"Revenue\", \"dr\": 0, \"cr\": 8500000, \"prev\": 7200000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Purchases\", \"group\": \"Cost of Sales\", \"dr\": 5200000, \"cr\": 0, \"prev\": 4400000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Salary expense\", \"group\": \"Operating Expenses\", \"dr\": 1400000, \"cr\": 0, \"prev\": 1200000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Rent expense\", \"group\": \"Operating Expenses\", \"dr\": 300000, \"cr\": 0, \"prev\": 260000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Depreciation\", \"group\": \"Operating Expenses\", \"dr\": 150000, \"cr\": 0, \"prev\": 140000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Interest expense\", \"group\": \"Finance Cost\", \"dr\": 200000, \"cr\": 0, \"prev\": 250000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"TDS payable\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 50000, \"prev\": 30000, \"opening_dr\": 0, \"opening_cr\": 30000}, {\"name\": \"VAT payable\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 90000, \"prev\": 60000, \"opening_dr\": 0, \"opening_cr\": 60000}], \"closing_stock\": {\"current\": 700000, \"previous\": 500000}, \"accounting_policy\": \"NFRS for SMEs.\", \"disclosures\": {\"related_party_transactions\": \"None.\", \"contingent_liabilities\": \"None.\", \"capital_commitments\": \"None.\", \"subsequent_events\": \"None.\"}}','ready',NULL,1,'2026-08-24 15:22:19',9048),(54,23,1,'fin_statements','xlsx',NULL,'CA Nishant Test Company - fin_statements - 20260824-210955.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - fin_statements - 20260824-210955.xlsx','{\"entity\": {\"name\": \"CA Nishant Test Company\", \"address\": \"Kathmandu, Nepal\", \"pan\": \"600000001\", \"fy_label\": \"2083-84\", \"prev_label\": \"2082-83\"}, \"rows\": [{\"name\": \"Cash in hand\", \"group\": \"Current Assets\", \"dr\": 150000, \"cr\": 0, \"prev\": 100000, \"opening_dr\": 100000, \"opening_cr\": 0}, {\"name\": \"Bank balance\", \"group\": \"Current Assets\", \"dr\": 850000, \"cr\": 0, \"prev\": 600000, \"opening_dr\": 600000, \"opening_cr\": 0}, {\"name\": \"Trade receivables\", \"group\": \"Current Assets\", \"dr\": 1200000, \"cr\": 0, \"prev\": 900000, \"opening_dr\": 900000, \"opening_cr\": 0}, {\"name\": \"Inventory\", \"group\": \"Current Assets\", \"dr\": 700000, \"cr\": 0, \"prev\": 500000, \"opening_dr\": 500000, \"opening_cr\": 0}, {\"name\": \"Furniture & fixtures\", \"group\": \"Non-current Assets\", \"dr\": 450000, \"cr\": 0, \"prev\": 500000, \"opening_dr\": 500000, \"opening_cr\": 0}, {\"name\": \"Trade payables\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 650000, \"prev\": 400000, \"opening_dr\": 0, \"opening_cr\": 400000}, {\"name\": \"Bank loan\", \"group\": \"Non-current Liabilities\", \"dr\": 0, \"cr\": 2000000, \"prev\": 2500000, \"opening_dr\": 0, \"opening_cr\": 2500000}, {\"name\": \"Share capital\", \"group\": \"Equity\", \"dr\": 0, \"cr\": 1000000, \"prev\": 1000000, \"opening_dr\": 0, \"opening_cr\": 1000000}, {\"name\": \"Retained earnings\", \"group\": \"Equity\", \"dr\": 0, \"cr\": 350000, \"prev\": 200000, \"opening_dr\": 0, \"opening_cr\": 200000}, {\"name\": \"Sales\", \"group\": \"Revenue\", \"dr\": 0, \"cr\": 8500000, \"prev\": 7200000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Purchases\", \"group\": \"Cost of Sales\", \"dr\": 5200000, \"cr\": 0, \"prev\": 4400000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Salary expense\", \"group\": \"Operating Expenses\", \"dr\": 1400000, \"cr\": 0, \"prev\": 1200000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Rent expense\", \"group\": \"Operating Expenses\", \"dr\": 300000, \"cr\": 0, \"prev\": 260000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Depreciation\", \"group\": \"Operating Expenses\", \"dr\": 150000, \"cr\": 0, \"prev\": 140000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Interest expense\", \"group\": \"Finance Cost\", \"dr\": 200000, \"cr\": 0, \"prev\": 250000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"TDS payable\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 50000, \"prev\": 30000, \"opening_dr\": 0, \"opening_cr\": 30000}, {\"name\": \"VAT payable\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 90000, \"prev\": 60000, \"opening_dr\": 0, \"opening_cr\": 60000}], \"closing_stock\": {\"current\": 700000, \"previous\": 500000}, \"accounting_policy\": \"NFRS for SMEs.\", \"disclosures\": {\"related_party_transactions\": \"None.\", \"contingent_liabilities\": \"None.\", \"capital_commitments\": \"None.\", \"subsequent_events\": \"None.\"}}','ready',NULL,1,'2026-08-24 15:24:55',9229),(55,NULL,NULL,'transfer_pricing','xlsx',NULL,'CA Nishant Test Company - Related party transactions - 20260824-211038.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - Related party transactions - 20260824-211038.xlsx','{\"report_type\": \"related_party\", \"client_id\": 5, \"fy\": \"2083-84\"}','ready',NULL,1,'2026-08-24 15:25:38',7783),(56,NULL,NULL,'transfer_pricing','docx',NULL,'CA Nishant Test Company - Related party transactions - 20260824-211038.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - Related party transactions - 20260824-211038.docx','{\"report_type\": \"related_party\", \"client_id\": 5, \"fy\": \"2083-84\"}','ready',NULL,1,'2026-08-24 15:25:38',37800),(57,NULL,NULL,'transfer_pricing','xlsx',NULL,'CA Nishant Test Company - FAR, method & benchmarking - 20260824-211038.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - FAR, method & benchmarking - 20260824-211038.xlsx','{\"report_type\": \"far_method_benchmark\", \"client_id\": 5, \"fy\": \"2083-84\"}','ready',NULL,1,'2026-08-24 15:25:38',6733),(58,NULL,NULL,'transfer_pricing','docx',NULL,'CA Nishant Test Company - FAR, method & benchmarking - 20260824-211038.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - FAR, method & benchmarking - 20260824-211038.docx','{\"report_type\": \"far_method_benchmark\", \"client_id\": 5, \"fy\": \"2083-84\"}','ready',NULL,1,'2026-08-24 15:25:38',37696),(59,NULL,NULL,'transfer_pricing','xlsx',NULL,'CA Nishant Test Company - Risk assessment - 20260824-211038.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - Risk assessment - 20260824-211038.xlsx','{\"report_type\": \"risk_assessment\", \"client_id\": 5, \"fy\": \"2083-84\"}','ready',NULL,1,'2026-08-24 15:25:38',5728),(60,NULL,NULL,'transfer_pricing','docx',NULL,'CA Nishant Test Company - Risk assessment - 20260824-211038.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - Risk assessment - 20260824-211038.docx','{\"report_type\": \"risk_assessment\", \"client_id\": 5, \"fy\": \"2083-84\"}','ready',NULL,1,'2026-08-24 15:25:38',37562),(61,NULL,NULL,'transfer_pricing','xlsx',NULL,'CA Nishant Test Company - Transfer pricing study - 20260824-211038.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - Transfer pricing study - 20260824-211038.xlsx','{\"report_type\": \"tp_study\", \"client_id\": 5, \"fy\": \"2083-84\"}','ready',NULL,1,'2026-08-24 15:25:38',9204),(62,NULL,NULL,'transfer_pricing','docx',NULL,'CA Nishant Test Company - Transfer pricing study - 20260824-211038.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - Transfer pricing study - 20260824-211038.docx','{\"report_type\": \"tp_study\", \"client_id\": 5, \"fy\": \"2083-84\"}','ready',NULL,1,'2026-08-24 15:25:38',38105),(63,NULL,NULL,'transfer_pricing','xlsx',NULL,'CA Nishant Test Company - Adjustment exposure - 20260824-211038.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - Adjustment exposure - 20260824-211038.xlsx','{\"report_type\": \"adjustment_exposure\", \"client_id\": 5, \"fy\": \"2083-84\"}','ready',NULL,1,'2026-08-24 15:25:38',5934),(64,NULL,NULL,'transfer_pricing','docx',NULL,'CA Nishant Test Company - Adjustment exposure - 20260824-211038.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - Adjustment exposure - 20260824-211038.docx','{\"report_type\": \"adjustment_exposure\", \"client_id\": 5, \"fy\": \"2083-84\"}','ready',NULL,1,'2026-08-24 15:25:38',37583),(65,NULL,NULL,'transfer_pricing','xlsx',NULL,'CA Nishant Test Company - Documentation gap - 20260824-211038.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - Documentation gap - 20260824-211038.xlsx','{\"report_type\": \"documentation_gap\", \"client_id\": 5, \"fy\": \"2083-84\"}','ready',NULL,1,'2026-08-24 15:25:38',5482),(66,NULL,NULL,'transfer_pricing','docx',NULL,'CA Nishant Test Company - Documentation gap - 20260824-211038.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - Documentation gap - 20260824-211038.docx','{\"report_type\": \"documentation_gap\", \"client_id\": 5, \"fy\": \"2083-84\"}','ready',NULL,1,'2026-08-24 15:25:38',37328),(67,NULL,NULL,'transfer_pricing','docx',NULL,'CA Nishant Test Company - Advisory memo - 20260824-211038.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - Advisory memo - 20260824-211038.docx','{\"report_type\": \"advisory_memo\", \"client_id\": 5, \"fy\": \"2083-84\"}','ready',NULL,1,'2026-08-24 15:25:38',37417),(68,NULL,NULL,'transfer_pricing','docx',NULL,'CA Nishant Test Company - Client information request - 20260824-211038.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - Client information request - 20260824-211038.docx','{\"report_type\": \"client_info_request\", \"client_id\": 5, \"fy\": \"2083-84\"}','ready',NULL,1,'2026-08-24 15:25:38',37464),(69,NULL,NULL,'transfer_pricing','docx',NULL,'CA Nishant Test Company - Working paper pack - 20260824-211038.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - Working paper pack - 20260824-211038.docx','{\"report_type\": \"working_paper_pack\", \"client_id\": 5, \"fy\": \"2083-84\"}','ready',NULL,1,'2026-08-24 15:25:38',37255),(70,24,1,'tds','xlsx',NULL,'CA Nishant Test Company - tds - 20260824-211619.xlsx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - tds - 20260824-211619.xlsx','{\"entries\": [{\"category\": \"contract\", \"date\": \"2083-05-10\", \"party\": \"Himal Suppliers Pvt Ltd\", \"gross_amount\": 500000, \"description\": \"Supply contract\"}, {\"category\": \"commission\", \"date\": \"2083-06-15\", \"party\": \"Sagar Agency\", \"gross_amount\": 120000, \"description\": \"Sales commission\"}, {\"category\": \"consultancy_registered\", \"date\": \"2083-07-01\", \"party\": \"Everest Consulting\", \"gross_amount\": 300000, \"description\": \"Advisory fees\"}], \"signatory\": {\"name\": \"Nishant Marasini\", \"designation\": \"ca\", \"membership_no\": \"12345\", \"firm_name\": \"CA Nishant Marasini & Associates\", \"place\": \"Kathmandu\", \"date\": \"2083-12-01\", \"udin\": \"2412345ABCDEF12346\"}}','ready',NULL,1,'2026-08-24 15:31:19',8028),(71,24,1,'tds','docx',NULL,'CA Nishant Test Company - tds - 20260824-211619.docx','/Users/nishantha/Desktop/ca-automator/data/reports/CA Nishant Test Company - tds - 20260824-211619.docx','{\"entries\": [{\"category\": \"contract\", \"date\": \"2083-05-10\", \"party\": \"Himal Suppliers Pvt Ltd\", \"gross_amount\": 500000, \"description\": \"Supply contract\"}, {\"category\": \"commission\", \"date\": \"2083-06-15\", \"party\": \"Sagar Agency\", \"gross_amount\": 120000, \"description\": \"Sales commission\"}, {\"category\": \"consultancy_registered\", \"date\": \"2083-07-01\", \"party\": \"Everest Consulting\", \"gross_amount\": 300000, \"description\": \"Advisory fees\"}], \"signatory\": {\"name\": \"Nishant Marasini\", \"designation\": \"ca\", \"membership_no\": \"12345\", \"firm_name\": \"CA Nishant Marasini & Associates\", \"place\": \"Kathmandu\", \"date\": \"2083-12-01\", \"udin\": \"2412345ABCDEF12346\"}}','ready',NULL,1,'2026-08-24 15:31:19',38055);
/*!40000 ALTER TABLE `report` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `report_template`
--

DROP TABLE IF EXISTS `report_template`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `report_template` (
  `id` int NOT NULL AUTO_INCREMENT,
  `module_key` varchar(100) NOT NULL,
  `format` varchar(100) NOT NULL,
  `name` varchar(100) NOT NULL,
  `description` text,
  `spec` text,
  `is_default` int NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `module_key` (`module_key`,`format`,`name`)
) ENGINE=InnoDB AUTO_INCREMENT=29 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `report_template`
--

LOCK TABLES `report_template` WRITE;
/*!40000 ALTER TABLE `report_template` DISABLE KEYS */;
INSERT INTO `report_template` VALUES (1,'depreciation','xlsx','Schedule 2 pool computation','Pool-wise opening base, absorbed additions, disposals, depreciation, closing base',NULL,1),(2,'depreciation','docx','Depreciation working paper','Narrative working paper with pool table and review points',NULL,1),(3,'salary_tds','xlsx','Salary TDS register','Employee-wise annual computation and monthly TDS',NULL,1),(4,'salary_tds','docx','Salary tax certificate note','Per-employee computation statement',NULL,1),(5,'biz_tax','xlsx','Business income tax computation','Profit before tax to tax payable, D-03 aligned',NULL,1),(6,'biz_tax','docx','Tax computation memorandum','Narrative computation with disallowance notes',NULL,1),(7,'penalty','xlsx','Fees, interest and penalty computation','Section-wise exposure schedule',NULL,1),(8,'penalty','docx','Penalty exposure note','Client-facing explanation of exposure and mitigation',NULL,1),(9,'emi','xlsx','Loan amortisation schedule','Instalment-wise principal/interest split and journal entries',NULL,1),(10,'emi','docx','Loan summary note','Loan terms, effective cost and accounting treatment',NULL,1),(11,'lease','xlsx','NFRS 16 lease schedule','ROU asset and lease liability amortisation',NULL,1),(12,'lease','docx','Lease accounting memorandum','Classification, discount rate and disclosure note',NULL,1),(13,'engagement','docx','Engagement letter','Standard engagement letter on firm letterhead',NULL,1),(14,'engagement','xlsx','Engagement status report','Portfolio status across clients and deadlines',NULL,1);
/*!40000 ALTER TABLE `report_template` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `role_template`
--

DROP TABLE IF EXISTS `role_template`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `role_template` (
  `id` int NOT NULL AUTO_INCREMENT,
  `firm_id` int DEFAULT NULL,
  `key` text NOT NULL,
  `name` text NOT NULL,
  `description` text,
  `module_grants` varchar(100) NOT NULL DEFAULT '[]',
  `is_builtin` int NOT NULL DEFAULT '0',
  `created_by` int DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `created_by` (`created_by`),
  KEY `ix_role_template_firm` (`firm_id`),
  CONSTRAINT `role_template_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE,
  CONSTRAINT `role_template_ibfk_2` FOREIGN KEY (`created_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `role_template`
--

LOCK TABLES `role_template` WRITE;
/*!40000 ALTER TABLE `role_template` DISABLE KEYS */;
INSERT INTO `role_template` VALUES (1,NULL,'hr','HR','Manages job postings and applications.','[\"career_admin\"]',1,NULL,'2026-08-29 16:27:51','2026-08-29 16:27:51'),(2,NULL,'accountant','Accountant','Time & billing plus the core accounting engines.','[\"billing\", \"fin_statements\", \"depreciation\", \"fixed_assets\", \"vat\", \"tds\"]',1,NULL,'2026-08-29 16:27:51','2026-08-29 16:27:51'),(3,NULL,'content_creator','Content Creator','Manages the blog and the landing-page chatbot\'s leads.','[\"chatbot_admin\"]',1,NULL,'2026-08-29 16:27:51','2026-08-29 16:27:51'),(4,NULL,'auditor','Auditor','Internal audit, statutory audit and audit execution.','[\"internal_audit\", \"stat_audit\", \"audit_execution\"]',1,NULL,'2026-08-29 16:27:51','2026-08-29 16:27:51'),(5,NULL,'tax_preparer','Tax Preparer','The tax-computation modules.','[\"biz_tax\", \"personal_tax\", \"tds\", \"vat\", \"penalty\"]',1,NULL,'2026-08-29 16:27:51','2026-08-29 16:27:51'),(6,NULL,'site_manager','Site Manager','Site settings — services, pages, firm profile, integrations.','[\"site_settings\"]',1,NULL,'2026-08-29 16:27:51','2026-08-29 16:27:51');
/*!40000 ALTER TABLE `role_template` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `service`
--

DROP TABLE IF EXISTS `service`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `service` (
  `id` int NOT NULL AUTO_INCREMENT,
  `firm_id` int NOT NULL,
  `category_id` int DEFAULT NULL,
  `slug` varchar(100) NOT NULL,
  `name` text NOT NULL,
  `summary` text,
  `description_html` text,
  `price_type` varchar(100) NOT NULL DEFAULT 'enquire',
  `price` double DEFAULT NULL,
  `currency` varchar(100) NOT NULL DEFAULT 'NPR',
  `duration_label` text,
  `is_buyable` int NOT NULL DEFAULT '0',
  `requires_appointment` int NOT NULL DEFAULT '1',
  `image_path` text,
  `meta_title` text,
  `meta_description` text,
  `is_published` int NOT NULL DEFAULT '0',
  `sort_order` int NOT NULL DEFAULT '0',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_at` text,
  `problem_html` text,
  `process_html` text,
  `who_for_html` text,
  `benefits_html` text,
  `documents_html` text,
  PRIMARY KEY (`id`),
  UNIQUE KEY `firm_id` (`firm_id`,`slug`),
  KEY `category_id` (`category_id`),
  KEY `ix_service_firm` (`firm_id`,`is_published`),
  CONSTRAINT `service_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE,
  CONSTRAINT `service_ibfk_2` FOREIGN KEY (`category_id`) REFERENCES `service_category` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `service`
--

LOCK TABLES `service` WRITE;
/*!40000 ALTER TABLE `service` DISABLE KEYS */;
INSERT INTO `service` VALUES (1,1,1,'fdi-nepal','Foreign Direct Investment Assessment','Bring FDI into Nepal. for Hassle free consultation Book now.','This is test','fixed',200000,'NPR','1 Month',0,1,'','FDI Into Nepal','Best FDI Guide',1,0,'2026-08-29 05:07:08','2026-08-29 09:56:21','','','','','');
/*!40000 ALTER TABLE `service` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `service_category`
--

DROP TABLE IF EXISTS `service_category`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `service_category` (
  `id` int NOT NULL AUTO_INCREMENT,
  `firm_id` int NOT NULL,
  `slug` varchar(100) NOT NULL,
  `name` text NOT NULL,
  `sort_order` int NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  UNIQUE KEY `firm_id` (`firm_id`,`slug`),
  CONSTRAINT `service_category_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `service_category`
--

LOCK TABLES `service_category` WRITE;
/*!40000 ALTER TABLE `service_category` DISABLE KEYS */;
INSERT INTO `service_category` VALUES (1,1,'fdi-nepal','FDI',0);
/*!40000 ALTER TABLE `service_category` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `service_faq`
--

DROP TABLE IF EXISTS `service_faq`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `service_faq` (
  `id` int NOT NULL AUTO_INCREMENT,
  `service_id` int NOT NULL,
  `question` text NOT NULL,
  `answer` text NOT NULL,
  `sort_order` int NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`),
  KEY `ix_service_faq_service` (`service_id`),
  CONSTRAINT `service_faq_ibfk_1` FOREIGN KEY (`service_id`) REFERENCES `service` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `service_faq`
--

LOCK TABLES `service_faq` WRITE;
/*!40000 ALTER TABLE `service_faq` DISABLE KEYS */;
/*!40000 ALTER TABLE `service_faq` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `service_order`
--

DROP TABLE IF EXISTS `service_order`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `service_order` (
  `id` int NOT NULL AUTO_INCREMENT,
  `firm_id` int NOT NULL,
  `service_id` int NOT NULL,
  `client_id` int DEFAULT NULL,
  `name` text NOT NULL,
  `email` text NOT NULL,
  `phone` text,
  `amount` double NOT NULL,
  `currency` varchar(100) NOT NULL DEFAULT 'NPR',
  `status` varchar(100) NOT NULL DEFAULT 'pending_payment',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `firm_id` (`firm_id`),
  KEY `service_id` (`service_id`),
  KEY `client_id` (`client_id`),
  CONSTRAINT `service_order_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE,
  CONSTRAINT `service_order_ibfk_2` FOREIGN KEY (`service_id`) REFERENCES `service` (`id`),
  CONSTRAINT `service_order_ibfk_3` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `service_order`
--

LOCK TABLES `service_order` WRITE;
/*!40000 ALTER TABLE `service_order` DISABLE KEYS */;
INSERT INTO `service_order` VALUES (1,1,1,NULL,'Test User','test@example.com','',20000000,'NPR','pending_payment','2026-08-29 05:10:20');
/*!40000 ALTER TABLE `service_order` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `setting`
--

DROP TABLE IF EXISTS `setting`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `setting` (
  `key` varchar(100) NOT NULL,
  `value` text,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`key`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `setting`
--

LOCK TABLES `setting` WRITE;
/*!40000 ALTER TABLE `setting` DISABLE KEYS */;
INSERT INTO `setting` VALUES ('autosave_interval_seconds','300','2026-08-18 14:21:22'),('rate_master_verified','false','2026-08-18 14:21:22'),('site_name','CA Nishant Marasini','2026-08-18 14:21:22'),('site_tagline','Chartered Accountants','2026-08-18 14:21:22'),('snapshot_retention_days','120','2026-08-18 14:21:22');
/*!40000 ALTER TABLE `setting` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `site_banner`
--

DROP TABLE IF EXISTS `site_banner`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `site_banner` (
  `firm_id` int NOT NULL,
  `title` text,
  `message` text,
  `image_path` text,
  `link_url` text,
  `link_label` text,
  `display_seconds` int NOT NULL DEFAULT '0',
  `is_active` int NOT NULL DEFAULT '0',
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_by` int DEFAULT NULL,
  PRIMARY KEY (`firm_id`),
  KEY `updated_by` (`updated_by`),
  CONSTRAINT `site_banner_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE,
  CONSTRAINT `site_banner_ibfk_2` FOREIGN KEY (`updated_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `site_banner`
--

LOCK TABLES `site_banner` WRITE;
/*!40000 ALTER TABLE `site_banner` DISABLE KEYS */;
INSERT INTO `site_banner` VALUES (1,'He Is founder','Notice test','http://localhost:8000/media/7017f8995141cf746612d858a0e07f61.jpg','www.kreesa.com','Business',30,1,'2026-08-29 13:22:26',1);
/*!40000 ALTER TABLE `site_banner` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `skill`
--

DROP TABLE IF EXISTS `skill`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `skill` (
  `id` int NOT NULL AUTO_INCREMENT,
  `firm_id` int NOT NULL,
  `name` varchar(255) NOT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `firm_id` (`firm_id`,`name`),
  CONSTRAINT `skill_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `skill`
--

LOCK TABLES `skill` WRITE;
/*!40000 ALTER TABLE `skill` DISABLE KEYS */;
/*!40000 ALTER TABLE `skill` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `smtp_config`
--

DROP TABLE IF EXISTS `smtp_config`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `smtp_config` (
  `firm_id` int NOT NULL,
  `host` text,
  `port` int NOT NULL DEFAULT '587',
  `username` text,
  `password_enc` text,
  `from_name` text,
  `from_email` text,
  `use_tls` int NOT NULL DEFAULT '1',
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_by` int DEFAULT NULL,
  PRIMARY KEY (`firm_id`),
  KEY `updated_by` (`updated_by`),
  CONSTRAINT `smtp_config_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE,
  CONSTRAINT `smtp_config_ibfk_2` FOREIGN KEY (`updated_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `smtp_config`
--

LOCK TABLES `smtp_config` WRITE;
/*!40000 ALTER TABLE `smtp_config` DISABLE KEYS */;
/*!40000 ALTER TABLE `smtp_config` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `sync_conflict`
--

DROP TABLE IF EXISTS `sync_conflict`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `sync_conflict` (
  `id` int NOT NULL AUTO_INCREMENT,
  `workfile_id` int NOT NULL,
  `incoming` text NOT NULL,
  `server_state` text NOT NULL,
  `base_version` int DEFAULT NULL,
  `device_id` text,
  `detected_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `resolved_at` text,
  `resolution` text,
  PRIMARY KEY (`id`),
  KEY `workfile_id` (`workfile_id`),
  CONSTRAINT `sync_conflict_ibfk_1` FOREIGN KEY (`workfile_id`) REFERENCES `workfile` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `sync_conflict`
--

LOCK TABLES `sync_conflict` WRITE;
/*!40000 ALTER TABLE `sync_conflict` DISABLE KEYS */;
/*!40000 ALTER TABLE `sync_conflict` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `task`
--

DROP TABLE IF EXISTS `task`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `task` (
  `id` int NOT NULL AUTO_INCREMENT,
  `engagement_id` int DEFAULT NULL,
  `client_id` int DEFAULT NULL,
  `title` text NOT NULL,
  `detail` text,
  `assignee_id` int DEFAULT NULL,
  `priority` varchar(100) DEFAULT 'normal',
  `due_date` varchar(100) DEFAULT NULL,
  `status` varchar(100) NOT NULL DEFAULT 'open',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `completed_at` text,
  `parent_task_id` int DEFAULT NULL,
  `reviewer_id` int DEFAULT NULL,
  `estimated_hours` double DEFAULT NULL,
  `overdue_notified_at` text,
  PRIMARY KEY (`id`),
  KEY `engagement_id` (`engagement_id`),
  KEY `client_id` (`client_id`),
  KEY `assignee_id` (`assignee_id`),
  KEY `ix_task_status` (`status`,`due_date`),
  KEY `parent_task_id` (`parent_task_id`),
  KEY `reviewer_id` (`reviewer_id`),
  CONSTRAINT `task_ibfk_1` FOREIGN KEY (`engagement_id`) REFERENCES `engagement` (`id`) ON DELETE CASCADE,
  CONSTRAINT `task_ibfk_2` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `task_ibfk_3` FOREIGN KEY (`assignee_id`) REFERENCES `app_user` (`id`),
  CONSTRAINT `task_ibfk_4` FOREIGN KEY (`parent_task_id`) REFERENCES `task` (`id`) ON DELETE CASCADE,
  CONSTRAINT `task_ibfk_5` FOREIGN KEY (`reviewer_id`) REFERENCES `app_user` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `task`
--

LOCK TABLES `task` WRITE;
/*!40000 ALTER TABLE `task` DISABLE KEYS */;
/*!40000 ALTER TABLE `task` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `task_checklist_item`
--

DROP TABLE IF EXISTS `task_checklist_item`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `task_checklist_item` (
  `id` int NOT NULL AUTO_INCREMENT,
  `task_id` int NOT NULL,
  `label` text NOT NULL,
  `is_done` int NOT NULL DEFAULT '0',
  `sort_order` int NOT NULL DEFAULT '0',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_task_checklist_task` (`task_id`),
  CONSTRAINT `task_checklist_item_ibfk_1` FOREIGN KEY (`task_id`) REFERENCES `task` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `task_checklist_item`
--

LOCK TABLES `task_checklist_item` WRITE;
/*!40000 ALTER TABLE `task_checklist_item` DISABLE KEYS */;
/*!40000 ALTER TABLE `task_checklist_item` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `task_dependency`
--

DROP TABLE IF EXISTS `task_dependency`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `task_dependency` (
  `id` int NOT NULL AUTO_INCREMENT,
  `task_id` int NOT NULL,
  `depends_on_task_id` int NOT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `task_id` (`task_id`,`depends_on_task_id`),
  KEY `depends_on_task_id` (`depends_on_task_id`),
  CONSTRAINT `task_dependency_ibfk_1` FOREIGN KEY (`task_id`) REFERENCES `task` (`id`) ON DELETE CASCADE,
  CONSTRAINT `task_dependency_ibfk_2` FOREIGN KEY (`depends_on_task_id`) REFERENCES `task` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `task_dependency`
--

LOCK TABLES `task_dependency` WRITE;
/*!40000 ALTER TABLE `task_dependency` DISABLE KEYS */;
/*!40000 ALTER TABLE `task_dependency` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `tax_case`
--

DROP TABLE IF EXISTS `tax_case`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `tax_case` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `case_type` varchar(100) NOT NULL DEFAULT 'notice',
  `reference_no` text,
  `authority` text,
  `fy_label` text,
  `subject` text,
  `amount_demanded` double DEFAULT NULL,
  `stage` varchar(100) NOT NULL DEFAULT 'notice_received',
  `status` varchar(100) NOT NULL DEFAULT 'open',
  `due_date` text,
  `response_text` text,
  `notes` text,
  `created_by` int DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `created_by` (`created_by`),
  KEY `ix_tax_case_client` (`client_id`,`status`),
  CONSTRAINT `tax_case_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `tax_case_ibfk_2` FOREIGN KEY (`created_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tax_case`
--

LOCK TABLES `tax_case` WRITE;
/*!40000 ALTER TABLE `tax_case` DISABLE KEYS */;
/*!40000 ALTER TABLE `tax_case` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `tax_case_issue`
--

DROP TABLE IF EXISTS `tax_case_issue`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `tax_case_issue` (
  `id` int NOT NULL AUTO_INCREMENT,
  `case_id` int NOT NULL,
  `client_id` int NOT NULL,
  `issue_description` text NOT NULL,
  `our_position` text,
  `department_position` text,
  `amount_involved` double DEFAULT NULL,
  `likelihood` varchar(100) NOT NULL DEFAULT 'uncertain',
  `status` varchar(100) NOT NULL DEFAULT 'open',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `client_id` (`client_id`),
  KEY `ix_tax_issue_case` (`case_id`),
  CONSTRAINT `tax_case_issue_ibfk_1` FOREIGN KEY (`case_id`) REFERENCES `tax_case` (`id`) ON DELETE CASCADE,
  CONSTRAINT `tax_case_issue_ibfk_2` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tax_case_issue`
--

LOCK TABLES `tax_case_issue` WRITE;
/*!40000 ALTER TABLE `tax_case_issue` DISABLE KEYS */;
/*!40000 ALTER TABLE `tax_case_issue` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `tax_computation_summary`
--

DROP TABLE IF EXISTS `tax_computation_summary`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `tax_computation_summary` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `fy_label` varchar(100) NOT NULL,
  `entity_type` text,
  `book_profit` double NOT NULL DEFAULT '0',
  `total_adjustments` double NOT NULL DEFAULT '0',
  `taxable_income` double NOT NULL DEFAULT '0',
  `tax_rate_pct` double NOT NULL DEFAULT '0',
  `tax_liability` double NOT NULL DEFAULT '0',
  `turnover` double DEFAULT NULL,
  `minimum_tax_pct` double DEFAULT NULL,
  `notes` text,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `client_id` (`client_id`,`fy_label`),
  CONSTRAINT `tax_computation_summary_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tax_computation_summary`
--

LOCK TABLES `tax_computation_summary` WRITE;
/*!40000 ALTER TABLE `tax_computation_summary` DISABLE KEYS */;
/*!40000 ALTER TABLE `tax_computation_summary` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `tax_deductibility_check`
--

DROP TABLE IF EXISTS `tax_deductibility_check`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `tax_deductibility_check` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `fy_label` varchar(100) NOT NULL,
  `description` text NOT NULL,
  `amount` double NOT NULL DEFAULT '0',
  `category` text,
  `status` varchar(100) NOT NULL DEFAULT 'under_review',
  `reason` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_tax_deduct_client` (`client_id`,`fy_label`),
  CONSTRAINT `tax_deductibility_check_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tax_deductibility_check`
--

LOCK TABLES `tax_deductibility_check` WRITE;
/*!40000 ALTER TABLE `tax_deductibility_check` DISABLE KEYS */;
/*!40000 ALTER TABLE `tax_deductibility_check` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `tax_pe_risk_factor`
--

DROP TABLE IF EXISTS `tax_pe_risk_factor`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `tax_pe_risk_factor` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `factor` text NOT NULL,
  `present` int NOT NULL DEFAULT '0',
  `details` text,
  `risk_level` varchar(100) NOT NULL DEFAULT 'Low',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_tax_pe_client` (`client_id`),
  CONSTRAINT `tax_pe_risk_factor_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tax_pe_risk_factor`
--

LOCK TABLES `tax_pe_risk_factor` WRITE;
/*!40000 ALTER TABLE `tax_pe_risk_factor` DISABLE KEYS */;
INSERT INTO `tax_pe_risk_factor` VALUES (1,4,'Fixed place of business through which the business is wholly or partly carried on',0,NULL,'Low','2026-08-29 15:40:57'),(2,4,'Dependent agent habitually concluding contracts on the enterprise\'s behalf',0,NULL,'Low','2026-08-29 15:40:57'),(3,4,'Building site / construction or installation project exceeding the duration test',0,NULL,'Low','2026-08-29 15:40:57'),(4,4,'Furnishing of services (including consultancy) through employees present beyond the duration test',0,NULL,'Low','2026-08-29 15:40:57'),(5,4,'Warehouse used for delivery of goods belonging to the enterprise',0,NULL,'Low','2026-08-29 15:40:57'),(6,4,'Server / equipment located in the jurisdiction constituting a fixed place of business',0,NULL,'Low','2026-08-29 15:40:57');
/*!40000 ALTER TABLE `tax_pe_risk_factor` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `tax_provision_line`
--

DROP TABLE IF EXISTS `tax_provision_line`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `tax_provision_line` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `fy_label` varchar(100) NOT NULL,
  `particular` text NOT NULL,
  `book_value` double NOT NULL DEFAULT '0',
  `tax_value` double NOT NULL DEFAULT '0',
  `notes` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_tax_prov_client` (`client_id`,`fy_label`),
  CONSTRAINT `tax_provision_line_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tax_provision_line`
--

LOCK TABLES `tax_provision_line` WRITE;
/*!40000 ALTER TABLE `tax_provision_line` DISABLE KEYS */;
/*!40000 ALTER TABLE `tax_provision_line` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `tax_tds_reconciliation_line`
--

DROP TABLE IF EXISTS `tax_tds_reconciliation_line`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `tax_tds_reconciliation_line` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `fy_label` varchar(100) NOT NULL,
  `section` text,
  `payee` text,
  `base_amount` double NOT NULL DEFAULT '0',
  `tds_deducted` double NOT NULL DEFAULT '0',
  `tds_deposited` double NOT NULL DEFAULT '0',
  `return_filed` int NOT NULL DEFAULT '0',
  `notes` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_tax_tdsrec_client` (`client_id`,`fy_label`),
  CONSTRAINT `tax_tds_reconciliation_line_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tax_tds_reconciliation_line`
--

LOCK TABLES `tax_tds_reconciliation_line` WRITE;
/*!40000 ALTER TABLE `tax_tds_reconciliation_line` DISABLE KEYS */;
/*!40000 ALTER TABLE `tax_tds_reconciliation_line` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `tax_vat_purchase_line`
--

DROP TABLE IF EXISTS `tax_vat_purchase_line`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `tax_vat_purchase_line` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `period_label` varchar(100) NOT NULL,
  `invoice_no` text,
  `party` text,
  `taxable_purchase` double NOT NULL DEFAULT '0',
  `input_vat` double NOT NULL DEFAULT '0',
  `eligible` int NOT NULL DEFAULT '1',
  `ineligibility_reason` text,
  `matched_with_supplier` int NOT NULL DEFAULT '0',
  `notes` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_tax_vpurch_client` (`client_id`,`period_label`),
  CONSTRAINT `tax_vat_purchase_line_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tax_vat_purchase_line`
--

LOCK TABLES `tax_vat_purchase_line` WRITE;
/*!40000 ALTER TABLE `tax_vat_purchase_line` DISABLE KEYS */;
/*!40000 ALTER TABLE `tax_vat_purchase_line` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `tax_vat_sales_line`
--

DROP TABLE IF EXISTS `tax_vat_sales_line`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `tax_vat_sales_line` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `period_label` varchar(100) NOT NULL,
  `invoice_no` text,
  `party` text,
  `taxable_sales` double NOT NULL DEFAULT '0',
  `output_vat` double NOT NULL DEFAULT '0',
  `declared_in_return` int NOT NULL DEFAULT '0',
  `notes` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_tax_vsales_client` (`client_id`,`period_label`),
  CONSTRAINT `tax_vat_sales_line_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tax_vat_sales_line`
--

LOCK TABLES `tax_vat_sales_line` WRITE;
/*!40000 ALTER TABLE `tax_vat_sales_line` DISABLE KEYS */;
/*!40000 ALTER TABLE `tax_vat_sales_line` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `tax_working_paper`
--

DROP TABLE IF EXISTS `tax_working_paper`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `tax_working_paper` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `case_id` int DEFAULT NULL,
  `ref` text NOT NULL,
  `title` text,
  `content` text,
  `prepared_by` int DEFAULT NULL,
  `prepared_at` text,
  `reviewed_by` int DEFAULT NULL,
  `reviewed_at` text,
  `review_status` varchar(100) NOT NULL DEFAULT 'open',
  `review_comment` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `case_id` (`case_id`),
  KEY `prepared_by` (`prepared_by`),
  KEY `reviewed_by` (`reviewed_by`),
  KEY `ix_tax_wp_client` (`client_id`),
  CONSTRAINT `tax_working_paper_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `tax_working_paper_ibfk_2` FOREIGN KEY (`case_id`) REFERENCES `tax_case` (`id`) ON DELETE SET NULL,
  CONSTRAINT `tax_working_paper_ibfk_3` FOREIGN KEY (`prepared_by`) REFERENCES `app_user` (`id`),
  CONSTRAINT `tax_working_paper_ibfk_4` FOREIGN KEY (`reviewed_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tax_working_paper`
--

LOCK TABLES `tax_working_paper` WRITE;
/*!40000 ALTER TABLE `tax_working_paper` DISABLE KEYS */;
/*!40000 ALTER TABLE `tax_working_paper` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `team_member`
--

DROP TABLE IF EXISTS `team_member`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `team_member` (
  `id` int NOT NULL AUTO_INCREMENT,
  `firm_id` int NOT NULL,
  `name` text NOT NULL,
  `designation` text,
  `bio` text,
  `expertise` text,
  `photo_path` text,
  `linkedin_url` text,
  `sort_order` int NOT NULL DEFAULT '0',
  `is_published` int NOT NULL DEFAULT '0',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `slug` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `ux_team_member_slug` (`slug`),
  KEY `ix_team_member_firm` (`firm_id`,`is_published`),
  CONSTRAINT `team_member_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `team_member`
--

LOCK TABLES `team_member` WRITE;
/*!40000 ALTER TABLE `team_member` DISABLE KEYS */;
INSERT INTO `team_member` VALUES (1,1,'Nishant Marasini','CEO','Nishant Marasini is a persistent and nice person who aims to be one of the top 10 entrepreneurs in Nepal.','FInance','/media/fbacbd4693afcc66689e59f83455101a.jpg','https://np.linkedin.com/in/nishant-marasini-20b3bb14b',0,1,'2026-08-29 12:26:41','nishant-marasini');
/*!40000 ALTER TABLE `team_member` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `testimonial`
--

DROP TABLE IF EXISTS `testimonial`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `testimonial` (
  `id` int NOT NULL AUTO_INCREMENT,
  `firm_id` int NOT NULL,
  `client_name` text NOT NULL,
  `client_title` text,
  `company` text,
  `content` text NOT NULL,
  `rating` int DEFAULT NULL,
  `is_published` int NOT NULL DEFAULT '0',
  `sort_order` int NOT NULL DEFAULT '0',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `firm_id` (`firm_id`),
  CONSTRAINT `testimonial_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `testimonial`
--

LOCK TABLES `testimonial` WRITE;
/*!40000 ALTER TABLE `testimonial` DISABLE KEYS */;
INSERT INTO `testimonial` VALUES (1,1,'Nishant Marasini','CEO','Kreesa Sales','Best software in town. Makes work easy to do. It is really a CA automator that makes work easy.',5,1,0,'2026-08-30 01:03:31');
/*!40000 ALTER TABLE `testimonial` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `time_entry`
--

DROP TABLE IF EXISTS `time_entry`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `time_entry` (
  `id` int NOT NULL AUTO_INCREMENT,
  `engagement_id` int DEFAULT NULL,
  `user_id` int DEFAULT NULL,
  `work_date` text NOT NULL,
  `hours` double NOT NULL,
  `narrative` text,
  `billable` int NOT NULL DEFAULT '1',
  `rate` double DEFAULT NULL,
  `invoice_id` int DEFAULT NULL,
  `task_id` int DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `engagement_id` (`engagement_id`),
  KEY `user_id` (`user_id`),
  KEY `invoice_id` (`invoice_id`),
  KEY `task_id` (`task_id`),
  CONSTRAINT `time_entry_ibfk_1` FOREIGN KEY (`engagement_id`) REFERENCES `engagement` (`id`) ON DELETE CASCADE,
  CONSTRAINT `time_entry_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `app_user` (`id`),
  CONSTRAINT `time_entry_ibfk_3` FOREIGN KEY (`invoice_id`) REFERENCES `invoice` (`id`) ON DELETE SET NULL,
  CONSTRAINT `time_entry_ibfk_4` FOREIGN KEY (`task_id`) REFERENCES `task` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `time_entry`
--

LOCK TABLES `time_entry` WRITE;
/*!40000 ALTER TABLE `time_entry` DISABLE KEYS */;
/*!40000 ALTER TABLE `time_entry` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `tp_adjustment`
--

DROP TABLE IF EXISTS `tp_adjustment`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `tp_adjustment` (
  `id` int NOT NULL AUTO_INCREMENT,
  `transaction_id` int NOT NULL,
  `actual_result` double DEFAULT NULL,
  `arm_length_result` double DEFAULT NULL,
  `adjustment_amount` double DEFAULT NULL,
  `taxable_income_impact` double DEFAULT NULL,
  `tax_impact` double DEFAULT NULL,
  `withholding_impact` double DEFAULT NULL,
  `interest_exposure` double DEFAULT NULL,
  `penalty_exposure` double DEFAULT NULL,
  `total_exposure` double DEFAULT NULL,
  `basis_notes` text,
  `computed_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_tp_adj_txn` (`transaction_id`),
  CONSTRAINT `tp_adjustment_ibfk_1` FOREIGN KEY (`transaction_id`) REFERENCES `tp_transaction` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tp_adjustment`
--

LOCK TABLES `tp_adjustment` WRITE;
/*!40000 ALTER TABLE `tp_adjustment` DISABLE KEYS */;
INSERT INTO `tp_adjustment` VALUES (1,2,2.5,4.2,144500,144500,36125,NULL,NULL,NULL,36125,'No interest rate supplied — interest exposure not computed. No penalty rate supplied — penalty exposure not computed.','2026-08-24 15:25:38'),(2,3,2.5,4.2,3400,3400,850,NULL,NULL,NULL,850,'No interest rate supplied — interest exposure not computed. No penalty rate supplied — penalty exposure not computed.','2026-08-24 15:25:38');
/*!40000 ALTER TABLE `tp_adjustment` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `tp_benchmark_result`
--

DROP TABLE IF EXISTS `tp_benchmark_result`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `tp_benchmark_result` (
  `id` int NOT NULL AUTO_INCREMENT,
  `transaction_id` int NOT NULL,
  `stats_json` text,
  `working_capital_adjustment_json` text,
  `computed_by` int DEFAULT NULL,
  `computed_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `computed_by` (`computed_by`),
  KEY `ix_tp_bench_txn` (`transaction_id`),
  CONSTRAINT `tp_benchmark_result_ibfk_1` FOREIGN KEY (`transaction_id`) REFERENCES `tp_transaction` (`id`) ON DELETE CASCADE,
  CONSTRAINT `tp_benchmark_result_ibfk_2` FOREIGN KEY (`computed_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tp_benchmark_result`
--

LOCK TABLES `tp_benchmark_result` WRITE;
/*!40000 ALTER TABLE `tp_benchmark_result` DISABLE KEYS */;
INSERT INTO `tp_benchmark_result` VALUES (1,1,'{\"count\": 0, \"min\": null, \"max\": null, \"mean\": null, \"median\": null, \"q1\": null, \"q3\": null, \"iqr\": null, \"weighted_average\": null, \"weighted_median\": null, \"adjusted_range\": null}',NULL,1,'2026-08-24 14:27:47'),(2,2,'{\"count\": 5, \"min\": 3.5, \"max\": 5.0, \"mean\": 4.28, \"median\": 4.2, \"q1\": 3.9, \"q3\": 4.8, \"iqr\": 0.9, \"weighted_average\": 4.28, \"weighted_median\": 4.2, \"adjusted_range\": {\"min\": 3.9, \"max\": 4.8}}',NULL,1,'2026-08-24 15:25:38'),(3,3,'{\"count\": 5, \"min\": 3.5, \"max\": 5.0, \"mean\": 4.28, \"median\": 4.2, \"q1\": 3.9, \"q3\": 4.8, \"iqr\": 0.9, \"weighted_average\": 4.28, \"weighted_median\": 4.2, \"adjusted_range\": {\"min\": 3.9, \"max\": 4.8}}',NULL,1,'2026-08-24 15:25:38');
/*!40000 ALTER TABLE `tp_benchmark_result` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `tp_comparable`
--

DROP TABLE IF EXISTS `tp_comparable`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `tp_comparable` (
  `id` int NOT NULL AUTO_INCREMENT,
  `transaction_id` int NOT NULL,
  `company_name` text,
  `country` varchar(100) DEFAULT NULL,
  `financial_year_label` text,
  `pli_value` double DEFAULT NULL,
  `financials` text,
  `source` text,
  `include_in_set` int NOT NULL DEFAULT '1',
  `exclusion_reason` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `country` (`country`),
  KEY `ix_tp_comp_txn` (`transaction_id`),
  CONSTRAINT `tp_comparable_ibfk_1` FOREIGN KEY (`transaction_id`) REFERENCES `tp_transaction` (`id`) ON DELETE CASCADE,
  CONSTRAINT `tp_comparable_ibfk_2` FOREIGN KEY (`country`) REFERENCES `tp_country` (`code`)
) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tp_comparable`
--

LOCK TABLES `tp_comparable` WRITE;
/*!40000 ALTER TABLE `tp_comparable` DISABLE KEYS */;
INSERT INTO `tp_comparable` VALUES (1,2,'Comparable 3.5','IN',NULL,3.5,'{}','manual_upload',1,NULL,'2026-08-24 15:25:38'),(2,2,'Comparable 4.2','IN',NULL,4.2,'{}','manual_upload',1,NULL,'2026-08-24 15:25:38'),(3,2,'Comparable 5.0','IN',NULL,5,'{}','manual_upload',1,NULL,'2026-08-24 15:25:38'),(4,2,'Comparable 4.8','IN',NULL,4.8,'{}','manual_upload',1,NULL,'2026-08-24 15:25:38'),(5,2,'Comparable 3.9','IN',NULL,3.9,'{}','manual_upload',1,NULL,'2026-08-24 15:25:38'),(6,3,'Comparable 3.5','IN',NULL,3.5,'{}','manual_upload',1,NULL,'2026-08-24 15:25:38'),(7,3,'Comparable 4.2','IN',NULL,4.2,'{}','manual_upload',1,NULL,'2026-08-24 15:25:38'),(8,3,'Comparable 5.0','IN',NULL,5,'{}','manual_upload',1,NULL,'2026-08-24 15:25:38'),(9,3,'Comparable 4.8','IN',NULL,4.8,'{}','manual_upload',1,NULL,'2026-08-24 15:25:38'),(10,3,'Comparable 3.9','IN',NULL,3.9,'{}','manual_upload',1,NULL,'2026-08-24 15:25:38');
/*!40000 ALTER TABLE `tp_comparable` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `tp_country`
--

DROP TABLE IF EXISTS `tp_country`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `tp_country` (
  `code` varchar(100) NOT NULL,
  `name` text NOT NULL,
  `currency` text NOT NULL,
  `tax_authority` text,
  `is_active` int NOT NULL DEFAULT '1',
  PRIMARY KEY (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tp_country`
--

LOCK TABLES `tp_country` WRITE;
/*!40000 ALTER TABLE `tp_country` DISABLE KEYS */;
INSERT INTO `tp_country` VALUES ('AD','Andorra','EUR',NULL,1),('AE','United Arab Emirates','AED','Federal Tax Authority (FTA)',1),('AF','Afghanistan','AFN',NULL,1),('AL','Albania','ALL',NULL,1),('AM','Armenia','AMD',NULL,1),('AO','Angola','AOA',NULL,1),('AR','Argentina','ARS',NULL,1),('AT','Austria','EUR',NULL,1),('AU','Australia','AUD',NULL,1),('AZ','Azerbaijan','AZN',NULL,1),('BA','Bosnia and Herzegovina','BAM',NULL,1),('BB','Barbados','BBD',NULL,1),('BD','Bangladesh','BDT',NULL,1),('BE','Belgium','EUR',NULL,1),('BF','Burkina Faso','XOF',NULL,1),('BG','Bulgaria','BGN',NULL,1),('BH','Bahrain','BHD',NULL,1),('BI','Burundi','BIF',NULL,1),('BJ','Benin','XOF',NULL,1),('BN','Brunei','BND',NULL,1),('BO','Bolivia','BOB',NULL,1),('BR','Brazil','BRL',NULL,1),('BS','Bahamas','BSD',NULL,1),('BT','Bhutan','BTN',NULL,1),('BW','Botswana','BWP',NULL,1),('BY','Belarus','BYN',NULL,1),('BZ','Belize','BZD',NULL,1),('CA','Canada','CAD',NULL,1),('CD','Congo (DRC)','CDF',NULL,1),('CF','Central African Republic','XAF',NULL,1),('CG','Congo','XAF',NULL,1),('CH','Switzerland','CHF',NULL,1),('CI','Cote d\'Ivoire','XOF',NULL,1),('CL','Chile','CLP',NULL,1),('CM','Cameroon','XAF',NULL,1),('CN','China','CNY',NULL,1),('CO','Colombia','COP',NULL,1),('CR','Costa Rica','CRC',NULL,1),('CU','Cuba','CUP',NULL,1),('CV','Cabo Verde','CVE',NULL,1),('CY','Cyprus','EUR',NULL,1),('CZ','Czechia','CZK',NULL,1),('DE','Germany','EUR',NULL,1),('DJ','Djibouti','DJF',NULL,1),('DK','Denmark','DKK',NULL,1),('DM','Dominica','XCD',NULL,1),('DO','Dominican Republic','DOP',NULL,1),('DZ','Algeria','DZD',NULL,1),('EC','Ecuador','USD',NULL,1),('EE','Estonia','EUR',NULL,1),('EG','Egypt','EGP',NULL,1),('ER','Eritrea','ERN',NULL,1),('ES','Spain','EUR',NULL,1),('ET','Ethiopia','ETB',NULL,1),('FI','Finland','EUR',NULL,1),('FJ','Fiji','FJD',NULL,1),('FM','Micronesia','USD',NULL,1),('FR','France','EUR',NULL,1),('GA','Gabon','XAF',NULL,1),('GB','United Kingdom','GBP',NULL,1),('GD','Grenada','XCD',NULL,1),('GE','Georgia','GEL',NULL,1),('GH','Ghana','GHS',NULL,1),('GM','Gambia','GMD',NULL,1),('GN','Guinea','GNF',NULL,1),('GQ','Equatorial Guinea','XAF',NULL,1),('GR','Greece','EUR',NULL,1),('GT','Guatemala','GTQ',NULL,1),('GW','Guinea-Bissau','XOF',NULL,1),('GY','Guyana','GYD',NULL,1),('HK','Hong Kong','HKD',NULL,1),('HN','Honduras','HNL',NULL,1),('HR','Croatia','EUR',NULL,1),('HT','Haiti','HTG',NULL,1),('HU','Hungary','HUF',NULL,1),('ID','Indonesia','IDR',NULL,1),('IE','Ireland','EUR',NULL,1),('IL','Israel','ILS',NULL,1),('IN','India','INR','Central Board of Direct Taxes (CBDT)',1),('IQ','Iraq','IQD',NULL,1),('IR','Iran','IRR',NULL,1),('IS','Iceland','ISK',NULL,1),('IT','Italy','EUR',NULL,1),('JM','Jamaica','JMD',NULL,1),('JO','Jordan','JOD',NULL,1),('JP','Japan','JPY',NULL,1),('KE','Kenya','KES',NULL,1),('KG','Kyrgyzstan','KGS',NULL,1),('KH','Cambodia','KHR',NULL,1),('KI','Kiribati','AUD',NULL,1),('KM','Comoros','KMF',NULL,1),('KN','Saint Kitts and Nevis','XCD',NULL,1),('KP','North Korea','KPW',NULL,1),('KR','South Korea','KRW',NULL,1),('KW','Kuwait','KWD',NULL,1),('KZ','Kazakhstan','KZT',NULL,1),('LA','Laos','LAK',NULL,1),('LB','Lebanon','LBP',NULL,1),('LC','Saint Lucia','XCD',NULL,1),('LI','Liechtenstein','CHF',NULL,1),('LK','Sri Lanka','LKR',NULL,1),('LR','Liberia','LRD',NULL,1),('LS','Lesotho','LSL',NULL,1),('LT','Lithuania','EUR',NULL,1),('LU','Luxembourg','EUR',NULL,1),('LV','Latvia','EUR',NULL,1),('LY','Libya','LYD',NULL,1),('MA','Morocco','MAD',NULL,1),('MC','Monaco','EUR',NULL,1),('MD','Moldova','MDL',NULL,1),('ME','Montenegro','EUR',NULL,1),('MG','Madagascar','MGA',NULL,1),('MH','Marshall Islands','USD',NULL,1),('MK','North Macedonia','MKD',NULL,1),('ML','Mali','XOF',NULL,1),('MM','Myanmar','MMK',NULL,1),('MN','Mongolia','MNT',NULL,1),('MO','Macau','MOP',NULL,1),('MR','Mauritania','MRU',NULL,1),('MT','Malta','EUR',NULL,1),('MU','Mauritius','MUR',NULL,1),('MV','Maldives','MVR',NULL,1),('MW','Malawi','MWK',NULL,1),('MX','Mexico','MXN',NULL,1),('MY','Malaysia','MYR',NULL,1),('MZ','Mozambique','MZN',NULL,1),('NA','Namibia','NAD',NULL,1),('NE','Niger','XOF',NULL,1),('NG','Nigeria','NGN',NULL,1),('NI','Nicaragua','NIO',NULL,1),('NL','Netherlands','EUR',NULL,1),('NO','Norway','NOK',NULL,1),('NP','Nepal','NPR','Inland Revenue Department (IRD)',1),('NR','Nauru','AUD',NULL,1),('NZ','New Zealand','NZD',NULL,1),('OM','Oman','OMR',NULL,1),('PA','Panama','PAB',NULL,1),('PE','Peru','PEN',NULL,1),('PG','Papua New Guinea','PGK',NULL,1),('PH','Philippines','PHP',NULL,1),('PK','Pakistan','PKR',NULL,1),('PL','Poland','PLN',NULL,1),('PS','Palestine','ILS',NULL,1),('PT','Portugal','EUR',NULL,1),('PW','Palau','USD',NULL,1),('PY','Paraguay','PYG',NULL,1),('QA','Qatar','QAR',NULL,1),('RO','Romania','RON',NULL,1),('RS','Serbia','RSD',NULL,1),('RU','Russia','RUB',NULL,1),('RW','Rwanda','RWF',NULL,1),('SA','Saudi Arabia','SAR',NULL,1),('SB','Solomon Islands','SBD',NULL,1),('SC','Seychelles','SCR',NULL,1),('SD','Sudan','SDG',NULL,1),('SE','Sweden','SEK',NULL,1),('SG','Singapore','SGD',NULL,1),('SI','Slovenia','EUR',NULL,1),('SK','Slovakia','EUR',NULL,1),('SL','Sierra Leone','SLE',NULL,1),('SM','San Marino','EUR',NULL,1),('SN','Senegal','XOF',NULL,1),('SO','Somalia','SOS',NULL,1),('SR','Suriname','SRD',NULL,1),('SS','South Sudan','SSP',NULL,1),('ST','Sao Tome and Principe','STN',NULL,1),('SV','El Salvador','USD',NULL,1),('SY','Syria','SYP',NULL,1),('SZ','Eswatini','SZL',NULL,1),('TD','Chad','XAF',NULL,1),('TG','Togo','XOF',NULL,1),('TH','Thailand','THB',NULL,1),('TJ','Tajikistan','TJS',NULL,1),('TL','Timor-Leste','USD',NULL,1),('TM','Turkmenistan','TMT',NULL,1),('TN','Tunisia','TND',NULL,1),('TO','Tonga','TOP',NULL,1),('TR','Turkey','TRY',NULL,1),('TT','Trinidad and Tobago','TTD',NULL,1),('TV','Tuvalu','AUD',NULL,1),('TW','Taiwan','TWD',NULL,1),('TZ','Tanzania','TZS',NULL,1),('UA','Ukraine','UAH',NULL,1),('UG','Uganda','UGX',NULL,1),('US','United States','USD',NULL,1),('UY','Uruguay','UYU',NULL,1),('UZ','Uzbekistan','UZS',NULL,1),('VA','Vatican City','EUR',NULL,1),('VC','Saint Vincent and the Grenadines','XCD',NULL,1),('VE','Venezuela','VES',NULL,1),('VN','Vietnam','VND',NULL,1),('VU','Vanuatu','VUV',NULL,1),('WS','Samoa','WST',NULL,1),('XK','Kosovo','EUR',NULL,1),('YE','Yemen','YER',NULL,1),('ZA','South Africa','ZAR',NULL,1),('ZM','Zambia','ZMW',NULL,1),('ZW','Zimbabwe','ZWL',NULL,1);
/*!40000 ALTER TABLE `tp_country` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `tp_document_checklist_item`
--

DROP TABLE IF EXISTS `tp_document_checklist_item`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `tp_document_checklist_item` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `financial_year_label` varchar(100) NOT NULL,
  `rule_id` int DEFAULT NULL,
  `label` text NOT NULL,
  `status` varchar(100) NOT NULL DEFAULT 'missing',
  `document_id` int DEFAULT NULL,
  `notes` text,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `rule_id` (`rule_id`),
  KEY `document_id` (`document_id`),
  KEY `ix_tp_doc_client` (`client_id`,`financial_year_label`),
  CONSTRAINT `tp_document_checklist_item_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `tp_document_checklist_item_ibfk_2` FOREIGN KEY (`rule_id`) REFERENCES `tp_regulatory_rule` (`id`),
  CONSTRAINT `tp_document_checklist_item_ibfk_3` FOREIGN KEY (`document_id`) REFERENCES `document` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tp_document_checklist_item`
--

LOCK TABLES `tp_document_checklist_item` WRITE;
/*!40000 ALTER TABLE `tp_document_checklist_item` DISABLE KEYS */;
INSERT INTO `tp_document_checklist_item` VALUES (1,5,'2083-84',4,'Contemporaneous documentation requirement','missing',NULL,NULL,'2026-08-24 15:25:38'),(2,5,'2082-83',4,'Contemporaneous documentation requirement','missing',NULL,NULL,'2026-08-24 15:42:49');
/*!40000 ALTER TABLE `tp_document_checklist_item` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `tp_entity`
--

DROP TABLE IF EXISTS `tp_entity`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `tp_entity` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `name` text NOT NULL,
  `country` varchar(100) DEFAULT NULL,
  `entity_type` text,
  `pan_or_tin` text,
  `is_the_client` int NOT NULL DEFAULT '0',
  `notes` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `country` (`country`),
  KEY `ix_tp_entity_client` (`client_id`),
  CONSTRAINT `tp_entity_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `tp_entity_ibfk_2` FOREIGN KEY (`country`) REFERENCES `tp_country` (`code`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tp_entity`
--

LOCK TABLES `tp_entity` WRITE;
/*!40000 ALTER TABLE `tp_entity` DISABLE KEYS */;
INSERT INTO `tp_entity` VALUES (1,4,'New entity',NULL,NULL,NULL,0,NULL,'2026-08-24 13:31:26'),(2,5,'CA Nishant Test Company','NP','holding',NULL,1,NULL,'2026-08-24 15:25:38'),(3,5,'Test India Subsidiary Pvt Ltd','IN','distributor',NULL,0,NULL,'2026-08-24 15:25:38'),(4,5,'Test UAE Holdco','AE','financing_entity',NULL,0,NULL,'2026-08-24 15:25:38');
/*!40000 ALTER TABLE `tp_entity` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `tp_far_analysis`
--

DROP TABLE IF EXISTS `tp_far_analysis`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `tp_far_analysis` (
  `id` int NOT NULL AUTO_INCREMENT,
  `transaction_id` int DEFAULT NULL,
  `entity_id` int DEFAULT NULL,
  `functions` text,
  `assets` text,
  `risks` text,
  `economic_substance` text,
  `functional_profile` text,
  `conclusion` text,
  `prepared_by` int DEFAULT NULL,
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `entity_id` (`entity_id`),
  KEY `prepared_by` (`prepared_by`),
  KEY `ix_tp_far_txn` (`transaction_id`),
  CONSTRAINT `tp_far_analysis_ibfk_1` FOREIGN KEY (`transaction_id`) REFERENCES `tp_transaction` (`id`) ON DELETE CASCADE,
  CONSTRAINT `tp_far_analysis_ibfk_2` FOREIGN KEY (`entity_id`) REFERENCES `tp_entity` (`id`) ON DELETE CASCADE,
  CONSTRAINT `tp_far_analysis_ibfk_3` FOREIGN KEY (`prepared_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tp_far_analysis`
--

LOCK TABLES `tp_far_analysis` WRITE;
/*!40000 ALTER TABLE `tp_far_analysis` DISABLE KEYS */;
INSERT INTO `tp_far_analysis` VALUES (1,2,NULL,'[]','[]','[]','Genuine operations with staff and premises','limited_risk_distributor','Consistent with limited-risk profile',1,'2026-08-24 15:25:38'),(2,3,NULL,'[]','[]','[]','Genuine operations with staff and premises','financing_entity','Consistent with limited-risk profile',1,'2026-08-24 15:25:38');
/*!40000 ALTER TABLE `tp_far_analysis` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `tp_fx_rate`
--

DROP TABLE IF EXISTS `tp_fx_rate`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `tp_fx_rate` (
  `id` int NOT NULL AUTO_INCREMENT,
  `from_currency` varchar(100) NOT NULL,
  `to_currency` varchar(100) NOT NULL,
  `rate` double NOT NULL,
  `rate_date` varchar(100) NOT NULL,
  `source` text,
  `notes` text,
  `created_by` int DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `from_currency` (`from_currency`,`to_currency`,`rate_date`),
  KEY `created_by` (`created_by`),
  KEY `ix_tp_fx_lookup` (`from_currency`,`to_currency`,`rate_date` DESC),
  CONSTRAINT `tp_fx_rate_ibfk_1` FOREIGN KEY (`created_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tp_fx_rate`
--

LOCK TABLES `tp_fx_rate` WRITE;
/*!40000 ALTER TABLE `tp_fx_rate` DISABLE KEYS */;
INSERT INTO `tp_fx_rate` VALUES (1,'NPR','INR',1.6,'2026-08-24','nrb',NULL,1,'2026-08-24 15:40:41');
/*!40000 ALTER TABLE `tp_fx_rate` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `tp_method_selection`
--

DROP TABLE IF EXISTS `tp_method_selection`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `tp_method_selection` (
  `id` int NOT NULL AUTO_INCREMENT,
  `transaction_id` int NOT NULL,
  `recommended_method` text,
  `recommendation_basis` text,
  `selected_method` text,
  `override_justification` text,
  `pli` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_tp_method_txn` (`transaction_id`),
  CONSTRAINT `tp_method_selection_ibfk_1` FOREIGN KEY (`transaction_id`) REFERENCES `tp_transaction` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tp_method_selection`
--

LOCK TABLES `tp_method_selection` WRITE;
/*!40000 ALTER TABLE `tp_method_selection` DISABLE KEYS */;
INSERT INTO `tp_method_selection` VALUES (1,1,'tnmm','No internal CUP, no reliable gross-margin comparable set, and/or the functional profile doesn\'t point clearly to CUP/RPM/CPM/PSM — TNMM is the most commonly applied method in practice for routine functions where only net-margin comparable data is available.',NULL,NULL,NULL,'2026-08-24 14:27:04'),(2,2,'rpm','A limited-risk distributor reselling goods, with external gross-margin comparables available, is a classic Resale Price Method fact pattern.',NULL,NULL,NULL,'2026-08-24 15:25:38'),(3,3,'cup','Financing/guarantee arrangements are typically benchmarked against comparable uncontrolled interest rates or fee rates (a CUP-style approach), subject to data availability.',NULL,NULL,NULL,'2026-08-24 15:25:38');
/*!40000 ALTER TABLE `tp_method_selection` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `tp_regulatory_rule`
--

DROP TABLE IF EXISTS `tp_regulatory_rule`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `tp_regulatory_rule` (
  `id` int NOT NULL AUTO_INCREMENT,
  `country` varchar(100) NOT NULL,
  `domain` varchar(100) NOT NULL,
  `code` varchar(100) NOT NULL,
  `label` text NOT NULL,
  `value_num` double DEFAULT NULL,
  `value_text` text,
  `unit` text,
  `applies_to` varchar(100) DEFAULT NULL,
  `financial_year_label` varchar(100) DEFAULT NULL,
  `effective_from` text,
  `effective_to` text,
  `law_name` text,
  `section_article` text,
  `source_authority` text,
  `interpretation` text,
  `verification_status` varchar(100) NOT NULL DEFAULT 'UNVERIFIED',
  `verified_by` int DEFAULT NULL,
  `last_verified_on` text,
  `version` int NOT NULL DEFAULT '1',
  `notes` text,
  PRIMARY KEY (`id`),
  UNIQUE KEY `ux_tp_rule_dedup` (`country`,`domain`,`code`,(coalesce(`financial_year_label`,_utf8mb4'')),(coalesce(`applies_to`,_utf8mb4''))),
  UNIQUE KEY `country` (`country`,`domain`,`code`,`financial_year_label`,`applies_to`),
  KEY `verified_by` (`verified_by`),
  KEY `ix_tp_rule_lookup` (`country`,`domain`,`financial_year_label`),
  CONSTRAINT `tp_regulatory_rule_ibfk_1` FOREIGN KEY (`country`) REFERENCES `tp_country` (`code`),
  CONSTRAINT `tp_regulatory_rule_ibfk_2` FOREIGN KEY (`verified_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=133 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tp_regulatory_rule`
--

LOCK TABLES `tp_regulatory_rule` WRITE;
/*!40000 ALTER TABLE `tp_regulatory_rule` DISABLE KEYS */;
INSERT INTO `tp_regulatory_rule` VALUES (1,'NP','definition','related_party_definition','Related party / associated person definition',NULL,'Direct or indirect control, common control, or a specified relationship as set out in the Act','text',NULL,NULL,NULL,NULL,'Income Tax Act, 2058 (2002)','Sec 2 / Sec 33','IRD','Placeholder interpretation only — read the actual section before applying.','UNVERIFIED',NULL,NULL,1,'Confirm the exact statutory definition and any IRD directive narrowing/widening it.'),(2,'NP','definition','associated_enterprise_ownership_pct','Ownership % threshold indicating control/associated status',NULL,NULL,'percent',NULL,NULL,NULL,NULL,'Income Tax Act, 2058 (2002)',NULL,'IRD',NULL,'UNVERIFIED',NULL,NULL,1,'SOURCE REQUIRED — no bright-line ownership percentage confirmed yet; do not assume one exists or apply a foreign threshold by analogy.'),(3,'NP','method','accepted_methods','Accepted transfer pricing methods',NULL,'CUP, Resale Price, Cost Plus, TNMM, Profit Split, as applicable','text',NULL,NULL,NULL,NULL,'Income Tax Act, 2058 (2002)','Sec 33','IRD',NULL,'UNVERIFIED',NULL,NULL,1,'Confirm which methods IRD practice actually accepts and any stated hierarchy/preference.'),(4,'NP','documentation','documentation_requirement','Contemporaneous documentation requirement',NULL,'Maintain documentation supporting arm\'s-length pricing of related-party transactions','text',NULL,NULL,NULL,NULL,'Income Tax Act, 2058 (2002)','Sec 33','IRD',NULL,'UNVERIFIED',NULL,NULL,1,'Confirm the specific documentation content/format IRD expects, if prescribed.'),(5,'NP','filing','return_disclosure','Related-party transaction disclosure in the tax return',NULL,'Disclosure expected as part of the annual income tax return','text',NULL,NULL,NULL,NULL,'Income Tax Act, 2058 (2002)',NULL,'IRD',NULL,'UNVERIFIED',NULL,NULL,1,'Confirm the exact return schedule/form field, if any, used for this disclosure.'),(6,'NP','deadline','annual_return_deadline','Annual income tax return filing deadline',NULL,'Within 3 months of fiscal year end, subject to extension','text',NULL,NULL,NULL,NULL,'Income Tax Act, 2058 (2002)',NULL,'IRD',NULL,'UNVERIFIED',NULL,NULL,1,'Confirm the current deadline and any standing extension practice.'),(7,'NP','penalty','adjustment_penalty_basis','Penalty basis for a transfer-pricing adjustment / non-compliance',NULL,'General Income Tax Act penalty/fee provisions for underreporting or non-compliance','text',NULL,NULL,NULL,NULL,'Income Tax Act, 2058 (2002)',NULL,'IRD',NULL,'UNVERIFIED',NULL,NULL,1,'Confirm whether a TP-specific penalty provision exists or general provisions apply.'),(8,'NP','threshold','arm_length_review_threshold','Transaction-size threshold triggering arm\'s-length scrutiny',NULL,NULL,'text',NULL,NULL,NULL,NULL,'Income Tax Act, 2058 (2002)',NULL,'IRD',NULL,'UNVERIFIED',NULL,NULL,1,'SOURCE REQUIRED — confirm whether IRD applies any materiality threshold in practice.'),(9,'IN','definition','associated_enterprise_definition','Associated Enterprise (AE) definition',NULL,'Direct/indirect participation in management, control or capital, or the specified deemed-AE relationships','text',NULL,NULL,NULL,NULL,'Income-tax Act, 1961','Sec 92A','CBDT',NULL,'UNVERIFIED',NULL,NULL,1,'Confirm the current text of Sec 92A(2)\'s deeming provisions.'),(10,'IN','threshold','specified_domestic_transaction_threshold','Specified Domestic Transaction (SDT) aggregate threshold',200000000,NULL,'INR',NULL,NULL,NULL,NULL,'Income-tax Act, 1961','Sec 92BA','CBDT',NULL,'UNVERIFIED',NULL,NULL,1,'Placeholder figure (historically INR 20 crore) — confirm against the Finance Act currently in force.'),(11,'IN','documentation','local_file_threshold','Local File (contemporaneous documentation) applicability threshold',10000000,NULL,'INR',NULL,NULL,NULL,NULL,'Income-tax Act, 1961','Rule 10D','CBDT',NULL,'UNVERIFIED',NULL,NULL,1,'Placeholder figure (historically INR 1 crore) — confirm current threshold and conditions.'),(12,'IN','documentation','master_file_threshold','Master File applicability threshold (consolidated group revenue limb)',NULL,NULL,'INR',NULL,NULL,NULL,NULL,'Income-tax Act, 1961','Sec 92D / Rule 10DA','CBDT',NULL,'UNVERIFIED',NULL,NULL,1,'Master File applicability is multi-limb (consolidated revenue + international transaction value) — confirm both limbs, not just one figure.'),(13,'IN','filing','form_3ceb_requirement','Form 3CEB — Accountant\'s Report on international/specified domestic transactions',NULL,'Required where the AE / SDT thresholds are met','text',NULL,NULL,NULL,NULL,'Income-tax Act, 1961','Sec 92E','CBDT',NULL,'UNVERIFIED',NULL,NULL,1,'Confirm current e-filing procedure and accountant-certification requirements.'),(14,'IN','deadline','form_3ceb_deadline','Form 3CEB / TP documentation filing deadline',NULL,'On or before the specified due date for filing the return of income in AE cases','text',NULL,NULL,NULL,NULL,'Income-tax Act, 1961',NULL,'CBDT',NULL,'UNVERIFIED',NULL,NULL,1,'Placeholder — this due date has moved in past Finance Acts (historically on/around 31 October); confirm the year in force.'),(15,'IN','method','accepted_methods','Prescribed transfer pricing methods',NULL,'CUP, Resale Price Method, Cost Plus Method, Profit Split Method, TNMM, and any other method prescribed by rule','text',NULL,NULL,NULL,NULL,'Income-tax Act, 1961','Sec 92C / Rule 10B / Rule 10AB','CBDT',NULL,'UNVERIFIED',NULL,NULL,1,'Confirm the current Rule 10AB \"Other Method\" conditions.'),(16,'IN','penalty','documentation_penalty','Penalty for failure to maintain/furnish documentation or report',NULL,'Percentage-of-transaction-value and fixed penalties under the relevant sections','text',NULL,NULL,NULL,NULL,'Income-tax Act, 1961','Sec 271AA / 271G / 271BA','CBDT',NULL,'UNVERIFIED',NULL,NULL,1,'Confirm the current penalty percentages/amounts — these have changed across Finance Acts.'),(17,'IN','threshold','international_transaction_applicability','International transaction — TP provisions applicability',NULL,'Applies where an AE relationship exists and the international transaction / SDT thresholds are met','text',NULL,NULL,NULL,NULL,'Income-tax Act, 1961','Sec 92','CBDT',NULL,'UNVERIFIED',NULL,NULL,1,'Confirm current guidance on what constitutes a covered \"international transaction\".'),(18,'AE','definition','related_party_definition','Related Party definition',NULL,'As defined for UAE Corporate Tax purposes — ownership, control and family-relationship tests','text',NULL,NULL,NULL,NULL,'Federal Decree-Law No. 47 of 2022 (Corporate Tax Law)','Article 35','Federal Tax Authority (FTA)',NULL,'UNVERIFIED',NULL,NULL,1,'Confirm current Article 35 text and any implementing Ministerial/Cabinet Decision.'),(19,'AE','definition','connected_person_definition','Connected Person definition',NULL,'Owners, directors, officers and their relatives, as defined for Corporate Tax purposes','text',NULL,NULL,NULL,NULL,'Federal Decree-Law No. 47 of 2022 (Corporate Tax Law)','Article 36','Federal Tax Authority (FTA)',NULL,'UNVERIFIED',NULL,NULL,1,'Confirm current Article 36 text and related Ministerial Decisions.'),(20,'AE','documentation','master_local_file_threshold','Master File / Local File applicability threshold (revenue)',NULL,NULL,'AED',NULL,NULL,NULL,NULL,'Federal Decree-Law No. 47 of 2022 (Corporate Tax Law)',NULL,'Federal Tax Authority (FTA)',NULL,'UNVERIFIED',NULL,NULL,1,'SOURCE REQUIRED — confirm the current revenue threshold and group-revenue conditions against FTA guidance/Ministerial Decision.'),(21,'AE','filing','disclosure_form_requirement','Related Party / Connected Person disclosure with the Corporate Tax return',NULL,'A disclosure form is required alongside the Corporate Tax return where conditions are met','text',NULL,NULL,NULL,NULL,'Federal Decree-Law No. 47 of 2022 (Corporate Tax Law)',NULL,'Federal Tax Authority (FTA)',NULL,'UNVERIFIED',NULL,NULL,1,'Confirm current disclosure-form content and the exact trigger conditions.'),(22,'AE','method','accepted_methods','Accepted transfer pricing methods (OECD-aligned)',NULL,'CUP, Resale Price, Cost Plus, TNMM, Profit Split, and another method where none of these can be reliably applied','text',NULL,NULL,NULL,NULL,'Federal Decree-Law No. 47 of 2022 (Corporate Tax Law)','Article 34','Federal Tax Authority (FTA)','UAE\'s TP framework is stated to be OECD Transfer Pricing Guidelines-aligned.','UNVERIFIED',NULL,NULL,1,'Confirm the current Ministerial Decision text on transfer pricing.'),(23,'AE','threshold','arm_length_principle_scope','Arm\'s-length principle — scope of application',NULL,'Applies to transactions/arrangements between Related Parties and with Connected Persons','text',NULL,NULL,NULL,NULL,'Federal Decree-Law No. 47 of 2022 (Corporate Tax Law)','Article 34','Federal Tax Authority (FTA)',NULL,'UNVERIFIED',NULL,NULL,1,'Confirm current scope, including any exclusions.'),(24,'AE','deadline','corporate_tax_return_deadline','Corporate Tax return filing deadline',NULL,'Within 9 months of the end of the relevant Tax Period','text',NULL,NULL,NULL,NULL,'Federal Decree-Law No. 47 of 2022 (Corporate Tax Law)',NULL,'Federal Tax Authority (FTA)',NULL,'UNVERIFIED',NULL,NULL,1,'Confirm against current FTA guidance for the specific Tax Period.'),(25,'AE','penalty','documentation_penalty','Penalty for transfer-pricing documentation non-compliance',NULL,'Administrative penalties apply under the Tax Procedures framework','text',NULL,NULL,NULL,NULL,'Cabinet Decision on Administrative Penalties',NULL,'Federal Tax Authority (FTA)',NULL,'UNVERIFIED',NULL,NULL,1,'Confirm the current penalty schedule.'),(26,'AE','threshold','small_business_relief_note','Small Business Relief — interaction with TP documentation',NULL,'An election-based relief that may affect documentation obligations for qualifying small businesses','text',NULL,NULL,NULL,NULL,'Federal Decree-Law No. 47 of 2022 (Corporate Tax Law)',NULL,'Federal Tax Authority (FTA)',NULL,'UNVERIFIED',NULL,NULL,1,'Confirm current revenue threshold and conditions for the election.'),(27,'NP','rate','corporate_tax_rate_standard','Standard corporate income tax rate',25,NULL,'percent',NULL,NULL,NULL,NULL,'Income Tax Act, 2058 (2002)',NULL,'IRD',NULL,'UNVERIFIED',NULL,NULL,1,'Placeholder — confirm the rate for the entity\'s actual category (general/special industry/bank/etc.) against the current Finance Act; this app already tracks Nepal company rates in Rate Master under the income_tax domain, cross-check against that.'),(28,'IN','rate','corporate_tax_rate_standard','Standard corporate income tax rate',30,NULL,'percent',NULL,NULL,NULL,NULL,'Income-tax Act, 1961',NULL,'CBDT',NULL,'UNVERIFIED',NULL,NULL,1,'Placeholder — confirm the rate for the entity\'s actual category (domestic company concessional regimes, foreign company, etc.) against the current Finance Act.'),(29,'AE','rate','corporate_tax_rate_standard','Standard corporate tax rate',9,NULL,'percent',NULL,NULL,NULL,NULL,'Federal Decree-Law No. 47 of 2022 (Corporate Tax Law)',NULL,'Federal Tax Authority (FTA)',NULL,'UNVERIFIED',NULL,NULL,1,'Placeholder — confirm the rate band(s) in force, including the 0% threshold on lower taxable income, against current FTA guidance.'),(88,'NP','withholding','wht_interest_nonresident','Withholding on interest paid to a non-resident',NULL,'SOURCE REQUIRED — confirm current domestic rate before use','percent','interest',NULL,NULL,NULL,'Income Tax Act, 2058 (2002)',NULL,'IRD',NULL,'UNVERIFIED',NULL,NULL,1,'Domestic rate before any DTAA relief; confirm the payee\'s treaty eligibility separately (residency certificate, beneficial ownership).'),(89,'NP','withholding','wht_royalty_nonresident','Withholding on royalty paid to a non-resident',NULL,'SOURCE REQUIRED — confirm current domestic rate before use','percent','royalty',NULL,NULL,NULL,'Income Tax Act, 2058 (2002)',NULL,'IRD',NULL,'UNVERIFIED',NULL,NULL,1,'Domestic rate before any DTAA relief.'),(90,'NP','withholding','wht_technical_service_nonresident','Withholding on management/technical service fees paid to a non-resident',NULL,'SOURCE REQUIRED — confirm current domestic rate before use','percent','services',NULL,NULL,NULL,'Income Tax Act, 2058 (2002)',NULL,'IRD',NULL,'UNVERIFIED',NULL,NULL,1,'Domestic rate before any DTAA relief.'),(91,'NP','withholding','wht_dividend_nonresident','Withholding on dividend paid to a non-resident',NULL,'SOURCE REQUIRED — confirm current domestic rate before use','percent','dividend',NULL,NULL,NULL,'Income Tax Act, 2058 (2002)',NULL,'IRD',NULL,'UNVERIFIED',NULL,NULL,1,'Domestic rate before any DTAA relief.'),(92,'IN','withholding','wht_interest_nonresident','Withholding on interest paid to a non-resident (Sec 195)',NULL,'SOURCE REQUIRED — confirm current domestic rate before use','percent','interest',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 195','CBDT',NULL,'UNVERIFIED',NULL,NULL,1,'Domestic rate before any DTAA relief; Form 15CA/15CB procedural requirements apply separately.'),(93,'IN','withholding','wht_royalty_nonresident','Withholding on royalty/fees for technical services paid to a non-resident (Sec 195)',NULL,'SOURCE REQUIRED — confirm current domestic rate before use','percent','royalty',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 195 / Sec 115A','CBDT',NULL,'UNVERIFIED',NULL,NULL,1,'Domestic rate before any DTAA relief.'),(94,'IN','withholding','wht_dividend_nonresident','Withholding on dividend paid to a non-resident (Sec 195)',NULL,'SOURCE REQUIRED — confirm current domestic rate before use','percent','dividend',NULL,NULL,NULL,'Income-tax Act, 1961','Sec 195','CBDT',NULL,'UNVERIFIED',NULL,NULL,1,'Domestic rate before any DTAA relief.'),(95,'AE','withholding','wht_general_nonresident','UAE withholding tax position on cross-border payments',NULL,'UAE Corporate Tax currently applies a 0% withholding tax rate on most payment categories — confirm this remains current and check for any category-specific exception','percent',NULL,NULL,NULL,NULL,'Federal Decree-Law No. 47 of 2022 (Corporate Tax Law)',NULL,'Federal Tax Authority (FTA)',NULL,'UNVERIFIED',NULL,NULL,1,'Confirm against current FTA guidance — withholding tax rules can be introduced or amended by Cabinet Decision.');
/*!40000 ALTER TABLE `tp_regulatory_rule` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `tp_relationship`
--

DROP TABLE IF EXISTS `tp_relationship`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `tp_relationship` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `entity_a_id` int NOT NULL,
  `entity_b_id` int NOT NULL,
  `relationship_type` text,
  `ownership_pct` double DEFAULT NULL,
  `voting_rights_pct` double DEFAULT NULL,
  `control_basis` text,
  `country_test_basis` varchar(100) DEFAULT NULL,
  `notes` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `entity_a_id` (`entity_a_id`),
  KEY `entity_b_id` (`entity_b_id`),
  KEY `country_test_basis` (`country_test_basis`),
  KEY `ix_tp_reln_client` (`client_id`),
  CONSTRAINT `tp_relationship_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `tp_relationship_ibfk_2` FOREIGN KEY (`entity_a_id`) REFERENCES `tp_entity` (`id`) ON DELETE CASCADE,
  CONSTRAINT `tp_relationship_ibfk_3` FOREIGN KEY (`entity_b_id`) REFERENCES `tp_entity` (`id`) ON DELETE CASCADE,
  CONSTRAINT `tp_relationship_ibfk_4` FOREIGN KEY (`country_test_basis`) REFERENCES `tp_country` (`code`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tp_relationship`
--

LOCK TABLES `tp_relationship` WRITE;
/*!40000 ALTER TABLE `tp_relationship` DISABLE KEYS */;
INSERT INTO `tp_relationship` VALUES (1,5,2,3,'subsidiary',100,NULL,NULL,'NP',NULL,'2026-08-24 15:25:38');
/*!40000 ALTER TABLE `tp_relationship` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `tp_risk_assessment`
--

DROP TABLE IF EXISTS `tp_risk_assessment`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `tp_risk_assessment` (
  `id` int NOT NULL AUTO_INCREMENT,
  `transaction_id` int NOT NULL,
  `factors_json` text,
  `risk_level` text,
  `explanation` text,
  `computed_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_tp_risk_txn` (`transaction_id`),
  CONSTRAINT `tp_risk_assessment_ibfk_1` FOREIGN KEY (`transaction_id`) REFERENCES `tp_transaction` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tp_risk_assessment`
--

LOCK TABLES `tp_risk_assessment` WRITE;
/*!40000 ALTER TABLE `tp_risk_assessment` DISABLE KEYS */;
INSERT INTO `tp_risk_assessment` VALUES (1,2,'[{\"factor\": \"Moderate transaction value\", \"points\": 1, \"note\": \"Transaction value is material but below the large-transaction band.\"}, {\"factor\": \"Cross-border transaction\", \"points\": 1, \"note\": \"Source and destination countries differ, adding a second jurisdiction\'s rules to consider.\"}]','Medium','Medium risk — 2 contributing factor(s) totalling 2 point(s). This is a triage aid to prioritise review, not a conclusion on whether an adjustment is warranted.','2026-08-24 15:25:38'),(2,3,'[{\"factor\": \"Cross-border transaction\", \"points\": 1, \"note\": \"Source and destination countries differ, adding a second jurisdiction\'s rules to consider.\"}]','Low','Low risk — 1 contributing factor(s) totalling 1 point(s). This is a triage aid to prioritise review, not a conclusion on whether an adjustment is warranted.','2026-08-24 15:25:38');
/*!40000 ALTER TABLE `tp_risk_assessment` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `tp_transaction`
--

DROP TABLE IF EXISTS `tp_transaction`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `tp_transaction` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `financial_year_label` varchar(100) NOT NULL,
  `tested_entity_id` int DEFAULT NULL,
  `counterparty_entity_id` int DEFAULT NULL,
  `source_country` varchar(100) DEFAULT NULL,
  `destination_country` varchar(100) DEFAULT NULL,
  `transaction_category` text NOT NULL,
  `transaction_subtype` text,
  `description` text,
  `currency` text,
  `amount` double DEFAULT NULL,
  `direction` text,
  `method_selected` text,
  `risk_level` text,
  `detail_json` text,
  `created_by` int DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `tested_entity_id` (`tested_entity_id`),
  KEY `counterparty_entity_id` (`counterparty_entity_id`),
  KEY `source_country` (`source_country`),
  KEY `destination_country` (`destination_country`),
  KEY `created_by` (`created_by`),
  KEY `ix_tp_txn_client` (`client_id`,`financial_year_label`),
  CONSTRAINT `tp_transaction_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `tp_transaction_ibfk_2` FOREIGN KEY (`tested_entity_id`) REFERENCES `tp_entity` (`id`),
  CONSTRAINT `tp_transaction_ibfk_3` FOREIGN KEY (`counterparty_entity_id`) REFERENCES `tp_entity` (`id`),
  CONSTRAINT `tp_transaction_ibfk_4` FOREIGN KEY (`source_country`) REFERENCES `tp_country` (`code`),
  CONSTRAINT `tp_transaction_ibfk_5` FOREIGN KEY (`destination_country`) REFERENCES `tp_country` (`code`),
  CONSTRAINT `tp_transaction_ibfk_6` FOREIGN KEY (`created_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tp_transaction`
--

LOCK TABLES `tp_transaction` WRITE;
/*!40000 ALTER TABLE `tp_transaction` DISABLE KEYS */;
INSERT INTO `tp_transaction` VALUES (1,4,'2083-84',NULL,NULL,NULL,NULL,'goods',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'{}',1,'2026-08-24 14:25:42'),(2,5,'2083-84',2,3,'NP','IN','goods',NULL,NULL,'NPR',8500000,'export',NULL,'Medium','{}',1,'2026-08-24 15:25:38'),(3,5,'2083-84',2,4,'NP','AE','financing',NULL,NULL,'USD',200000,'payment',NULL,'Low','{}',1,'2026-08-24 15:25:38');
/*!40000 ALTER TABLE `tp_transaction` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `tp_treaty`
--

DROP TABLE IF EXISTS `tp_treaty`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `tp_treaty` (
  `id` int NOT NULL AUTO_INCREMENT,
  `country_a` varchar(100) NOT NULL,
  `country_b` varchar(100) NOT NULL,
  `treaty_name` text,
  `in_force` int DEFAULT NULL,
  `signed_date` text,
  `effective_date` text,
  `associated_enterprise_article` text,
  `business_profits_article` text,
  `permanent_establishment_article` text,
  `interest_article` text,
  `royalty_article` text,
  `technical_service_article` text,
  `mutual_agreement_procedure_article` text,
  `source_authority` text,
  `verification_status` varchar(100) NOT NULL DEFAULT 'UNVERIFIED',
  `verified_by` int DEFAULT NULL,
  `last_verified_on` text,
  `notes` text,
  PRIMARY KEY (`id`),
  UNIQUE KEY `country_a` (`country_a`,`country_b`),
  KEY `country_b` (`country_b`),
  KEY `verified_by` (`verified_by`),
  CONSTRAINT `tp_treaty_ibfk_1` FOREIGN KEY (`country_a`) REFERENCES `tp_country` (`code`),
  CONSTRAINT `tp_treaty_ibfk_2` FOREIGN KEY (`country_b`) REFERENCES `tp_country` (`code`),
  CONSTRAINT `tp_treaty_ibfk_3` FOREIGN KEY (`verified_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tp_treaty`
--

LOCK TABLES `tp_treaty` WRITE;
/*!40000 ALTER TABLE `tp_treaty` DISABLE KEYS */;
INSERT INTO `tp_treaty` VALUES (1,'NP','IN','Nepal–India Double Taxation Avoidance Agreement (if applicable)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IRD / CBDT','UNVERIFIED',NULL,NULL,'Existence, in-force status, and current article numbering must be confirmed against the official treaty text before use — do not rely on this row alone for a treaty-relief position.'),(2,'NP','AE','Nepal–UAE Double Taxation Avoidance Agreement (if applicable)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'IRD / Federal Tax Authority (FTA)','UNVERIFIED',NULL,NULL,'Existence, in-force status, and current article numbering must be confirmed against the official treaty text before use — do not rely on this row alone for a treaty-relief position.'),(3,'IN','AE','India–UAE Double Taxation Avoidance Agreement (if applicable)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'CBDT / Federal Tax Authority (FTA)','UNVERIFIED',NULL,NULL,'Existence, in-force status, and current article numbering must be confirmed against the official treaty text before use — do not rely on this row alone for a treaty-relief position.');
/*!40000 ALTER TABLE `tp_treaty` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `tp_working_paper`
--

DROP TABLE IF EXISTS `tp_working_paper`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `tp_working_paper` (
  `id` int NOT NULL AUTO_INCREMENT,
  `client_id` int NOT NULL,
  `financial_year_label` text,
  `ref` text NOT NULL,
  `title` text,
  `content` text,
  `prepared_by` int DEFAULT NULL,
  `prepared_at` text,
  `reviewed_by` int DEFAULT NULL,
  `reviewed_at` text,
  `review_status` varchar(100) NOT NULL DEFAULT 'open',
  `review_comment` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `prepared_by` (`prepared_by`),
  KEY `reviewed_by` (`reviewed_by`),
  KEY `ix_tp_wp_client` (`client_id`),
  CONSTRAINT `tp_working_paper_ibfk_1` FOREIGN KEY (`client_id`) REFERENCES `client` (`id`) ON DELETE CASCADE,
  CONSTRAINT `tp_working_paper_ibfk_2` FOREIGN KEY (`prepared_by`) REFERENCES `app_user` (`id`),
  CONSTRAINT `tp_working_paper_ibfk_3` FOREIGN KEY (`reviewed_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `tp_working_paper`
--

LOCK TABLES `tp_working_paper` WRITE;
/*!40000 ALTER TABLE `tp_working_paper` DISABLE KEYS */;
INSERT INTO `tp_working_paper` VALUES (1,5,'2083-84','TP-01','Group overview','Overview of NP-IN-AE group structure and FY2083-84 transactions.',1,'2026-08-24 15:25:38',NULL,NULL,'open',NULL,'2026-08-24 15:25:38');
/*!40000 ALTER TABLE `tp_working_paper` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `user_invite`
--

DROP TABLE IF EXISTS `user_invite`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `user_invite` (
  `token` varchar(100) NOT NULL,
  `user_id` int NOT NULL,
  `expires_at` text NOT NULL,
  `used_at` text,
  PRIMARY KEY (`token`),
  KEY `user_id` (`user_id`),
  CONSTRAINT `user_invite_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `app_user` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `user_invite`
--

LOCK TABLES `user_invite` WRITE;
/*!40000 ALTER TABLE `user_invite` DISABLE KEYS */;
INSERT INTO `user_invite` VALUES ('pkEOTGAqROeukM8xOjowbf3Ge7IJH3Wb6fgD25Ycljc',3,'2026-09-05 16:30:24','2026-08-29 16:31:11'),('umvpKLvcZVT9mxDRycgEKGFLdM_DpTDW87RgRFhlXJ0',2,'2026-08-29 05:16:19','2026-08-22 05:17:27');
/*!40000 ALTER TABLE `user_invite` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `user_module_grant`
--

DROP TABLE IF EXISTS `user_module_grant`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `user_module_grant` (
  `user_id` int NOT NULL,
  `module_key` varchar(100) NOT NULL,
  `granted_by` int DEFAULT NULL,
  `granted_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `expires_at` text,
  PRIMARY KEY (`user_id`,`module_key`),
  KEY `granted_by` (`granted_by`),
  CONSTRAINT `user_module_grant_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `app_user` (`id`) ON DELETE CASCADE,
  CONSTRAINT `user_module_grant_ibfk_2` FOREIGN KEY (`granted_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `user_module_grant`
--

LOCK TABLES `user_module_grant` WRITE;
/*!40000 ALTER TABLE `user_module_grant` DISABLE KEYS */;
INSERT INTO `user_module_grant` VALUES (2,'depreciation',1,'2026-08-26 01:08:41','2026-08-26');
/*!40000 ALTER TABLE `user_module_grant` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `workfile`
--

DROP TABLE IF EXISTS `workfile`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `workfile` (
  `id` int NOT NULL AUTO_INCREMENT,
  `engagement_id` int NOT NULL,
  `module_key` varchar(100) NOT NULL,
  `title` text NOT NULL,
  `status` varchar(100) NOT NULL DEFAULT 'open',
  `prepared_by` int DEFAULT NULL,
  `reviewed_by` int DEFAULT NULL,
  `reviewed_at` text,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `prepared_by` (`prepared_by`),
  KEY `reviewed_by` (`reviewed_by`),
  KEY `ix_wf_eng` (`engagement_id`),
  KEY `ix_wf_module` (`module_key`),
  CONSTRAINT `workfile_ibfk_1` FOREIGN KEY (`engagement_id`) REFERENCES `engagement` (`id`) ON DELETE CASCADE,
  CONSTRAINT `workfile_ibfk_2` FOREIGN KEY (`prepared_by`) REFERENCES `app_user` (`id`),
  CONSTRAINT `workfile_ibfk_3` FOREIGN KEY (`reviewed_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=39 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `workfile`
--

LOCK TABLES `workfile` WRITE;
/*!40000 ALTER TABLE `workfile` DISABLE KEYS */;
INSERT INTO `workfile` VALUES (1,1,'depreciation','depreciation','open',1,NULL,NULL,'2026-08-24 15:18:20'),(2,1,'salary_tds','salary_tds','open',1,NULL,NULL,'2026-08-24 15:18:20'),(3,1,'personal_tax','personal_tax','open',1,NULL,NULL,'2026-08-24 15:18:20'),(4,1,'biz_tax','biz_tax','open',1,NULL,NULL,'2026-08-24 15:18:20'),(5,1,'penalty','penalty','open',1,NULL,NULL,'2026-08-24 15:18:20'),(6,1,'tds','tds','open',1,NULL,NULL,'2026-08-24 15:18:20'),(7,1,'vat','vat','open',1,NULL,NULL,'2026-08-24 15:18:20'),(8,1,'inventory','inventory','open',1,NULL,NULL,'2026-08-24 15:18:20'),(9,1,'fixed_assets','fixed_assets','open',1,NULL,NULL,'2026-08-24 15:18:20'),(10,1,'emi','emi','open',1,NULL,NULL,'2026-08-24 15:18:20'),(11,1,'lease','lease','open',1,NULL,NULL,'2026-08-24 15:18:20'),(12,1,'fin_statements','fin_statements','open',1,NULL,NULL,'2026-08-24 15:18:20'),(13,1,'grant','grant','open',1,NULL,NULL,'2026-08-24 15:18:20'),(14,1,'projection','projection','open',1,NULL,NULL,'2026-08-24 15:18:21'),(15,1,'valuation','valuation','open',1,NULL,NULL,'2026-08-24 15:18:21'),(16,1,'internal_audit','internal_audit','open',1,NULL,NULL,'2026-08-24 15:18:21'),(17,1,'stat_audit','stat_audit','open',1,NULL,NULL,'2026-08-24 15:18:21'),(18,1,'audit_report','audit_report','open',1,NULL,NULL,'2026-08-24 15:18:21'),(19,1,'dd','dd','open',1,NULL,NULL,'2026-08-24 15:18:21'),(20,1,'fdi','fdi','open',1,NULL,NULL,'2026-08-24 15:18:21'),(21,1,'stat_audit','stat_audit (corrected)','open',1,NULL,NULL,'2026-08-24 15:19:02'),(22,1,'fin_statements','fin_statements (corrected prev sign check)','open',1,NULL,NULL,'2026-08-24 15:22:19'),(23,1,'fin_statements','fin_statements (post auto_head fix)','open',1,NULL,NULL,'2026-08-24 15:24:55'),(24,1,'tds','tds (corrected gross_amount field)','open',1,NULL,NULL,'2026-08-24 15:31:19'),(25,2,'lease','Lease (NFRS 16) — 2082-83','open',1,NULL,NULL,'2026-08-26 02:07:26'),(26,2,'projection','Projection — 2082-83','open',1,NULL,NULL,'2026-08-28 13:48:26'),(27,2,'grant','Government grants — 2082-83','open',1,NULL,NULL,'2026-08-28 16:32:35'),(28,2,'vat','VAT Return — 2082-83','open',1,NULL,NULL,'2026-08-29 05:15:04'),(29,2,'emi','Loan & EMI — 2082-83','open',1,NULL,NULL,'2026-08-29 10:21:22'),(30,3,'audit_report','Auditor\'s Report — 2082-83','open',1,NULL,NULL,'2026-08-29 14:28:02'),(31,2,'fin_statements','Financial statements — 2082-83','open',1,NULL,NULL,'2026-08-29 14:28:02'),(32,2,'internal_audit','Internal Audit — 2082-83','open',1,NULL,NULL,'2026-08-29 14:28:02'),(33,2,'personal_tax','Personal Income Tax — 2083-84','open',1,NULL,NULL,'2026-08-29 15:30:52'),(34,2,'tds','TDS / Withholding — 2083-84','open',1,NULL,NULL,'2026-08-29 15:40:52'),(35,2,'vat','VAT Return — 2083-84','open',1,NULL,NULL,'2026-08-29 15:40:52'),(36,2,'internal_audit','Internal Audit — 2083-84','open',1,NULL,NULL,'2026-08-29 15:50:52'),(37,2,'audit_report','Auditor\'s Report — 2083-84','open',1,NULL,NULL,'2026-08-29 15:50:52'),(38,2,'stat_audit','Statutory Audit — 2083-84','open',1,NULL,NULL,'2026-08-29 15:50:52');
/*!40000 ALTER TABLE `workfile` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `workfile_state`
--

DROP TABLE IF EXISTS `workfile_state`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `workfile_state` (
  `workfile_id` int NOT NULL,
  `payload` text NOT NULL,
  `version` int NOT NULL DEFAULT '1',
  `updated_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `updated_by` int DEFAULT NULL,
  `device_id` text,
  `checksum` text,
  PRIMARY KEY (`workfile_id`),
  KEY `updated_by` (`updated_by`),
  CONSTRAINT `workfile_state_ibfk_1` FOREIGN KEY (`workfile_id`) REFERENCES `workfile` (`id`) ON DELETE CASCADE,
  CONSTRAINT `workfile_state_ibfk_2` FOREIGN KEY (`updated_by`) REFERENCES `app_user` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `workfile_state`
--

LOCK TABLES `workfile_state` WRITE;
/*!40000 ALTER TABLE `workfile_state` DISABLE KEYS */;
INSERT INTO `workfile_state` VALUES (1,'{\"pools\": [{\"pool\": \"a\", \"opening_base\": 500000, \"additions\": [{\"desc\": \"New laptop\", \"amount\": 120000, \"bs_month\": 3}], \"disposals\": 0, \"repairs\": 20000, \"business_use_pct\": 100}, {\"pool\": \"b\", \"opening_base\": 2000000, \"additions\": [{\"desc\": \"Delivery van\", \"amount\": 1800000, \"bs_month\": 6}], \"disposals\": 150000, \"repairs\": 50000, \"business_use_pct\": 90}], \"opts\": {\"special_industry\": false}}',1,'2026-08-24 15:18:20',1,'unknown','70533445dbcff35c'),(2,'{\"employees\": [{\"name\": \"Rita Sharma\", \"designation\": \"Accountant\", \"status\": \"individual\", \"basic_monthly\": 45000, \"allowance_monthly\": 5000, \"months\": 12, \"ssf_contributor\": true}, {\"name\": \"Bikash Thapa\", \"designation\": \"Manager\", \"status\": \"couple\", \"basic_monthly\": 80000, \"allowance_monthly\": 10000, \"months\": 12, \"ssf_contributor\": true}]}',1,'2026-08-24 15:18:20',1,'unknown','f6ce90c95d7b4dae'),(3,'{\"person\": {\"status\": \"individual\", \"is_resident_woman\": false, \"ssf_contributor\": true, \"is_senior_citizen\": false}, \"incomes\": {\"employment_assessable\": 900000, \"business_net_profit\": 300000, \"rental_gross\": 240000, \"rental_expenses\": 50000, \"other_income\": 20000}, \"deductions\": {\"retirement_contribution\": 90000, \"life_insurance_premium\": 25000, \"health_insurance_premium\": 15000, \"donations\": 10000}}',1,'2026-08-24 15:18:20',1,'unknown','f301e5a68df985f7'),(4,'{\"profit_before_tax\": 2500000, \"entity\": \"company\", \"rate_category\": \"general\", \"tax_holiday_pct\": 0, \"additions\": [{\"desc\": \"Disallowed entertainment\", \"amount\": 80000}], \"deductions\": [{\"desc\": \"Extra allowable provision\", \"amount\": 30000}], \"book_depreciation\": 400000, \"tax_depreciation\": 550000, \"donations\": 50000}',1,'2026-08-24 15:18:20',1,'unknown','197315948c83f783'),(5,'{\"estimate_return_filed\": true, \"books_maintained\": true, \"assessable_income\": 2500000, \"months_late_return\": 2, \"advance_tax_estimate\": 625000, \"paid_by_poush\": 200000, \"paid_by_chaitra\": 200000, \"paid_by_ashad\": 200000, \"instalment_shortfalls\": []}',1,'2026-08-24 15:18:20',1,'unknown','36b5ce928654f701'),(6,'{\"entries\": [{\"category\": \"contract\", \"date\": \"2083-05-10\", \"party\": \"Himal Suppliers Pvt Ltd\", \"amount\": 500000}, {\"category\": \"commission\", \"date\": \"2083-06-15\", \"party\": \"Sagar Agency\", \"amount\": 120000}, {\"category\": \"consultancy_registered\", \"date\": \"2083-07-01\", \"party\": \"Everest Consulting\", \"amount\": 300000}], \"signatory\": {\"name\": \"Nishant Marasini\", \"designation\": \"ca\", \"membership_no\": \"12345\", \"firm_name\": \"CA Nishant Marasini & Associates\", \"place\": \"Kathmandu\", \"date\": \"2083-12-01\", \"udin\": \"2412345ABCDEF12345\"}}',1,'2026-08-24 15:18:20',1,'unknown','28e2076ed74778f7'),(7,'{\"entity\": {\"name\": \"CA Nishant Test Company\", \"pan\": \"600000001\", \"period_label\": \"Shrawan-Bhadra 2083\"}, \"sales\": [{\"date\": \"2083-04-05\", \"party\": \"Retail Buyer A\", \"desc\": \"Goods sold\", \"taxable_amount\": 800000, \"zero_rated_amount\": 0, \"exempt_amount\": 0}, {\"date\": \"2083-04-20\", \"party\": \"Export Buyer B\", \"desc\": \"Export sale\", \"taxable_amount\": 0, \"zero_rated_amount\": 200000, \"exempt_amount\": 0}], \"purchases\": [{\"date\": \"2083-04-02\", \"party\": \"Supplier X\", \"desc\": \"Raw material\", \"taxable_amount\": 400000, \"blocked\": false, \"capital_goods\": false}, {\"date\": \"2083-04-10\", \"party\": \"Supplier Y\", \"desc\": \"Office car\", \"taxable_amount\": 100000, \"blocked\": true, \"capital_goods\": false}], \"credit_notes_issued\": 10000, \"debit_notes_issued\": 0, \"credit_notes_received\": 5000, \"debit_notes_received\": 0, \"opening_credit\": 15000, \"mixed_supply\": false, \"signatory\": {\"name\": \"Nishant Marasini\", \"designation\": \"ca\", \"membership_no\": \"12345\", \"firm_name\": \"CA Nishant Marasini & Associates\", \"place\": \"Kathmandu\", \"date\": \"2083-12-01\", \"udin\": \"2412345ABCDEF12346\"}}',1,'2026-08-24 15:18:20',1,'unknown','9a5898618a5a0845'),(8,'{\"entity\": {\"name\": \"CA Nishant Test Company\", \"period_label\": \"FY 2083-84\"}, \"raw_materials\": [{\"name\": \"PVC resin\", \"unit\": \"kg\", \"costing_method\": \"weighted_avg\", \"opening\": {\"date\": \"2083-04-01\", \"qty\": 1000, \"rate\": 120}, \"purchases\": [{\"date\": \"2083-05-01\", \"qty\": 2000, \"rate\": 125, \"freight\": 5000, \"duty\": 2000, \"other_cost\": 0, \"discount\": 0, \"desc\": \"Purchase 1\"}], \"issues\": [{\"date\": \"2083-06-01\", \"qty\": 1500, \"desc\": \"Issued to production\"}], \"replacement_cost_per_unit\": 122, \"fg_expected_below_cost\": false}], \"wip\": {\"opening\": {\"qty\": 0, \"cost\": 0}, \"units_introduced\": 3000, \"material_cost_override\": null, \"direct_labor_cost\": 150000, \"variable_overhead\": 80000, \"normal_capacity_units\": 3000, \"actual_production_units\": 2800, \"budgeted_fixed_overhead\": 60000, \"normal_loss_units\": 50, \"abnormal_loss_units\": 20, \"scrap_rate_per_unit\": 5, \"units_completed_transferred\": 2700, \"closing_wip_units\": 30, \"closing_material_pct\": 100, \"closing_conversion_pct\": 60, \"nrv_selling_price_per_unit\": 200, \"nrv_cost_to_complete_per_unit\": 10, \"nrv_selling_cost_per_unit\": 5}, \"fg\": {\"costing_method\": \"weighted_avg\", \"opening\": {\"date\": \"2083-04-01\", \"qty\": 100, \"rate\": 180}, \"transfer_date\": \"2083-06-05\", \"sales\": [{\"date\": \"2083-06-10\", \"qty\": 2000, \"desc\": \"Sold to distributor\"}], \"selling_price_per_unit\": 200, \"selling_cost_per_unit\": 5}}',1,'2026-08-24 15:18:20',1,'unknown','ddb7b47c0b557a9e'),(9,'{\"entity\": {\"name\": \"CA Nishant Test Company\", \"period_label\": \"FY 2083-84\"}, \"classes\": [{\"key\": \"furniture\", \"label\": \"Furniture & fixtures\", \"method\": \"straight_line\", \"rate_pct\": 10, \"useful_life_years\": 10, \"residual_pct\": 5, \"opening_block_nbv\": 500000, \"opening_block_remaining_life_years\": 7, \"opening_block_residual_value\": 25000, \"assets\": [{\"code\": \"FA-01\", \"name\": \"Office desks\", \"status\": \"existing\", \"acquisition_date\": \"2080-04-01\", \"cost\": 300000, \"additional_cost\": 0, \"opening_nbv\": 250000, \"opening_nbv_remaining_life_years\": 7, \"opening_nbv_residual_value\": 15000, \"method\": \"straight_line\", \"rate_pct\": 10, \"useful_life_years\": 10, \"residual_pct\": 5, \"business_use_pct\": 100, \"disposal_date\": null, \"disposal_proceeds\": null}, {\"code\": \"FA-02\", \"name\": \"New chairs\", \"status\": \"addition\", \"acquisition_date\": \"2083-06-15\", \"cost\": 150000, \"additional_cost\": 0, \"opening_nbv\": 0, \"opening_nbv_remaining_life_years\": null, \"opening_nbv_residual_value\": null, \"method\": \"straight_line\", \"rate_pct\": 10, \"useful_life_years\": 10, \"residual_pct\": 5, \"business_use_pct\": 100, \"disposal_date\": null, \"disposal_proceeds\": null}]}]}',1,'2026-08-24 15:18:20',1,'unknown','02077fb8c83befab'),(10,'{\"principal\": 5000000, \"annual_rate\": 11.5, \"tenure_periods\": 60, \"frequency\": \"monthly\", \"repayment\": \"emi\", \"modifications\": []}',1,'2026-08-24 15:18:20',1,'unknown','fde7878df3c0df05'),(11,'{\"payment\": 50000, \"periods\": 60, \"frequency\": \"monthly\", \"annual_rate\": 12, \"timing\": \"arrear\", \"tds_borne_by\": \"lessor\", \"start_date_ad\": \"2026-08-01\", \"rent_steps\": [{\"from_period\": 13, \"payment\": 55000}, {\"from_period\": 25, \"payment\": 60500}], \"modifications\": [], \"escalation\": {\"type\": \"pct\", \"pct\": 10, \"amount\": 0, \"every_years\": 1}, \"short_term_or_low_value\": false, \"initial_direct_costs\": 20000, \"incentives\": 0, \"restoration_provision\": 0}',1,'2026-08-24 15:18:20',1,'unknown','2ca16023d2f90ba8'),(12,'{\"entity\": {\"name\": \"CA Nishant Test Company\", \"address\": \"Kathmandu, Nepal\", \"pan\": \"600000001\", \"fy_label\": \"2083-84\", \"prev_label\": \"2082-83\"}, \"rows\": [{\"name\": \"Cash in hand\", \"group\": \"Current Assets\", \"dr\": 150000, \"cr\": 0, \"prev\": 100000, \"opening_dr\": 100000, \"opening_cr\": 0}, {\"name\": \"Bank balance\", \"group\": \"Current Assets\", \"dr\": 850000, \"cr\": 0, \"prev\": 600000, \"opening_dr\": 600000, \"opening_cr\": 0}, {\"name\": \"Trade receivables\", \"group\": \"Current Assets\", \"dr\": 1200000, \"cr\": 0, \"prev\": 900000, \"opening_dr\": 900000, \"opening_cr\": 0}, {\"name\": \"Inventory\", \"group\": \"Current Assets\", \"dr\": 700000, \"cr\": 0, \"prev\": 500000, \"opening_dr\": 500000, \"opening_cr\": 0}, {\"name\": \"Furniture & fixtures\", \"group\": \"Non-current Assets\", \"dr\": 450000, \"cr\": 0, \"prev\": 500000, \"opening_dr\": 500000, \"opening_cr\": 0}, {\"name\": \"Trade payables\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 650000, \"prev\": 400000, \"opening_dr\": 0, \"opening_cr\": 400000}, {\"name\": \"Bank loan\", \"group\": \"Non-current Liabilities\", \"dr\": 0, \"cr\": 2000000, \"prev\": 2500000, \"opening_dr\": 0, \"opening_cr\": 2500000}, {\"name\": \"Share capital\", \"group\": \"Equity\", \"dr\": 0, \"cr\": 1000000, \"prev\": 1000000, \"opening_dr\": 0, \"opening_cr\": 1000000}, {\"name\": \"Retained earnings\", \"group\": \"Equity\", \"dr\": 0, \"cr\": 350000, \"prev\": 200000, \"opening_dr\": 0, \"opening_cr\": 200000}, {\"name\": \"Sales\", \"group\": \"Revenue\", \"dr\": 0, \"cr\": 8500000, \"prev\": 7200000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Purchases\", \"group\": \"Cost of Sales\", \"dr\": 5200000, \"cr\": 0, \"prev\": 4400000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Salary expense\", \"group\": \"Operating Expenses\", \"dr\": 1400000, \"cr\": 0, \"prev\": 1200000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Rent expense\", \"group\": \"Operating Expenses\", \"dr\": 300000, \"cr\": 0, \"prev\": 260000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Depreciation\", \"group\": \"Operating Expenses\", \"dr\": 150000, \"cr\": 0, \"prev\": 140000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Interest expense\", \"group\": \"Finance Cost\", \"dr\": 200000, \"cr\": 0, \"prev\": 250000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"TDS payable\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 50000, \"prev\": 30000, \"opening_dr\": 0, \"opening_cr\": 30000}, {\"name\": \"VAT payable\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 90000, \"prev\": 60000, \"opening_dr\": 0, \"opening_cr\": 60000}], \"closing_stock\": {\"current\": 700000, \"previous\": 500000}, \"accounting_policy\": \"These financial statements have been prepared in accordance with Nepal Financial Reporting Standards (NFRS) for Small and Medium-sized Entities.\", \"disclosures\": {\"related_party_transactions\": \"No material related party transactions during the year.\", \"contingent_liabilities\": \"None.\", \"capital_commitments\": \"None.\", \"subsequent_events\": \"No material subsequent events noted.\"}}',1,'2026-08-24 15:18:20',1,'unknown','c7229f4c04e76d64'),(13,'{\"meta\": {\"fy_start\": \"07-16\", \"fy_label\": \"bs\"}, \"grants\": [{\"name\": \"Export promotion subsidy\", \"type\": \"income\", \"amount\": 500000, \"received_date_ad\": \"2026-08-01\", \"recognition_method\": \"immediate\", \"related_asset_life_years\": null, \"conditions_met\": true}], \"events\": []}',1,'2026-08-24 15:18:20',1,'unknown','c317edf915bf0760'),(14,'{\"company\": \"CA Nishant Test Company\", \"client\": \"greenfield\", \"years\": 5, \"industry\": \"Plastic Products — PVC & HDPE Pipe\", \"loan_type\": \"epi\", \"loan\": 60000000, \"equity\": 40000000, \"rate\": 0.115, \"wc_rate\": 0.12, \"wc_margin\": 0.75, \"od_spread\": 0.01, \"disc_rate\": 0.13, \"tv_basis\": \"going\", \"tgrowth\": 0.03, \"proc_fee\": 0.0075, \"payout\": 0}',1,'2026-08-24 15:18:21',1,'unknown','219c75250618ddd6'),(15,'{\"subject\": {\"name\": \"CA Nishant Test Company\", \"subject_type\": \"entity\", \"valuation_date\": \"2083-12-01\", \"purpose\": \"Sale negotiation\"}, \"workings\": [{\"id\": \"w1\", \"method\": \"nav\", \"label\": \"Net asset value\", \"fair_value_level\": 2, \"inputs\": {\"assets\": [{\"desc\": \"Fixed assets\", \"book_value\": 450000, \"fair_value\": 500000}, {\"desc\": \"Current assets\", \"book_value\": 2900000, \"fair_value\": 2900000}], \"liabilities\": [{\"desc\": \"Trade payables\", \"book_value\": 650000, \"fair_value\": 650000}, {\"desc\": \"Bank loan\", \"book_value\": 2000000, \"fair_value\": 2000000}]}}], \"conclusion\": {\"weights\": {\"w1\": 100}, \"notes\": \"NAV taken as sole basis given limited trading history.\"}}',1,'2026-08-24 15:18:21',1,'unknown','c05c2aa51374a028'),(16,'{\"entity\": {\"name\": \"CA Nishant Test Company\", \"entity_type\": \"Private Limited\", \"other_entity_type_label\": \"\", \"period_label\": \"FY 2083-84\", \"scope\": \"Review of purchase-to-pay and cash controls\", \"objectives\": \"Assess control effectiveness\"}, \"planning\": {\"previous_findings_status\": \"No prior findings\", \"key_risks_noted\": \"Manual approval bottlenecks\"}, \"criteria_responses\": {}, \"findings\": [{\"area\": \"Purchase\", \"title\": \"No three-way match evidence\", \"severity\": \"medium\", \"recommendation\": \"Implement PO-GRN-invoice matching before payment\", \"management_response\": \"Agreed, to implement next quarter\"}], \"conclusion\": {\"overall_rating\": \"satisfactory\", \"summary\": \"Controls generally adequate with noted improvement areas.\"}, \"signatory\": {\"name\": \"Nishant Marasini\", \"designation\": \"ca\", \"membership_no\": \"12345\", \"firm_name\": \"CA Nishant Marasini & Associates\", \"place\": \"Kathmandu\", \"date\": \"2083-12-01\", \"udin\": \"2412345ABCDEF12347\"}}',1,'2026-08-24 15:18:21',1,'unknown','5e9dc2f7f7db5a14'),(17,'{\"entity\": {\"name\": \"CA Nishant Test Company\", \"entity_type\": \"Private Limited\", \"other_entity_type_label\": \"\", \"period_label\": \"FY 2083-84\"}, \"materiality\": {\"benchmark\": \"Revenue\", \"benchmark_value\": 8500000, \"materiality_pct\": 1, \"pm_pct\": 75, \"ct_pct\": 5}, \"sample_size\": {\"population_value\": 5200000, \"population_count\": 120, \"tolerable_misstatement\": \"medium\", \"expected_misstatement\": 20000, \"risk_level\": \"medium\"}, \"risk_assessment\": {}, \"criteria_responses\": {}, \"findings\": [{\"area\": \"Revenue\", \"title\": \"Cut-off testing\", \"severity\": \"low\", \"recommendation\": \"Maintain current cut-off procedures\", \"management_response\": \"Noted\"}], \"conclusion\": {\"overall_rating\": \"unqualified\", \"summary\": \"No material misstatements identified.\"}, \"signatory\": {\"name\": \"Nishant Marasini\", \"designation\": \"ca\", \"membership_no\": \"12345\", \"firm_name\": \"CA Nishant Marasini & Associates\", \"place\": \"Kathmandu\", \"date\": \"2083-12-01\", \"udin\": \"2412345ABCDEF12348\"}}',1,'2026-08-24 15:18:21',1,'unknown','6919429224126622'),(18,'{\"entity\": {\"name\": \"CA Nishant Test Company\"}, \"opinion_type\": \"unqualified\", \"opinion_paragraph\": \"In our opinion, the accompanying financial statements present fairly, in all material respects, the financial position of CA Nishant Test Company as at Ashad end 2083, and its financial performance and cash flows for the year then ended in accordance with Nepal Financial Reporting Standards (NFRS).\", \"basis_paragraph\": \"We conducted our audit in accordance with Nepal Standards on Auditing (NSA).\", \"eom_paragraph\": \"\", \"other_matter_paragraph\": \"\", \"kam_paragraphs\": [], \"responsibilities_management\": \"Management is responsible for the preparation of the financial statements.\", \"responsibilities_auditor\": \"Our objectives are to obtain reasonable assurance about whether the financial statements as a whole are free from material misstatement.\", \"signatory\": {\"name\": \"Nishant Marasini\", \"designation\": \"ca\", \"membership_no\": \"12345\", \"firm_name\": \"CA Nishant Marasini & Associates\", \"place\": \"Kathmandu\", \"date\": \"2083-12-01\", \"udin\": \"2412345ABCDEF12349\"}}',1,'2026-08-24 15:18:21',1,'unknown','c7d566b35d46e30e'),(19,'{\"eng\": {\"target\": \"CA Nishant Test Company\", \"pan\": \"600000001\", \"sector\": \"Manufacturing\", \"txn\": \"Acquisition\", \"stake\": 100, \"dealval\": 15000000, \"unit\": \"Thousands\", \"cur\": \"NPR\", \"latest_fy\": \"2082/83\", \"nyears\": 5, \"matmode\": \"auto\", \"mat\": 0, \"multiple\": 0}, \"fin\": {}, \"ov\": {}, \"g\": {\"dr\": [], \"acct\": [], \"tds\": [], \"conc\": [], \"stream\": [], \"norm\": [], \"wcm\": [], \"debt\": [], \"dlike\": [], \"rp\": [], \"oneoff\": [], \"cont\": [], \"it\": [], \"vat\": [], \"notice\": [], \"find\": [], \"rec\": []}}',1,'2026-08-24 15:18:21',1,'unknown','1cc9738e27f4e7b8'),(20,'{\"client\": {\"name\": \"CA Nishant Test Company\", \"status\": \"Proposed — to be incorporated\", \"sector\": \"Manufacturing — general\", \"pan\": \"600000001\"}, \"fx\": {\"base\": \"USD\", \"rate\": 135, \"rates\": {\"USD\": 135, \"EUR\": 146, \"INR\": 1.6}}, \"investors\": [{\"kind\": \"FC\", \"name\": \"Global Investor Pte Ltd\", \"country\": \"Singapore\", \"amount\": 500000, \"currency\": \"USD\", \"source_of_funds\": \"Retained earnings\"}], \"capital\": {\"authorised\": 100000000, \"issued\": 67500000, \"face_value\": 100, \"premium\": 0}, \"cost\": [[\"Land and land development\", 20000000], [\"Building and civil works\", 15000000], [\"Plant and machinery\", 25000000], [\"Utilities and installation\", 3000000], [\"Vehicles\", 2000000], [\"Office equipment and furniture\", 1000000], [\"Preliminary and pre-operative expenses\", 1500000], [\"Contingency\", 1000000], [\"Margin money for working capital\", 1500000]], \"loan\": {\"f_amt\": 3000000, \"f_rate\": 9, \"f_tenure\": 7, \"f_morat\": 1, \"f_cur\": \"USD\", \"l_amt\": 0, \"l_rate\": 11, \"l_tenure\": 7, \"l_morat\": 1}, \"proj\": {\"years\": 5, \"rev_y1\": 40000000, \"growth\": 10, \"util\": [60, 75, 85, 95, 100], \"cogs_pct\": 55, \"admin_pct\": 8, \"sell_pct\": 5, \"other_pct\": 2, \"salary_pct\": 0, \"dep_life\": 15, \"dep_bldg\": 20, \"preop_amort\": 5, \"tax_rate\": 20, \"tax_holiday\": 0, \"concession_pct\": 0, \"ar_days\": 45, \"inv_days\": 60, \"ap_days\": 30, \"payout\": 40, \"royalty_pct\": 0, \"tech_fee_pct\": 0, \"mgmt_fee_pct\": 0}, \"params\": {\"min_fdi\": 20000000, \"min_fdi_exempt_it\": true, \"auto_cap\": 500000000, \"ibn_threshold\": 6000000000, \"dividend_wht\": 5, \"interest_wht\": 15, \"royalty_wht\": 15, \"service_wht\": 15, \"cgt_non_resident\": 25, \"cgt_res_entity\": 15, \"cgt_res_indiv\": 10, \"vat\": 13, \"de_ratio\": 70, \"royalty_domestic_sales_cap\": 5, \"royalty_domestic_profit_cap\": 15, \"royalty_export_sales_cap\": 10, \"royalty_export_profit_cap\": 20, \"last_verified\": \"\"}, \"route\": {\"neg_checks\": {}, \"cap_override\": \"\", \"authority\": \"auto\", \"auto_eligible\": \"auto\"}, \"val\": {\"wacc\": 16, \"tg\": 4, \"pe\": 12, \"ev_ebitda\": 8, \"net_debt\": 0, \"net_assets\": 0, \"surplus\": 0, \"exit_year\": 5, \"exit_multiple\": 8, \"exit_cost_base\": 0, \"nav_weight\": 30, \"dcf_weight\": 40, \"pe_weight\": 15, \"ebitda_weight\": 15}, \"dd\": {}, \"tt\": {\"has\": true, \"licensor\": \"Global Investor Pte Ltd\", \"type\": \"Technical know-how and trade mark licence\", \"term\": 10}}',1,'2026-08-24 15:18:21',1,'unknown','f67c1940930ce2be'),(21,'{\"entity\": {\"name\": \"CA Nishant Test Company\", \"entity_type\": \"Private Limited\", \"other_entity_type_label\": \"\", \"period_label\": \"FY 2083-84\"}, \"materiality\": {\"benchmark\": \"Revenue\", \"benchmark_value\": 8500000, \"materiality_pct\": 1, \"pm_pct\": 75, \"ct_pct\": 5}, \"sample_size\": {\"population_value\": 5200000, \"population_count\": 120, \"tolerable_misstatement\": 63750, \"expected_misstatement\": 20000, \"risk_level\": \"medium\"}, \"risk_assessment\": {}, \"criteria_responses\": {}, \"findings\": [{\"area\": \"Revenue\", \"title\": \"Cut-off testing\", \"severity\": \"low\", \"recommendation\": \"Maintain current cut-off procedures\", \"management_response\": \"Noted\"}], \"conclusion\": {\"overall_rating\": \"unqualified\", \"summary\": \"No material misstatements identified.\"}, \"signatory\": {\"name\": \"Nishant Marasini\", \"designation\": \"ca\", \"membership_no\": \"12345\", \"firm_name\": \"CA Nishant Marasini & Associates\", \"place\": \"Kathmandu\", \"date\": \"2083-12-01\", \"udin\": \"2412345ABCDEF12348\"}}',1,'2026-08-24 15:19:02',1,'unknown','ebcaf8e9ef4bb39b'),(22,'{\"entity\": {\"name\": \"CA Nishant Test Company\", \"address\": \"Kathmandu, Nepal\", \"pan\": \"600000001\", \"fy_label\": \"2083-84\", \"prev_label\": \"2082-83\"}, \"rows\": [{\"name\": \"Cash in hand\", \"group\": \"Current Assets\", \"dr\": 150000, \"cr\": 0, \"prev\": 100000, \"opening_dr\": 100000, \"opening_cr\": 0}, {\"name\": \"Bank balance\", \"group\": \"Current Assets\", \"dr\": 850000, \"cr\": 0, \"prev\": 600000, \"opening_dr\": 600000, \"opening_cr\": 0}, {\"name\": \"Trade receivables\", \"group\": \"Current Assets\", \"dr\": 1200000, \"cr\": 0, \"prev\": 900000, \"opening_dr\": 900000, \"opening_cr\": 0}, {\"name\": \"Inventory\", \"group\": \"Current Assets\", \"dr\": 700000, \"cr\": 0, \"prev\": 500000, \"opening_dr\": 500000, \"opening_cr\": 0}, {\"name\": \"Furniture & fixtures\", \"group\": \"Non-current Assets\", \"dr\": 450000, \"cr\": 0, \"prev\": 500000, \"opening_dr\": 500000, \"opening_cr\": 0}, {\"name\": \"Trade payables\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 650000, \"prev\": 400000, \"opening_dr\": 0, \"opening_cr\": 400000}, {\"name\": \"Bank loan\", \"group\": \"Non-current Liabilities\", \"dr\": 0, \"cr\": 2000000, \"prev\": 2500000, \"opening_dr\": 0, \"opening_cr\": 2500000}, {\"name\": \"Share capital\", \"group\": \"Equity\", \"dr\": 0, \"cr\": 1000000, \"prev\": 1000000, \"opening_dr\": 0, \"opening_cr\": 1000000}, {\"name\": \"Retained earnings\", \"group\": \"Equity\", \"dr\": 0, \"cr\": 350000, \"prev\": 200000, \"opening_dr\": 0, \"opening_cr\": 200000}, {\"name\": \"Sales\", \"group\": \"Revenue\", \"dr\": 0, \"cr\": 8500000, \"prev\": 7200000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Purchases\", \"group\": \"Cost of Sales\", \"dr\": 5200000, \"cr\": 0, \"prev\": 4400000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Salary expense\", \"group\": \"Operating Expenses\", \"dr\": 1400000, \"cr\": 0, \"prev\": 1200000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Rent expense\", \"group\": \"Operating Expenses\", \"dr\": 300000, \"cr\": 0, \"prev\": 260000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Depreciation\", \"group\": \"Operating Expenses\", \"dr\": 150000, \"cr\": 0, \"prev\": 140000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Interest expense\", \"group\": \"Finance Cost\", \"dr\": 200000, \"cr\": 0, \"prev\": 250000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"TDS payable\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 50000, \"prev\": 30000, \"opening_dr\": 0, \"opening_cr\": 30000}, {\"name\": \"VAT payable\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 90000, \"prev\": 60000, \"opening_dr\": 0, \"opening_cr\": 60000}], \"closing_stock\": {\"current\": 700000, \"previous\": 500000}, \"accounting_policy\": \"NFRS for SMEs.\", \"disclosures\": {\"related_party_transactions\": \"None.\", \"contingent_liabilities\": \"None.\", \"capital_commitments\": \"None.\", \"subsequent_events\": \"None.\"}}',1,'2026-08-24 15:22:19',1,'unknown','47bd7d705ac99506'),(23,'{\"entity\": {\"name\": \"CA Nishant Test Company\", \"address\": \"Kathmandu, Nepal\", \"pan\": \"600000001\", \"fy_label\": \"2083-84\", \"prev_label\": \"2082-83\"}, \"rows\": [{\"name\": \"Cash in hand\", \"group\": \"Current Assets\", \"dr\": 150000, \"cr\": 0, \"prev\": 100000, \"opening_dr\": 100000, \"opening_cr\": 0}, {\"name\": \"Bank balance\", \"group\": \"Current Assets\", \"dr\": 850000, \"cr\": 0, \"prev\": 600000, \"opening_dr\": 600000, \"opening_cr\": 0}, {\"name\": \"Trade receivables\", \"group\": \"Current Assets\", \"dr\": 1200000, \"cr\": 0, \"prev\": 900000, \"opening_dr\": 900000, \"opening_cr\": 0}, {\"name\": \"Inventory\", \"group\": \"Current Assets\", \"dr\": 700000, \"cr\": 0, \"prev\": 500000, \"opening_dr\": 500000, \"opening_cr\": 0}, {\"name\": \"Furniture & fixtures\", \"group\": \"Non-current Assets\", \"dr\": 450000, \"cr\": 0, \"prev\": 500000, \"opening_dr\": 500000, \"opening_cr\": 0}, {\"name\": \"Trade payables\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 650000, \"prev\": 400000, \"opening_dr\": 0, \"opening_cr\": 400000}, {\"name\": \"Bank loan\", \"group\": \"Non-current Liabilities\", \"dr\": 0, \"cr\": 2000000, \"prev\": 2500000, \"opening_dr\": 0, \"opening_cr\": 2500000}, {\"name\": \"Share capital\", \"group\": \"Equity\", \"dr\": 0, \"cr\": 1000000, \"prev\": 1000000, \"opening_dr\": 0, \"opening_cr\": 1000000}, {\"name\": \"Retained earnings\", \"group\": \"Equity\", \"dr\": 0, \"cr\": 350000, \"prev\": 200000, \"opening_dr\": 0, \"opening_cr\": 200000}, {\"name\": \"Sales\", \"group\": \"Revenue\", \"dr\": 0, \"cr\": 8500000, \"prev\": 7200000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Purchases\", \"group\": \"Cost of Sales\", \"dr\": 5200000, \"cr\": 0, \"prev\": 4400000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Salary expense\", \"group\": \"Operating Expenses\", \"dr\": 1400000, \"cr\": 0, \"prev\": 1200000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Rent expense\", \"group\": \"Operating Expenses\", \"dr\": 300000, \"cr\": 0, \"prev\": 260000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Depreciation\", \"group\": \"Operating Expenses\", \"dr\": 150000, \"cr\": 0, \"prev\": 140000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"Interest expense\", \"group\": \"Finance Cost\", \"dr\": 200000, \"cr\": 0, \"prev\": 250000, \"opening_dr\": 0, \"opening_cr\": 0}, {\"name\": \"TDS payable\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 50000, \"prev\": 30000, \"opening_dr\": 0, \"opening_cr\": 30000}, {\"name\": \"VAT payable\", \"group\": \"Current Liabilities\", \"dr\": 0, \"cr\": 90000, \"prev\": 60000, \"opening_dr\": 0, \"opening_cr\": 60000}], \"closing_stock\": {\"current\": 700000, \"previous\": 500000}, \"accounting_policy\": \"NFRS for SMEs.\", \"disclosures\": {\"related_party_transactions\": \"None.\", \"contingent_liabilities\": \"None.\", \"capital_commitments\": \"None.\", \"subsequent_events\": \"None.\"}}',1,'2026-08-24 15:24:55',1,'unknown','47bd7d705ac99506'),(24,'{\"entries\": [{\"category\": \"contract\", \"date\": \"2083-05-10\", \"party\": \"Himal Suppliers Pvt Ltd\", \"gross_amount\": 500000, \"description\": \"Supply contract\"}, {\"category\": \"commission\", \"date\": \"2083-06-15\", \"party\": \"Sagar Agency\", \"gross_amount\": 120000, \"description\": \"Sales commission\"}, {\"category\": \"consultancy_registered\", \"date\": \"2083-07-01\", \"party\": \"Everest Consulting\", \"gross_amount\": 300000, \"description\": \"Advisory fees\"}], \"signatory\": {\"name\": \"Nishant Marasini\", \"designation\": \"ca\", \"membership_no\": \"12345\", \"firm_name\": \"CA Nishant Marasini & Associates\", \"place\": \"Kathmandu\", \"date\": \"2083-12-01\", \"udin\": \"2412345ABCDEF12346\"}}',1,'2026-08-24 15:31:19',1,'unknown','9ac8801ebb27d70a'),(25,'{\"payment\": 125000, \"periods\": 120, \"frequency\": \"monthly\", \"annual_rate\": 12, \"timing\": \"advance\", \"tds_borne_by\": \"lessor\", \"rent_steps\": [{\"from_period\": 25, \"payment\": 137500}, {\"from_period\": 49, \"payment\": 151250}, {\"from_period\": 73, \"payment\": 166375}, {\"from_period\": 97, \"payment\": 183012.5}], \"modifications\": [], \"escalation\": {\"pct\": 10, \"every_years\": 2, \"type\": \"pct\"}}',2,'2026-08-26 02:12:26',1,'dev-dwihnfdq','5d71a9ac1ad03c3d'),(26,'{\"company\": \"\", \"client\": \"greenfield\", \"years\": 5, \"industry\": \"Plastic Products — PVC & HDPE Pipe\", \"loan_type\": \"epi\", \"loan\": 60000000, \"equity\": 40000000, \"rate\": 0.115, \"wc_rate\": 0.12, \"wc_margin\": 0.75, \"od_spread\": 0.01, \"disc_rate\": 0.13, \"tv_basis\": \"going\", \"tgrowth\": 0.03, \"proc_fee\": 0.0075, \"payout\": 0}',1,'2026-08-28 13:48:26',1,'dev-dwihnfdq','9fe34856a304d3b7'),(27,'{\"meta\": {\"fy_start\": \"07-16\", \"fy_label\": \"ad\"}, \"grants\": [{\"id\": \"g1787934714122ombp\", \"name\": \"\", \"type\": \"loan\", \"freq\": 12, \"tenor\": 60, \"mode\": \"emi\", \"release\": \"interest\", \"dep_method\": \"slm\", \"present\": \"deferred\"}], \"events\": []}',1,'2026-08-28 16:32:35',1,'dev-dwihnfdq','6db6e6d9b46b000f'),(28,'{\"entity\": {\"name\": \"\", \"pan\": \"\", \"period_label\": \"\"}, \"sales\": [], \"purchases\": [], \"credit_notes_issued\": 0, \"debit_notes_issued\": 0, \"credit_notes_received\": 0, \"debit_notes_received\": 0, \"opening_credit\": 0, \"mixed_supply\": false, \"signatory\": {\"name\": \"\", \"designation\": \"ca\", \"membership_no\": \"\", \"firm_name\": \"\", \"place\": \"\", \"date\": \"\", \"udin\": \"\"}}',1,'2026-08-29 05:15:04',1,'dev-dwihnfdq','b7b0505e90b3a876'),(29,'{\"principal\": 1000000, \"annual_rate\": 8, \"tenure_periods\": 12, \"frequency\": \"quarterly\", \"repayment\": \"emi\", \"modifications\": [], \"start_date_ad\": \"2026-08-29\"}',1,'2026-08-29 10:21:22',1,'dev-dwihnfdq','6790bea3d325ce68'),(30,'{\"entity\": {\"name\": \"Kreesa Sales Private Limited\"}, \"opinion_type\": \"unqualified\", \"opinion_paragraph\": \"In our opinion, the accompanying financial statements present fairly, in all material respects, the financial position of [Entity] as at [date], and its financial performance and cash flows for the year then ended in accordance with Nepal Financial Reporting Standards (NFRS).\", \"basis_paragraph\": \"We conducted our audit in accordance with Nepal Standards on Auditing (NSA). Our responsibilities under those standards are further described in the Auditor\'s Responsibilities section below. We are independent of the entity in accordance with the ICAN Handbook of Code of Ethics, and we have fulfilled our other ethical responsibilities in accordance with these requirements. We believe that the audit evidence we have obtained is sufficient and appropriate to provide a basis for our opinion.\", \"eom_paragraph\": \"We draw attention to Note 14 of the financial statements, which describes the uncertainty related to the outcome of the pending lawsuit filed against the Company by XYZ Corp. Our opinion is not modified with respect to this matter\", \"other_matter_paragraph\": \"The financial statements of ABC Company for the year ended December 31, 2024, were audited by another auditor who expressed an unmodified opinion on those statements on March 15, 2025.\", \"kam_paragraphs\": [{\"heading\": \"Key Audit Matter Paragraph\", \"text\": \"As disclosed in Note 4 to the financial statements, the company holds finished goods and raw materials totaling $14.5 million, representing 35% of total current assets.Management values inventory at the lower of cost and net realizable value (NRV). Determining NRV requires significant management judgment regarding future selling prices, expected product obsolescence, and slow-moving inventory items. Because of the high level of estimation uncertainty and the material balance involved, we identified inventory valuation as a significant risk area requiring our focused audit attention.\"}], \"responsibilities_management\": \"Management is responsible for the preparation and fair presentation of these financial statements in accordance with Nepal Financial Reporting Standards (NFRS), and for such internal control as management determines is necessary to enable the preparation of financial statements that are free from material misstatement, whether due to fraud or error. In preparing the financial statements, management is responsible for assessing the Company’s ability to continue as a going concern, disclosing, as applicable, matters related to going concern and using the going concern basis of accounting unless management either intends to liquidate the Company or to cease operations, or has no realistic alternative but to do so. Those charged with governance are responsible for overseeing the Company’s financial reporting process.\", \"responsibilities_auditor\": \"Our objectives are to obtain reasonable assurance about whether the financial statements as a whole are free from material misstatement, whether due to fraud or error, and to issue an auditor’s report that includes our opinion. Reasonable assurance is a high level of assurance, but is not a guarantee that an audit conducted in accordance with Nepal Standards on Auditing (NSAs) will always detect a material misstatement when it exists. Misstatements can arise from fraud or error and are considered material if, individually or in the aggregate, they could reasonably be expected to influence the economic decisions of users taken on the basis of these financial statements.As part of an audit in accordance with NSAs, we exercise professional judgment and maintain professional skepticism throughout the audit. We also identify and assess the risks of material misstatement of the financial statements, whether due to fraud or error, design and perform audit procedures responsive to those risks, and obtain audit evidence that is sufficient and appropriate to provide a basis for our opinion. The risk of not detecting a material misstatement resulting from fraud is higher than for one resulting from error, as fraud may involve collusion, forgery, intentional omissions, misrepresentations, or the override of internal control. We obtain an understanding of internal control relevant to the audit in order to design audit procedures that are appropriate in the circumstances, but not for the purpose of expressing an opinion on the effectiveness of the Company’s internal control. We evaluate the appropriateness of accounting policies used and the reasonableness of accounting estimates and related disclosures made by management. We conclude on the appropriateness of management’s use of the going concern basis of accounting and, based on the audit evidence obtained, whether a material uncertainty exists related to events or conditions that may cast significant doubt on the Company’s ability to continue as a going concern. If we conclude that a material uncertainty exists, we are required to draw attention in our auditor’s report to the related disclosures in the financial statements or, if such disclosures are inadequate, to modify our opinion. Our conclusions are based on the audit evidence obtained up to the date of our auditor’s report. However, future events or conditions may cause the Company to cease to continue as a going concern. We evaluate the overall presentation, structure and content of the financial statements, including the disclosures, and whether the financial statements represent the underlying transactions and events in a manner that achieves fair presentation.We communicate with those charged with governance regarding, among other matters, the planned scope and timing of the audit and significant audit findings, including any significant deficiencies in internal control that we identify during our audit.\", \"signatory\": {\"name\": \"Kumar Prasad Nepal\", \"designation\": \"ra\", \"membership_no\": \"112346\", \"firm_name\": \"K Nepal and Associates\", \"place\": \"Kathmandu\", \"date\": \"2026-08-22\", \"udin\": \"hfjsdguH4566TYUU\"}}',1,'2026-08-29 14:28:02',1,'dev-dwihnfdq','c5f223b69584ae57'),(31,'{\"entity\": {\"name\": \"\", \"address\": \"\", \"pan\": \"\", \"fy_label\": \"\", \"prev_label\": \"\"}, \"rows\": [], \"closing_stock\": {\"current\": 0, \"previous\": 0}, \"accounting_policy\": \"These financial statements have been prepared in accordance with Nepal Financial Reporting Standards (NFRS) for Small and Medium-sized Entities, on the historical cost basis, and are presented in Nepalese Rupees.\\n\\nBasis of accounting: the accrual basis is used throughout.\\n\\nProperty, plant and equipment: stated at cost less accumulated depreciation. Depreciation is charged on a [straight-line / reducing-balance] basis over each asset’s estimated useful life.\\n\\nInventories: valued at the lower of cost and net realisable value.\\n\\nRevenue recognition: revenue is recognised when the significant risks and rewards of ownership have transferred to the customer.\\n\\nTaxation: current tax is provided at the rates and on the basis enacted at the reporting date.\\n\\n[This is a starting draft — edit every bracketed choice and anything else that doesn’t match this entity before it is relied on.]\", \"disclosures\": {\"related_party\": \"\", \"contingent_liabilities\": \"\", \"capital_commitments\": \"\", \"subsequent_events\": \"\"}}',1,'2026-08-29 14:28:02',1,'dev-dwihnfdq','a5cca1d78073b75b'),(32,'{\"entity\": {\"name\": \"\", \"entity_type\": \"\", \"other_entity_type_label\": \"\", \"period_label\": \"\", \"scope\": \"\", \"objectives\": \"\"}, \"planning\": {\"previous_findings_status\": \"\", \"key_risks_noted\": \"\", \"materiality\": \"\", \"team\": \"\", \"start_date\": \"\", \"end_date\": \"\"}, \"criteria_responses\": {}, \"risk_universe\": [], \"racm\": [], \"fraud_risk\": {\"incentives_pressures\": \"\", \"opportunities\": \"\", \"attitudes_rationalization\": \"\", \"override_notes\": \"\", \"conclusion\": \"\"}, \"walkthroughs\": [], \"follow_ups\": [], \"findings\": [], \"conclusion\": {\"overall_rating\": \"\", \"summary\": \"\"}, \"signatory\": {\"name\": \"\", \"designation\": \"ca\", \"membership_no\": \"\", \"firm_name\": \"\", \"place\": \"\", \"date\": \"\", \"udin\": \"\"}}',1,'2026-08-29 14:28:02',1,'dev-dwihnfdq','fa3d0c1b453e159f'),(33,'{\"person\": {\"status\": \"individual\", \"is_resident_woman\": false, \"ssf_contributor\": true, \"is_senior_citizen\": false}, \"incomes\": {\"employment_assessable\": 0, \"business_net_profit\": 0, \"rental_gross\": 0, \"rental_expenses\": 0, \"other_income\": 0}, \"deductions\": {\"retirement_contribution\": 0, \"life_insurance_premium\": 0, \"health_insurance_premium\": 0, \"donations\": 0}, \"ssf_contributor\": true, \"is_resident_woman\": false, \"is_senior_citizen\": false}',1,'2026-08-29 15:30:52',1,'dev-1mmqcnrv','7ff79768d3de324d'),(34,'{\"entries\": [], \"signatory\": {\"name\": \"\", \"designation\": \"ca\", \"membership_no\": \"\", \"firm_name\": \"\", \"place\": \"\", \"date\": \"\", \"udin\": \"\"}}',1,'2026-08-29 15:40:52',1,'dev-1mmqcnrv','41af46634e14846f'),(35,'{\"entity\": {\"name\": \"Agro Unicorn\", \"pan\": \"\", \"period_label\": \"\"}, \"sales\": [], \"purchases\": [], \"credit_notes_issued\": 0, \"debit_notes_issued\": 0, \"credit_notes_received\": 0, \"debit_notes_received\": 0, \"opening_credit\": 0, \"mixed_supply\": false, \"signatory\": {\"name\": \"\", \"designation\": \"ca\", \"membership_no\": \"\", \"firm_name\": \"\", \"place\": \"\", \"date\": \"\", \"udin\": \"\"}}',1,'2026-08-29 15:40:52',1,'dev-1mmqcnrv','b5225114761ea767'),(36,'{\"entity\": {\"name\": \"Agro Unicorn\", \"entity_type\": \"Manufacturing\", \"other_entity_type_label\": \"\", \"period_label\": \"\", \"scope\": \"\", \"objectives\": \"\"}, \"planning\": {\"previous_findings_status\": \"\", \"key_risks_noted\": \"\", \"materiality\": \"\", \"team\": \"\", \"start_date\": \"\", \"end_date\": \"\"}, \"criteria_responses\": {}, \"risk_universe\": [], \"racm\": [], \"fraud_risk\": {\"incentives_pressures\": \"\", \"opportunities\": \"\", \"attitudes_rationalization\": \"\", \"override_notes\": \"\", \"conclusion\": \"\"}, \"walkthroughs\": [], \"follow_ups\": [], \"findings\": [], \"conclusion\": {\"overall_rating\": \"\", \"summary\": \"\"}, \"signatory\": {\"name\": \"\", \"designation\": \"ca\", \"membership_no\": \"\", \"firm_name\": \"\", \"place\": \"\", \"date\": \"\", \"udin\": \"\"}}',1,'2026-08-29 15:50:52',1,'dev-1mmqcnrv','4c06fa51b102a6c3'),(37,'{\"entity\": {\"name\": \"Agro Unicorn\"}, \"opinion_type\": \"unqualified\", \"opinion_paragraph\": \"In our opinion, the accompanying financial statements present fairly, in all material respects, the financial position of [Entity] as at [date], and its financial performance and cash flows for the year then ended in accordance with Nepal Financial Reporting Standards (NFRS).\", \"basis_paragraph\": \"We conducted our audit in accordance with Nepal Standards on Auditing (NSA). Our responsibilities under those standards are further described in the Auditor\'s Responsibilities section below. We are independent of the entity in accordance with the ICAN Handbook of Code of Ethics, and we have fulfilled our other ethical responsibilities in accordance with these requirements. We believe that the audit evidence we have obtained is sufficient and appropriate to provide a basis for our opinion.\", \"eom_paragraph\": \"\", \"other_matter_paragraph\": \"\", \"kam_paragraphs\": [], \"responsibilities_management\": \"\", \"responsibilities_auditor\": \"\", \"signatory\": {\"name\": \"\", \"designation\": \"ca\", \"membership_no\": \"\", \"firm_name\": \"\", \"place\": \"\", \"date\": \"\", \"udin\": \"\"}}',1,'2026-08-29 15:50:52',1,'dev-1mmqcnrv','9cba15ee3de2f5ca'),(38,'{\"entity\": {\"name\": \"Agro Unicorn\", \"entity_type\": \"Other\", \"other_entity_type_label\": \"agri\", \"period_label\": \"FY 2083-84\"}, \"materiality\": {\"benchmark\": \"\", \"benchmark_value\": 0, \"materiality_pct\": 1, \"pm_pct\": 75, \"ct_pct\": 5}, \"sample_size\": {\"population_value\": 0, \"population_count\": 0, \"tolerable_misstatement\": \"\", \"expected_misstatement\": 0, \"risk_level\": \"medium\"}, \"risk_assessment\": {}, \"criteria_responses\": {}, \"findings\": [], \"conclusion\": {\"overall_rating\": \"\", \"summary\": \"\"}, \"signatory\": {\"name\": \"\", \"designation\": \"ca\", \"membership_no\": \"\", \"firm_name\": \"\", \"place\": \"\", \"date\": \"\", \"udin\": \"\"}}',1,'2026-08-29 15:50:52',1,'dev-1mmqcnrv','694145c487112e0f');
/*!40000 ALTER TABLE `workfile_state` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `workflow_rule`
--

DROP TABLE IF EXISTS `workflow_rule`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `workflow_rule` (
  `id` int NOT NULL AUTO_INCREMENT,
  `firm_id` int NOT NULL,
  `name` text NOT NULL,
  `trigger_event` varchar(100) NOT NULL,
  `condition_json` text,
  `action_type` text NOT NULL,
  `action_json` text,
  `is_active` int NOT NULL DEFAULT '1',
  `created_by` int DEFAULT NULL,
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `created_by` (`created_by`),
  KEY `ix_workflow_rule_firm_event` (`firm_id`,`trigger_event`),
  CONSTRAINT `workflow_rule_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE,
  CONSTRAINT `workflow_rule_ibfk_2` FOREIGN KEY (`created_by`) REFERENCES `app_user` (`id`) ON DELETE SET NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `workflow_rule`
--

LOCK TABLES `workflow_rule` WRITE;
/*!40000 ALTER TABLE `workflow_rule` DISABLE KEYS */;
/*!40000 ALTER TABLE `workflow_rule` ENABLE KEYS */;
UNLOCK TABLES;

--
-- Table structure for table `youtube_video`
--

DROP TABLE IF EXISTS `youtube_video`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!50503 SET character_set_client = utf8mb4 */;
CREATE TABLE `youtube_video` (
  `id` int NOT NULL AUTO_INCREMENT,
  `firm_id` int NOT NULL,
  `title` text NOT NULL,
  `video_id` text NOT NULL,
  `sort_order` int NOT NULL DEFAULT '0',
  `is_published` int NOT NULL DEFAULT '0',
  `created_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `ix_youtube_video_firm` (`firm_id`,`is_published`),
  CONSTRAINT `youtube_video_ibfk_1` FOREIGN KEY (`firm_id`) REFERENCES `firm` (`id`) ON DELETE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

--
-- Dumping data for table `youtube_video`
--

LOCK TABLES `youtube_video` WRITE;
/*!40000 ALTER TABLE `youtube_video` DISABLE KEYS */;
INSERT INTO `youtube_video` VALUES (1,1,'Sample video — replace this from Admin > Site Settings > YouTube Videos','jNQXAC9IVRw',0,1,'2026-08-29 07:01:26'),(2,1,'Vlogging video Of Nishant Marasini','SMrRqrFi4Vs',1,1,'2026-08-30 01:08:51'),(3,1,'Hiking Vlogs','SMrRqrFi4Vs',2,1,'2026-08-30 01:09:23'),(4,1,'Shambhu Stuti','HcR1-u4O1-Q',3,1,'2026-08-30 01:10:12');
/*!40000 ALTER TABLE `youtube_video` ENABLE KEYS */;
UNLOCK TABLES;
SET @@SESSION.SQL_LOG_BIN = @MYSQLDUMP_TEMP_LOG_BIN;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;

/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;

-- Dump completed on 2026-09-01  7:42:38
