@classytic/ledger-bd 0.3.1 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -6162,6 +6162,21 @@ function tdsLiability(code, name, description, meta) {
6162
6162
  taxMetadata: meta
6163
6163
  };
6164
6164
  }
6165
+ function subAsset(parentCode) {
6166
+ return (code, name, description, meta) => ({
6167
+ code,
6168
+ name,
6169
+ category: A$1,
6170
+ description,
6171
+ parentCode,
6172
+ isTotal: false,
6173
+ cashFlowCategory: "Operating",
6174
+ taxMetadata: meta
6175
+ });
6176
+ }
6177
+ const aitAsset = subAsset("1151");
6178
+ const tdsAsset = subAsset("1152");
6179
+ const vdsAsset = subAsset("1153");
6165
6180
  const VAT_LIABILITY_ACCOUNTS = [
6166
6181
  taxLiability("2132.VAT15.COLLECTED", "VAT Collected (15%)", "Standard rate VAT collected on sales at 15%.", {
6167
6182
  taxType: "VAT",
@@ -6183,7 +6198,27 @@ const VAT_LIABILITY_ACCOUNTS = [
6183
6198
  rate: .05,
6184
6199
  direction: "collected"
6185
6200
  }),
6186
- taxLiability("2132.TOT4.COLLECTED", "Turnover Tax Collected (4%)", "Turnover tax collected at 4%.", {
6201
+ taxLiability("2132.VAT4.5.COLLECTED", "VAT Collected (4.5%)", "Reduced rate VAT collected at 4.5% (real estate >1,600 sqft).", {
6202
+ taxType: "VAT",
6203
+ rate: .045,
6204
+ direction: "collected"
6205
+ }),
6206
+ taxLiability("2132.VAT2.4.COLLECTED", "VAT Collected (2.4%)", "Reduced rate VAT collected at 2.4% (medicine trading stage).", {
6207
+ taxType: "VAT",
6208
+ rate: .024,
6209
+ direction: "collected"
6210
+ }),
6211
+ taxLiability("2132.VAT2.COLLECTED", "VAT Collected (2%)", "Reduced rate VAT collected at 2% (petroleum trading / real estate ≤1,600 sqft).", {
6212
+ taxType: "VAT",
6213
+ rate: .02,
6214
+ direction: "collected"
6215
+ }),
6216
+ taxLiability("2132.VAT1.5.COLLECTED", "VAT Collected (1.5%)", "Reduced rate VAT collected at 1.5% (wholesale trading stage).", {
6217
+ taxType: "VAT",
6218
+ rate: .015,
6219
+ direction: "collected"
6220
+ }),
6221
+ taxLiability("2132.TOT4.COLLECTED", "Turnover Tax Collected (4%)", "Turnover tax collected at 4% (pre-FY2026-27 percentage model; FY2026-27+ turnover tax is a fixed assessed amount — post it here too).", {
6187
6222
  taxType: "TOT",
6188
6223
  rate: .04,
6189
6224
  direction: "collected"
@@ -6206,57 +6241,95 @@ const VAT_ASSET_ACCOUNTS = [taxAsset("1150.VAT15.INPUT", "VAT Input Credit (15%)
6206
6241
  isContraAccount: true
6207
6242
  })];
6208
6243
  const TDS_LIABILITY_ACCOUNTS = [
6209
- tdsLiability("2135.TDS.CONT", "TDS on Contractors", "TDS deducted from contractor payments (2-7%).", {
6244
+ tdsLiability("2135.TDS.CONT", "TDS on Contractors / Supply", "TDS deducted from contractor/supply/manufacturing payments — flat 5% (ITA 2023 s.89).", {
6210
6245
  taxType: "TDS",
6211
6246
  rate: .05,
6212
6247
  direction: "collected"
6213
6248
  }),
6214
- tdsLiability("2135.TDS.PROF", "TDS on Professional Fees", "TDS deducted from professional fee payments (10%).", {
6249
+ tdsLiability("2135.TDS.PROF", "TDS on Professional Fees", "TDS deducted from professional fees 7.5% entities / 15% natural persons (ITA 2023 s.90).", {
6215
6250
  taxType: "TDS",
6216
- rate: .1,
6251
+ rate: .075,
6217
6252
  direction: "collected"
6218
6253
  }),
6219
- tdsLiability("2135.TDS.RENT", "TDS on Rent", "TDS deducted from rent payments (3-5%).", {
6254
+ tdsLiability("2135.TDS.TECH", "TDS on Technical Service Fees", "TDS deducted from technical service / know-how fees — 10% (ITA 2023 s.90).", {
6220
6255
  taxType: "TDS",
6221
- rate: .05,
6256
+ rate: .1,
6222
6257
  direction: "collected"
6223
6258
  }),
6224
- tdsLiability("2135.TDS.INT", "TDS on Interest", "TDS deducted from interest payments (10%).", {
6259
+ tdsLiability("2135.TDS.RENT", "TDS on Rent", "TDS deducted from rent payments 10% (ITA 2023 s.109).", {
6225
6260
  taxType: "TDS",
6226
6261
  rate: .1,
6227
6262
  direction: "collected"
6228
6263
  }),
6229
- tdsLiability("2135.TDS.DIV", "TDS on Dividends", "TDS deducted from dividend payments (10%).", {
6264
+ tdsLiability("2135.TDS.INT", "TDS on Interest", "TDS deducted from interest payments — 20% companies / 10% individuals (ITA 2023 s.102).", {
6230
6265
  taxType: "TDS",
6231
- rate: .1,
6266
+ rate: .2,
6232
6267
  direction: "collected"
6233
6268
  }),
6234
- tdsLiability("2135.TDS.COMM", "TDS on Commission", "TDS deducted from commission payments (10%).", {
6269
+ tdsLiability("2135.TDS.DIV", "TDS on Dividends", "TDS deducted from dividend payments — 20% companies / 10% resident individuals (ITA 2023 s.117).", {
6270
+ taxType: "TDS",
6271
+ rate: .2,
6272
+ direction: "collected"
6273
+ }),
6274
+ tdsLiability("2135.TDS.COMM", "TDS on Commission", "TDS deducted from commission payments — 10% (ITA 2023 s.94).", {
6235
6275
  taxType: "TDS",
6236
6276
  rate: .1,
6237
6277
  direction: "collected"
6238
6278
  }),
6239
- tdsLiability("2135.TDS.ADV", "TDS on Advertising", "TDS deducted from advertising payments (3-4%).", {
6279
+ tdsLiability("2135.TDS.ADV", "TDS on Media Advertising", "TDS deducted from media advertising bill payments — 5% (ITA 2023 s.92).", {
6240
6280
  taxType: "TDS",
6241
- rate: .04,
6281
+ rate: .05,
6242
6282
  direction: "collected"
6243
6283
  }),
6244
- tdsLiability("2135.TDS.IMP", "AIT on Imports", "Advance income tax on imports (3-5%).", {
6284
+ tdsLiability("2135.TDS.TRANSPORT", "TDS on Transport / Ride-Sharing", "TDS deducted from transport / ride-sharing / sharing-economy payments — 2% from FY2026-27.", {
6285
+ taxType: "TDS",
6286
+ rate: .02,
6287
+ direction: "collected"
6288
+ }),
6289
+ tdsLiability("2135.TDS.IMP", "AIT on Imports (withheld)", "Advance income tax collected at customs stage — 5% general (ITA 2023 s.120).", {
6245
6290
  taxType: "TDS",
6246
6291
  rate: .05,
6247
6292
  direction: "collected"
6248
6293
  })
6249
6294
  ];
6250
- const VDS_LIABILITY_ACCOUNTS = [taxLiability("2136.VDS.COLLECTED", "VDS Collected", "VAT deducted at source from payments.", {
6295
+ const VDS_LIABILITY_ACCOUNTS = [taxLiability("2136.VDS.COLLECTED", "VDS Collected", "VAT deducted at source from supplier payments (VDS Rules 2025 — settled via increasing adjustment in own Mushak 9.1 when registered).", {
6251
6296
  taxType: "VDS",
6252
6297
  rate: .15,
6253
6298
  direction: "collected"
6254
6299
  })];
6300
+ const TAX_RECEIVABLE_ACCOUNTS = [
6301
+ aitAsset("1151.AIT.IMPORT", "AIT Paid at Import", "Advance income tax paid at customs stage (ITA 2023 s.120) — adjustable against assessed tax.", {
6302
+ taxType: "TDS",
6303
+ rate: .05,
6304
+ direction: "recoverable"
6305
+ }),
6306
+ aitAsset("1151.AIT.OTHER", "Advance Income Tax — Other", "Advance income tax paid under ss.154-158 (quarterly installments) and other AIT heads.", {
6307
+ taxType: "TDS",
6308
+ rate: 0,
6309
+ direction: "recoverable"
6310
+ }),
6311
+ tdsAsset("1152.TDS.SUFFERED", "TDS Suffered (withheld by customers)", "Income tax customers/payers deducted from our receipts — adjustable/refundable from FY2026-27 (minimum-tax withdrawal).", {
6312
+ taxType: "TDS",
6313
+ rate: 0,
6314
+ direction: "recoverable"
6315
+ }),
6316
+ vdsAsset("1153.VDS.SUFFERED", "VDS Suffered (Mushak 6.6 received)", "VAT withholding entities deducted from our supplies — decreasing adjustment in our Mushak 9.1 within 6 tax periods.", {
6317
+ taxType: "VDS",
6318
+ rate: 0,
6319
+ direction: "recoverable"
6320
+ }),
6321
+ vdsAsset("1153.AT.IMPORT", "Advance VAT (AT) Paid at Import", "Advance VAT paid at customs (7.5% commercial / 2% manufacturer) — decreasing adjustment in Mushak 9.1.", {
6322
+ taxType: "VAT",
6323
+ rate: .075,
6324
+ direction: "recoverable"
6325
+ })
6326
+ ];
6255
6327
  const ALL_TAX_ACCOUNTS = [
6256
6328
  ...VAT_LIABILITY_ACCOUNTS,
6257
6329
  ...VAT_ASSET_ACCOUNTS,
6258
6330
  ...TDS_LIABILITY_ACCOUNTS,
6259
- ...VDS_LIABILITY_ACCOUNTS
6331
+ ...VDS_LIABILITY_ACCOUNTS,
6332
+ ...TAX_RECEIVABLE_ACCOUNTS
6260
6333
  ];
6261
6334
  //#endregion
6262
6335
  //#region src/accounts/codes.ts
@@ -6320,6 +6393,10 @@ const BD_ACCOUNT_CODES = {
6320
6393
  INTER_BRANCH_RECEIVABLE: "1145",
6321
6394
  VAT_RECEIVABLE: "1150",
6322
6395
  ADVANCE_INCOME_TAX: "1151",
6396
+ /** 1152 — TDS Receivable. Income tax deducted at source by our customers/payers. */
6397
+ TDS_RECEIVABLE: "1152",
6398
+ /** 1200 — Advance Tax / VAT paid to government (offsettable at filing). */
6399
+ ADVANCE_TAX_PAID: "1200",
6323
6400
  /**
6324
6401
  * 1153 — VDS Receivable. The portion of output VAT withheld by a
6325
6402
  * designated buyer (govt entity / large corporate) and deposited to
@@ -6397,6 +6474,8 @@ const BD_ACCOUNT_CODES = {
6397
6474
  CUSTOMER_ADVANCE: "2191",
6398
6475
  INCOME_TAX_PAYABLE: "2131",
6399
6476
  VAT_OUTPUT_PAYABLE: "2132",
6477
+ /** 2133 — Supplementary Duty (SD) Payable on specified goods/services. */
6478
+ SD_OUTPUT_PAYABLE: "2133",
6400
6479
  TDS_PAYABLE: "2135",
6401
6480
  /**
6402
6481
  * 2136 — VDS Payable. Amount we must remit to NBR when we withhold VDS
@@ -6405,6 +6484,10 @@ const BD_ACCOUNT_CODES = {
6405
6484
  */
6406
6485
  VDS_PAYABLE: "2136",
6407
6486
  SALES_REVENUE: "4111",
6487
+ /** 4114 — Sales Returns & Allowances. Contra-revenue for customer returns. */
6488
+ SALES_RETURNS: "4114",
6489
+ /** 4115 — Sales Discount. Contra-revenue for cash / settlement discounts given. */
6490
+ SALES_DISCOUNT: "4115",
6408
6491
  /**
6409
6492
  * 4147 — Transport / Freight Revenue. When delivery is sold as a
6410
6493
  * line-item (Tk 60 delivery charge on the invoice) instead of being
@@ -6450,6 +6533,8 @@ const BD_ACCOUNT_CODES = {
6450
6533
  INVENTORY_GAIN: "4317",
6451
6534
  /** 5111 — Cost of Goods Sold — Raw Materials */
6452
6535
  COGS_MATERIALS: "5111",
6536
+ /** 5503 — Purchase Returns & Allowances. Contra-COGS for returns to vendors. */
6537
+ PURCHASE_RETURNS: "5503",
6453
6538
  /**
6454
6539
  * 5116 — Import Cost (duty + freight + insurance). Capitalized to
6455
6540
  * inventory at landed cost. Use this when a CIF/FOB import flow needs
@@ -6806,15 +6891,81 @@ const VAT_CODES = {
6806
6891
  description: "Reduced rate VAT at 5% — no input credit",
6807
6892
  active: true
6808
6893
  },
6894
+ "BD-VAT-4.5": {
6895
+ code: "BD-VAT-4.5",
6896
+ name: "VAT Reduced 4.5%",
6897
+ taxType: "VAT",
6898
+ rate: .045,
6899
+ direction: "collected",
6900
+ province: "National",
6901
+ reportLines: [20],
6902
+ description: "Third-Schedule rate at 4.5% (real estate >1,600 sqft) — no input credit",
6903
+ active: true
6904
+ },
6905
+ "BD-VAT-2.4": {
6906
+ code: "BD-VAT-2.4",
6907
+ name: "VAT Reduced 2.4%",
6908
+ taxType: "VAT",
6909
+ rate: .024,
6910
+ direction: "collected",
6911
+ province: "National",
6912
+ reportLines: [21],
6913
+ description: "Third-Schedule rate at 2.4% (medicine trading stage / pharmacies) — no input credit",
6914
+ active: true
6915
+ },
6916
+ "BD-VAT-2": {
6917
+ code: "BD-VAT-2",
6918
+ name: "VAT Reduced 2%",
6919
+ taxType: "VAT",
6920
+ rate: .02,
6921
+ direction: "collected",
6922
+ province: "National",
6923
+ reportLines: [22],
6924
+ description: "Third-Schedule rate at 2% (petroleum trading / real estate ≤1,600 sqft) — no input credit",
6925
+ active: true
6926
+ },
6927
+ "BD-VAT-1.5": {
6928
+ code: "BD-VAT-1.5",
6929
+ name: "VAT Reduced 1.5%",
6930
+ taxType: "VAT",
6931
+ rate: .015,
6932
+ direction: "collected",
6933
+ province: "National",
6934
+ reportLines: [23],
6935
+ description: "Third-Schedule rate at 1.5% (wholesale trading stage) — no input credit",
6936
+ active: true
6937
+ },
6809
6938
  "BD-TOT-4": {
6810
6939
  code: "BD-TOT-4",
6811
- name: "Turnover Tax 4%",
6940
+ name: "Turnover Tax 4% (historical)",
6812
6941
  taxType: "TOT",
6813
6942
  rate: .04,
6814
6943
  direction: "collected",
6815
6944
  province: "National",
6816
6945
  reportLines: [6],
6817
- description: "Turnover tax at 4% for small businesses (annual turnover < 50 lakh BDT)",
6946
+ description: "Percentage turnover tax at 4% in force through FY2025-26 (30 Jun 2026). Use BD-TOT-FIXED for FY2026-27+ postings.",
6947
+ active: true
6948
+ },
6949
+ "BD-TOT-FIXED": {
6950
+ code: "BD-TOT-FIXED",
6951
+ name: "Turnover Tax (Fixed Amount)",
6952
+ taxType: "TOT",
6953
+ rate: 0,
6954
+ direction: "collected",
6955
+ province: "National",
6956
+ reportLines: [6],
6957
+ description: "FY2026-27+ turnover tax: a government-assessed FIXED annual amount (by business profile/sector/region, capped Tk 2 lakh). Rate is 0 — post the assessed amount directly.",
6958
+ active: true
6959
+ },
6960
+ "BD-AT-IMP": {
6961
+ code: "BD-AT-IMP",
6962
+ name: "Advance Tax (AT) on Imports",
6963
+ taxType: "VAT",
6964
+ rate: .075,
6965
+ direction: "recoverable",
6966
+ province: "National",
6967
+ reportLines: [24],
6968
+ description: "Advance VAT paid at customs (7.5% commercial importers per FO2025; manufacturers 2% on raw materials). Recoverable — decreasing adjustment in Mushak 9.1.",
6818
6969
  active: true
6819
6970
  },
6820
6971
  "BD-VAT-0": {
@@ -6854,57 +7005,101 @@ const VAT_CODES = {
6854
7005
  const TDS_CODES = {
6855
7006
  "BD-TDS-CONT": {
6856
7007
  code: "BD-TDS-CONT",
6857
- name: "TDS on Contractors",
7008
+ name: "TDS on Contractors / Supply",
6858
7009
  taxType: "TDS",
6859
7010
  rate: .05,
6860
7011
  direction: "paid",
6861
7012
  province: "National",
6862
7013
  reportLines: [],
6863
- description: "Tax deducted at source on contractor payments (2-7%)",
7014
+ description: "TDS on contractor/supply/manufacturing payments — flat 5% (ITA 2023 s.89, slab system abolished)",
6864
7015
  active: true
6865
7016
  },
6866
7017
  "BD-TDS-PROF": {
6867
7018
  code: "BD-TDS-PROF",
6868
- name: "TDS on Professional Fees",
7019
+ name: "TDS on Professional Fees (Entities)",
7020
+ taxType: "TDS",
7021
+ rate: .075,
7022
+ direction: "paid",
7023
+ province: "National",
7024
+ reportLines: [],
7025
+ description: "TDS on professional/consultancy fees paid to entities — 7.5% (ITA 2023 s.90 as amended by FO2025). Natural persons: BD-TDS-PROF-IND.",
7026
+ active: true
7027
+ },
7028
+ "BD-TDS-PROF-IND": {
7029
+ code: "BD-TDS-PROF-IND",
7030
+ name: "TDS on Professional Fees (Natural Persons)",
7031
+ taxType: "TDS",
7032
+ rate: .15,
7033
+ direction: "paid",
7034
+ province: "National",
7035
+ reportLines: [],
7036
+ description: "TDS on professional/consultancy fees paid to natural persons — 15% (ITA 2023 s.90)",
7037
+ active: true
7038
+ },
7039
+ "BD-TDS-TECH": {
7040
+ code: "BD-TDS-TECH",
7041
+ name: "TDS on Technical Service Fees",
6869
7042
  taxType: "TDS",
6870
7043
  rate: .1,
6871
7044
  direction: "paid",
6872
7045
  province: "National",
6873
7046
  reportLines: [],
6874
- description: "Tax deducted at source on professional fees (10%)",
7047
+ description: "TDS on technical service / know-how fees 10% (ITA 2023 s.90)",
6875
7048
  active: true
6876
7049
  },
6877
7050
  "BD-TDS-RENT": {
6878
7051
  code: "BD-TDS-RENT",
6879
7052
  name: "TDS on Rent",
6880
7053
  taxType: "TDS",
6881
- rate: .05,
7054
+ rate: .1,
6882
7055
  direction: "paid",
6883
7056
  province: "National",
6884
7057
  reportLines: [],
6885
- description: "Tax deducted at source on rent payments (3-5%)",
7058
+ description: "TDS on rent of house property, machinery, or equipment — 10% (ITA 2023 s.109)",
6886
7059
  active: true
6887
7060
  },
6888
7061
  "BD-TDS-INT": {
6889
7062
  code: "BD-TDS-INT",
6890
- name: "TDS on Interest",
7063
+ name: "TDS on Interest (Companies)",
7064
+ taxType: "TDS",
7065
+ rate: .2,
7066
+ direction: "paid",
7067
+ province: "National",
7068
+ reportLines: [],
7069
+ description: "TDS on interest/profit on securities paid to companies — 20% (ITA 2023 s.102). Individuals: BD-TDS-INT-IND.",
7070
+ active: true
7071
+ },
7072
+ "BD-TDS-INT-IND": {
7073
+ code: "BD-TDS-INT-IND",
7074
+ name: "TDS on Interest (Individuals)",
6891
7075
  taxType: "TDS",
6892
7076
  rate: .1,
6893
7077
  direction: "paid",
6894
7078
  province: "National",
6895
7079
  reportLines: [],
6896
- description: "Tax deducted at source on interest payments (10%)",
7080
+ description: "TDS on interest paid to individuals 10% (ITA 2023 s.102)",
6897
7081
  active: true
6898
7082
  },
6899
7083
  "BD-TDS-DIV": {
6900
7084
  code: "BD-TDS-DIV",
6901
- name: "TDS on Dividends",
7085
+ name: "TDS on Dividends (Companies)",
7086
+ taxType: "TDS",
7087
+ rate: .2,
7088
+ direction: "paid",
7089
+ province: "National",
7090
+ reportLines: [],
7091
+ description: "TDS on dividends paid to companies — 20% (ITA 2023 s.117). Resident individuals: BD-TDS-DIV-IND (10%).",
7092
+ active: true
7093
+ },
7094
+ "BD-TDS-DIV-IND": {
7095
+ code: "BD-TDS-DIV-IND",
7096
+ name: "TDS on Dividends (Resident Individuals)",
6902
7097
  taxType: "TDS",
6903
7098
  rate: .1,
6904
7099
  direction: "paid",
6905
7100
  province: "National",
6906
7101
  reportLines: [],
6907
- description: "Tax deducted at source on dividend payments (10%)",
7102
+ description: "TDS on dividends paid to resident individuals 10% (ITA 2023 s.117)",
6908
7103
  active: true
6909
7104
  },
6910
7105
  "BD-TDS-COMM": {
@@ -6915,18 +7110,40 @@ const TDS_CODES = {
6915
7110
  direction: "paid",
6916
7111
  province: "National",
6917
7112
  reportLines: [],
6918
- description: "Tax deducted at source on commission payments (10%)",
7113
+ description: "TDS on commission/discount/fees 10% (ITA 2023 s.94)",
6919
7114
  active: true
6920
7115
  },
6921
7116
  "BD-TDS-ADV": {
6922
7117
  code: "BD-TDS-ADV",
6923
- name: "TDS on Advertising",
7118
+ name: "TDS on Media Advertising",
6924
7119
  taxType: "TDS",
6925
- rate: .04,
7120
+ rate: .05,
6926
7121
  direction: "paid",
6927
7122
  province: "National",
6928
7123
  reportLines: [],
6929
- description: "Tax deducted at source on advertising payments (3-4%)",
7124
+ description: "TDS on media advertising bills (newspapers/TV/radio/websites, excl. media buying agents) — 5% (ITA 2023 s.92). Agency commission: BD-TDS-COMM.",
7125
+ active: true
7126
+ },
7127
+ "BD-TDS-TRANSPORT": {
7128
+ code: "BD-TDS-TRANSPORT",
7129
+ name: "TDS on Transport / Ride-Sharing",
7130
+ taxType: "TDS",
7131
+ rate: .02,
7132
+ direction: "paid",
7133
+ province: "National",
7134
+ reportLines: [],
7135
+ description: "TDS on transport, vehicle rental, ride-sharing and sharing-economy platforms — 2% from FY2026-27 (was 5%)",
7136
+ active: true
7137
+ },
7138
+ "BD-TDS-EXP": {
7139
+ code: "BD-TDS-EXP",
7140
+ name: "TDS on Export Proceeds",
7141
+ taxType: "TDS",
7142
+ rate: .01,
7143
+ direction: "paid",
7144
+ province: "National",
7145
+ reportLines: [],
7146
+ description: "Withholding on export proceeds — 1% (ITA 2023 s.123)",
6930
7147
  active: true
6931
7148
  },
6932
7149
  "BD-TDS-IMP": {
@@ -6937,7 +7154,7 @@ const TDS_CODES = {
6937
7154
  direction: "paid",
6938
7155
  province: "National",
6939
7156
  reportLines: [],
6940
- description: "Advance income tax on imports at customs stage (3-5%)",
7157
+ description: "Advance income tax at customs stage — 5% general (ITA 2023 s.120; industrial raw materials 4% from FY2026-27). Adjustable against assessed tax — post to 1151.",
6941
7158
  active: true
6942
7159
  },
6943
7160
  "BD-SD": {
@@ -6952,9 +7169,67 @@ const TDS_CODES = {
6952
7169
  active: true
6953
7170
  }
6954
7171
  };
7172
+ const VDS_CODES = {
7173
+ "BD-VDS-15": {
7174
+ code: "BD-VDS-15",
7175
+ name: "VDS 15% (Standard Services)",
7176
+ taxType: "VDS",
7177
+ rate: .15,
7178
+ direction: "paid",
7179
+ province: "National",
7180
+ reportLines: [25],
7181
+ description: "VDS at 15% of service value — most listed services (consultancy, security, cleaning, legal, event management, …)",
7182
+ active: true
7183
+ },
7184
+ "BD-VDS-10": {
7185
+ code: "BD-VDS-10",
7186
+ name: "VDS 10% (Construction / Procurement / Non-AC Hotel)",
7187
+ taxType: "VDS",
7188
+ rate: .1,
7189
+ direction: "paid",
7190
+ province: "National",
7191
+ reportLines: [25],
7192
+ description: "VDS at 10% of service value — construction firms (S004.00), procurement providers (S037.00), motor garages, non-AC hotels; also imported goods supplied by commercial importers",
7193
+ active: true
7194
+ },
7195
+ "BD-VDS-7.5": {
7196
+ code: "BD-VDS-7.5",
7197
+ name: "VDS 7.5% (Furniture)",
7198
+ taxType: "VDS",
7199
+ rate: .075,
7200
+ direction: "paid",
7201
+ province: "National",
7202
+ reportLines: [25],
7203
+ description: "VDS at 7.5% of service value — furniture sales channel (S024.00)",
7204
+ active: true
7205
+ },
7206
+ "BD-VDS-5": {
7207
+ code: "BD-VDS-5",
7208
+ name: "VDS 5% (ITES / Restaurant / Petroleum Transport)",
7209
+ taxType: "VDS",
7210
+ rate: .05,
7211
+ direction: "paid",
7212
+ province: "National",
7213
+ reportLines: [25],
7214
+ description: "VDS at 5% of service value — ITES (S099.10), restaurants (S001.20), petroleum transport (S048.00)",
7215
+ active: true
7216
+ },
7217
+ "BD-VDS-2": {
7218
+ code: "BD-VDS-2",
7219
+ name: "VDS 2% (Land / Small Real Estate)",
7220
+ taxType: "VDS",
7221
+ rate: .02,
7222
+ direction: "paid",
7223
+ province: "National",
7224
+ reportLines: [25],
7225
+ description: "VDS at 2% of service value — land development (S010.10), building construction ≤1,600 sqft (S010.20)",
7226
+ active: true
7227
+ }
7228
+ };
6955
7229
  const ALL_TAX_CODES = Object.freeze({
6956
7230
  ...VAT_CODES,
6957
- ...TDS_CODES
7231
+ ...TDS_CODES,
7232
+ ...VDS_CODES
6958
7233
  });
6959
7234
  /** Look up a tax code by its code string. e.g. getTaxCodeDetails('BD-VAT-15') */
6960
7235
  function getTaxCodeDetails(code) {
@@ -7000,8 +7275,8 @@ const MUSHAK_LINES = Object.freeze({
7000
7275
  },
7001
7276
  6: {
7002
7277
  line: 6,
7003
- name: "Turnover Tax (4%)",
7004
- description: "Turnover tax for small businesses",
7278
+ name: "Turnover Tax",
7279
+ description: "Turnover tax for enlisted small businesses (4% of turnover through FY2025-26; fixed assessed amount capped Tk 2 lakh/yr from FY2026-27)",
7005
7280
  type: "input",
7006
7281
  section: "Output VAT"
7007
7282
  },
@@ -7022,10 +7297,10 @@ const MUSHAK_LINES = Object.freeze({
7022
7297
  9: {
7023
7298
  line: 9,
7024
7299
  name: "Total Output VAT / Tax",
7025
- description: "Sum of all output VAT and turnover tax (Lines 2+3+4+5+6)",
7300
+ description: "Sum of all output VAT and turnover tax (Lines 2+3+4+5+6+20+21+22+23)",
7026
7301
  type: "calculated",
7027
7302
  section: "Output VAT",
7028
- calculate: (d) => (d[2] || 0) + (d[3] || 0) + (d[4] || 0) + (d[5] || 0) + (d[6] || 0)
7303
+ calculate: (d) => (d[2] || 0) + (d[3] || 0) + (d[4] || 0) + (d[5] || 0) + (d[6] || 0) + (d[20] || 0) + (d[21] || 0) + (d[22] || 0) + (d[23] || 0)
7029
7304
  },
7030
7305
  10: {
7031
7306
  line: 10,
@@ -7081,10 +7356,10 @@ const MUSHAK_LINES = Object.freeze({
7081
7356
  17: {
7082
7357
  line: 17,
7083
7358
  name: "Total VAT/SD Payable",
7084
- description: "Total payable: Net VAT + SD + Adjustments (Line 12 + Line 13 + Line 16)",
7359
+ description: "Total payable: Net VAT + SD + Adjustments + VDS withheld − AT credit (Line 12 + 13 + 16 + 25 − 24)",
7085
7360
  type: "calculated",
7086
7361
  section: "Total Payable",
7087
- calculate: (d) => (d[12] || 0) + (d[13] || 0) + (d[16] || 0)
7362
+ calculate: (d) => (d[12] || 0) + (d[13] || 0) + (d[16] || 0) + (d[25] || 0) - (d[24] || 0)
7088
7363
  },
7089
7364
  18: {
7090
7365
  line: 18,
@@ -7100,6 +7375,48 @@ const MUSHAK_LINES = Object.freeze({
7100
7375
  type: "calculated",
7101
7376
  section: "Balance",
7102
7377
  calculate: (d) => (d[17] || 0) - (d[18] || 0)
7378
+ },
7379
+ 20: {
7380
+ line: 20,
7381
+ name: "VAT on Sales at 4.5%",
7382
+ description: "VAT collected at 4.5% (real estate >1,600 sqft)",
7383
+ type: "input",
7384
+ section: "Output VAT"
7385
+ },
7386
+ 21: {
7387
+ line: 21,
7388
+ name: "VAT on Sales at 2.4%",
7389
+ description: "VAT collected at 2.4% (medicine trading stage / pharmacies)",
7390
+ type: "input",
7391
+ section: "Output VAT"
7392
+ },
7393
+ 22: {
7394
+ line: 22,
7395
+ name: "VAT on Sales at 2%",
7396
+ description: "VAT collected at 2% (petroleum trading / real estate ≤1,600 sqft)",
7397
+ type: "input",
7398
+ section: "Output VAT"
7399
+ },
7400
+ 23: {
7401
+ line: 23,
7402
+ name: "VAT on Sales at 1.5%",
7403
+ description: "VAT collected at 1.5% (wholesale trading stage)",
7404
+ type: "input",
7405
+ section: "Output VAT"
7406
+ },
7407
+ 24: {
7408
+ line: 24,
7409
+ name: "Advance Tax (AT) Credit on Imports",
7410
+ description: "Advance VAT paid at customs stage — decreasing adjustment against output VAT",
7411
+ type: "input",
7412
+ section: "Adjustments"
7413
+ },
7414
+ 25: {
7415
+ line: 25,
7416
+ name: "VDS Increasing Adjustment (Withheld from Suppliers)",
7417
+ description: "VAT deducted at source from supplier payments, settled through this return (VDS Rules 2025 — registered withholders)",
7418
+ type: "input",
7419
+ section: "Adjustments"
7103
7420
  }
7104
7421
  });
7105
7422
  const CALC_ORDER = [
@@ -7146,7 +7463,13 @@ const ALL_VAT_CODES = [
7146
7463
  "BD-VAT-10",
7147
7464
  "BD-VAT-7.5",
7148
7465
  "BD-VAT-5",
7466
+ "BD-VAT-4.5",
7467
+ "BD-VAT-2.4",
7468
+ "BD-VAT-2",
7469
+ "BD-VAT-1.5",
7149
7470
  "BD-TOT-4",
7471
+ "BD-TOT-FIXED",
7472
+ "BD-AT-IMP",
7150
7473
  "BD-VAT-0",
7151
7474
  "BD-EXEMPT",
7152
7475
  "BD-VIN-15"
@@ -7154,15 +7477,32 @@ const ALL_VAT_CODES = [
7154
7477
  const ALL_TDS_CODES = [
7155
7478
  "BD-TDS-CONT",
7156
7479
  "BD-TDS-PROF",
7480
+ "BD-TDS-PROF-IND",
7481
+ "BD-TDS-TECH",
7157
7482
  "BD-TDS-RENT",
7158
7483
  "BD-TDS-INT",
7484
+ "BD-TDS-INT-IND",
7159
7485
  "BD-TDS-DIV",
7486
+ "BD-TDS-DIV-IND",
7160
7487
  "BD-TDS-COMM",
7161
7488
  "BD-TDS-ADV",
7489
+ "BD-TDS-TRANSPORT",
7490
+ "BD-TDS-EXP",
7162
7491
  "BD-TDS-IMP",
7163
7492
  "BD-SD"
7164
7493
  ];
7165
- const ALL_CODES = [...ALL_VAT_CODES, ...ALL_TDS_CODES];
7494
+ const ALL_VDS_CODES = [
7495
+ "BD-VDS-15",
7496
+ "BD-VDS-10",
7497
+ "BD-VDS-7.5",
7498
+ "BD-VDS-5",
7499
+ "BD-VDS-2"
7500
+ ];
7501
+ const ALL_CODES = [
7502
+ ...ALL_VAT_CODES,
7503
+ ...ALL_TDS_CODES,
7504
+ ...ALL_VDS_CODES
7505
+ ];
7166
7506
  /**
7167
7507
  * Tax codes by division — Bangladesh has a national VAT/TDS system,
7168
7508
  * so all divisions share the same codes. This mapping exists for
@@ -7267,4 +7607,4 @@ const bangladeshPack = defineCountryPack({
7267
7607
  ]
7268
7608
  });
7269
7609
  //#endregion
7270
- export { ADMIN_EXPENSES, ALL_DIVISIONS, ALL_TAX_ACCOUNTS, ASSETS, BANKING_REVENUE, BD_ACCOUNT_CODES, BD_ACCOUNT_TYPES, BD_DIVISIONS, COGS, COST_OF_SERVICES, CURRENT_ASSETS, CURRENT_LIABILITIES, DEPRECIATION, DIRECT_LABOR, DIRECT_MATERIALS, DIVISIONS, EMPLOYEE_COSTS, EQUITY, EXPENSES, FINANCIAL_EXPENSES, INDUSTRY_REVENUE, LIABILITIES, MANUFACTURING_OVERHEAD, NGO_REVENUE, NON_CURRENT_ASSETS, NON_CURRENT_LIABILITIES, OTHER_INCOME, OTHER_OPERATING, PREMISES_COSTS, PROVISIONS, PURCHASES, REVENUE, SALES_REVENUE, SELLING_DISTRIBUTION, ALL_TAX_CODES as TAX_CODES, TAX_CODES_BY_DIVISION, TAX_EXPENSE, TDS_LIABILITY_ACCOUNTS, VAT_ASSET_ACCOUNTS, VAT_LIABILITY_ACCOUNTS, VDS_LIABILITY_ACCOUNTS, bangladeshPack, getTaxCodeDetails, mushakReturnTemplate };
7610
+ export { ADMIN_EXPENSES, ALL_DIVISIONS, ALL_TAX_ACCOUNTS, ASSETS, BANKING_REVENUE, BD_ACCOUNT_CODES, BD_ACCOUNT_TYPES, BD_DIVISIONS, COGS, COST_OF_SERVICES, CURRENT_ASSETS, CURRENT_LIABILITIES, DEPRECIATION, DIRECT_LABOR, DIRECT_MATERIALS, DIVISIONS, EMPLOYEE_COSTS, EQUITY, EXPENSES, FINANCIAL_EXPENSES, INDUSTRY_REVENUE, LIABILITIES, MANUFACTURING_OVERHEAD, NGO_REVENUE, NON_CURRENT_ASSETS, NON_CURRENT_LIABILITIES, OTHER_INCOME, OTHER_OPERATING, PREMISES_COSTS, PROVISIONS, PURCHASES, REVENUE, SALES_REVENUE, SELLING_DISTRIBUTION, ALL_TAX_CODES as TAX_CODES, TAX_CODES_BY_DIVISION, TAX_EXPENSE, TAX_RECEIVABLE_ACCOUNTS, TDS_LIABILITY_ACCOUNTS, VAT_ASSET_ACCOUNTS, VAT_LIABILITY_ACCOUNTS, VDS_LIABILITY_ACCOUNTS, bangladeshPack, getTaxCodeDetails, mushakReturnTemplate };