@classytic/ledger-bd 0.5.1 → 0.6.1

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/CHANGELOG.md CHANGED
@@ -3,6 +3,30 @@
3
3
  Format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
4
4
  adhering to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
5
5
 
6
+ ## [0.6.0] — 2026-07-11
7
+
8
+ ### Added — PPE / fixed-asset codes for the assets module
9
+
10
+ Named constants in `BD_ACCOUNT_CODES` (`src/accounts/codes.ts`) for the
11
+ PPE ledger accounts used by `@classytic/assets`:
12
+
13
+ - **Asset categories** (with NBR straight-line depreciation rates from
14
+ SRO No.120-Law/Income Tax/2025): `PPE_BUILDING` 1315 (10%),
15
+ `PPE_FACTORY_BUILDING` 1314 (20%), `PPE_MACHINERY` 1322 (20%),
16
+ `PPE_FURNITURE` 1335 (10%), `PPE_VEHICLE` 1337 (20%),
17
+ `PPE_OFFICE_EQUIPMENT` 1333 (20%), `PPE_COMPUTER` 1334 (30%),
18
+ `PPE_MEDICAL_EQUIPMENT` 1347 (20%).
19
+ - **`ACCUMULATED_DEPRECIATION_PPE`** 1359 — contra-asset for all PPE
20
+ categories.
21
+ - **Depreciation expense codes** `DEPRECIATION_BUILDING` 6601 through
22
+ `DEPRECIATION_MEDICAL_EQUIPMENT` 6608 — one per PPE category, so
23
+ the depreciation journal entry can split by asset class.
24
+ - **`LOSS_ON_ASSET_DISPOSAL`** 6810 — disposal below book value.
25
+
26
+ These codes are already part of the BFRS chart of accounts shipped in
27
+ earlier versions; this release adds the named `BD_ACCOUNT_CODES` keys so
28
+ the assets engine can resolve them symbolically without hardcoding strings.
29
+
6
30
  ## [0.5.0] - 2026-07-06
7
31
 
8
32
  Seven opt-in vertical extensions plus an NBR canonical reporting-code
package/dist/index.d.mts CHANGED
@@ -366,7 +366,26 @@ declare const BD_ACCOUNT_CODES: {
366
366
  */
367
367
  readonly BAD_DEBT_WRITTEN_OFF: "6702"; /** 6703 — Inventory Write-down / Obsolescence (slow-moving / expired). */
368
368
  readonly OBSOLESCENCE: "6703"; /** 6711 — Inventory Shrinkage / Theft / Loss (audit shortfall). */
369
- readonly SHRINKAGE: "6711";
369
+ readonly SHRINKAGE: "6711"; /** 1315 — Office Building (NBR depreciation: 10%). */
370
+ readonly PPE_BUILDING: "1315"; /** 1314 — Factory Building (NBR depreciation: 20%). */
371
+ readonly PPE_FACTORY_BUILDING: "1314"; /** 1322 — Plant & Machinery (NBR depreciation: 20%). */
372
+ readonly PPE_MACHINERY: "1322"; /** 1335 — Furniture & Fixtures (NBR depreciation: 10%). */
373
+ readonly PPE_FURNITURE: "1335"; /** 1337 — Motor Vehicles (cars) (NBR depreciation: 20%). */
374
+ readonly PPE_VEHICLE: "1337"; /** 1333 — Office Equipment (NBR depreciation: 20%). */
375
+ readonly PPE_OFFICE_EQUIPMENT: "1333"; /** 1334 — Computer & IT Equipment (NBR depreciation: 30%). */
376
+ readonly PPE_COMPUTER: "1334"; /** 1347 — Medical Equipment (NBR depreciation: 20%). */
377
+ readonly PPE_MEDICAL_EQUIPMENT: "1347"; /** 1359 — Accumulated Depreciation — PPE (contra-asset, all PPE). */
378
+ readonly ACCUMULATED_DEPRECIATION_PPE: "1359"; /** 6601 — Depreciation — Building. */
379
+ readonly DEPRECIATION_BUILDING: "6601"; /** 6602 — Depreciation — Factory Building. */
380
+ readonly DEPRECIATION_FACTORY_BUILDING: "6602"; /** 6603 — Depreciation — Plant & Machinery. */
381
+ readonly DEPRECIATION_MACHINERY: "6603"; /** 6604 — Depreciation — Furniture & Fixtures. */
382
+ readonly DEPRECIATION_FURNITURE: "6604"; /** 6605 — Depreciation — Vehicles. */
383
+ readonly DEPRECIATION_VEHICLE: "6605"; /** 6606 — Depreciation — Office Equipment. */
384
+ readonly DEPRECIATION_OFFICE_EQUIPMENT: "6606"; /** 6607 — Depreciation — Computer & IT. */
385
+ readonly DEPRECIATION_COMPUTER: "6607"; /** 6608 — Depreciation — Medical Equipment. */
386
+ readonly DEPRECIATION_MEDICAL_EQUIPMENT: "6608"; /** 6810 — Loss on Sale of Assets (disposal below book value). */
387
+ readonly LOSS_ON_ASSET_DISPOSAL: "6810"; /** 4304 — Profit on Sale of Fixed Assets (disposal above book value). */
388
+ readonly PROFIT_ON_ASSET_DISPOSAL: "4304";
370
389
  };
371
390
  type BDAccountCode = (typeof BD_ACCOUNT_CODES)[keyof typeof BD_ACCOUNT_CODES];
372
391
  type BDAccountKey = keyof typeof BD_ACCOUNT_CODES;
package/dist/index.mjs CHANGED
@@ -6670,7 +6670,45 @@ const BD_ACCOUNT_CODES = {
6670
6670
  /** 6703 — Inventory Write-down / Obsolescence (slow-moving / expired). */
6671
6671
  OBSOLESCENCE: "6703",
6672
6672
  /** 6711 — Inventory Shrinkage / Theft / Loss (audit shortfall). */
6673
- SHRINKAGE: "6711"
6673
+ SHRINKAGE: "6711",
6674
+ /** 1315 — Office Building (NBR depreciation: 10%). */
6675
+ PPE_BUILDING: "1315",
6676
+ /** 1314 — Factory Building (NBR depreciation: 20%). */
6677
+ PPE_FACTORY_BUILDING: "1314",
6678
+ /** 1322 — Plant & Machinery (NBR depreciation: 20%). */
6679
+ PPE_MACHINERY: "1322",
6680
+ /** 1335 — Furniture & Fixtures (NBR depreciation: 10%). */
6681
+ PPE_FURNITURE: "1335",
6682
+ /** 1337 — Motor Vehicles (cars) (NBR depreciation: 20%). */
6683
+ PPE_VEHICLE: "1337",
6684
+ /** 1333 — Office Equipment (NBR depreciation: 20%). */
6685
+ PPE_OFFICE_EQUIPMENT: "1333",
6686
+ /** 1334 — Computer & IT Equipment (NBR depreciation: 30%). */
6687
+ PPE_COMPUTER: "1334",
6688
+ /** 1347 — Medical Equipment (NBR depreciation: 20%). */
6689
+ PPE_MEDICAL_EQUIPMENT: "1347",
6690
+ /** 1359 — Accumulated Depreciation — PPE (contra-asset, all PPE). */
6691
+ ACCUMULATED_DEPRECIATION_PPE: "1359",
6692
+ /** 6601 — Depreciation — Building. */
6693
+ DEPRECIATION_BUILDING: "6601",
6694
+ /** 6602 — Depreciation — Factory Building. */
6695
+ DEPRECIATION_FACTORY_BUILDING: "6602",
6696
+ /** 6603 — Depreciation — Plant & Machinery. */
6697
+ DEPRECIATION_MACHINERY: "6603",
6698
+ /** 6604 — Depreciation — Furniture & Fixtures. */
6699
+ DEPRECIATION_FURNITURE: "6604",
6700
+ /** 6605 — Depreciation — Vehicles. */
6701
+ DEPRECIATION_VEHICLE: "6605",
6702
+ /** 6606 — Depreciation — Office Equipment. */
6703
+ DEPRECIATION_OFFICE_EQUIPMENT: "6606",
6704
+ /** 6607 — Depreciation — Computer & IT. */
6705
+ DEPRECIATION_COMPUTER: "6607",
6706
+ /** 6608 — Depreciation — Medical Equipment. */
6707
+ DEPRECIATION_MEDICAL_EQUIPMENT: "6608",
6708
+ /** 6810 — Loss on Sale of Assets (disposal below book value). */
6709
+ LOSS_ON_ASSET_DISPOSAL: "6810",
6710
+ /** 4304 — Profit on Sale of Fixed Assets (disposal above book value). */
6711
+ PROFIT_ON_ASSET_DISPOSAL: "4304"
6674
6712
  };
6675
6713
  //#endregion
6676
6714
  //#region src/accounts/account-rules.ts
package/package.json CHANGED
@@ -1,89 +1,89 @@
1
- {
2
- "name": "@classytic/ledger-bd",
3
- "version": "0.5.1",
4
- "description": "Bangladesh country pack for @classytic/ledger \u00e2\u20ac\u201d BFRS chart of accounts, NBR VAT/TDS tax codes, Mushak 9.1 return",
5
- "type": "module",
6
- "sideEffects": false,
7
- "main": "./dist/index.mjs",
8
- "module": "./dist/index.mjs",
9
- "types": "./dist/index.d.mts",
10
- "exports": {
11
- ".": {
12
- "types": "./dist/index.d.mts",
13
- "import": "./dist/index.mjs",
14
- "default": "./dist/index.mjs"
15
- },
16
- "./verticals": {
17
- "types": "./dist/verticals/index.d.mts",
18
- "import": "./dist/verticals/index.mjs",
19
- "default": "./dist/verticals/index.mjs"
20
- },
21
- "./reporting/nbr-schedule": {
22
- "types": "./dist/reporting/nbr-schedule/index.d.mts",
23
- "import": "./dist/reporting/nbr-schedule/index.mjs",
24
- "default": "./dist/reporting/nbr-schedule/index.mjs"
25
- }
26
- },
27
- "files": [
28
- "dist",
29
- "README.md",
30
- "CHANGELOG.md",
31
- "LICENSE"
32
- ],
33
- "repository": {
34
- "type": "git",
35
- "url": "git+https://github.com/classytic/ledger-bd.git"
36
- },
37
- "bugs": {
38
- "url": "https://github.com/classytic/ledger-bd/issues"
39
- },
40
- "homepage": "https://github.com/classytic/ledger-bd#readme",
41
- "publishConfig": {
42
- "access": "public"
43
- },
44
- "keywords": [
45
- "accounting",
46
- "bangladesh",
47
- "bfrs",
48
- "nbr",
49
- "vat",
50
- "tds",
51
- "mushak",
52
- "chart-of-accounts",
53
- "tax",
54
- "double-entry"
55
- ],
56
- "author": "Classytic <classytic.dev@gmail.com> (https://github.com/classytic)",
57
- "license": "MIT",
58
- "peerDependencies": {
59
- "@classytic/ledger": ">=0.15.0"
60
- },
61
- "engines": {
62
- "node": ">=22"
63
- },
64
- "scripts": {
65
- "build": "tsdown",
66
- "dev": "tsdown --watch",
67
- "typecheck": "tsc --noEmit",
68
- "prepublishOnly": "npm run build && npm run typecheck",
69
- "test": "vitest run",
70
- "test:watch": "vitest",
71
- "push": "classytic-push",
72
- "release:tag": "node -e \"require('child_process').execSync('npm run push -- v'+require('./package.json').version,{stdio:'inherit'})\"",
73
- "release": "npm run push -- main && npm run release:tag && npm publish"
74
- },
75
- "devDependencies": {
76
- "@classytic/dev-tools": "^0.2.0",
77
- "@classytic/ledger": "^0.15.0",
78
- "@classytic/mongokit": "^3.17.0",
79
- "@classytic/primitives": "^0.9.1",
80
- "@classytic/repo-core": "^0.7.0",
81
- "@types/node": "^22.0.0",
82
- "mongodb-memory-server": "^11.0.1",
83
- "mongoose": "^9.3.3",
84
- "tsdown": "^0.22.3",
85
- "typescript": "^5.7.0",
86
- "vitest": "^3.0.0",
87
- "zod": "^4.4.3"
88
- }
89
- }
1
+ {
2
+ "name": "@classytic/ledger-bd",
3
+ "version": "0.6.1",
4
+ "description": "Bangladesh country pack for @classytic/ledger — BFRS chart of accounts, NBR VAT/TDS tax codes, Mushak 9.1 return",
5
+ "type": "module",
6
+ "sideEffects": false,
7
+ "main": "./dist/index.mjs",
8
+ "module": "./dist/index.mjs",
9
+ "types": "./dist/index.d.mts",
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/index.d.mts",
13
+ "import": "./dist/index.mjs",
14
+ "default": "./dist/index.mjs"
15
+ },
16
+ "./verticals": {
17
+ "types": "./dist/verticals/index.d.mts",
18
+ "import": "./dist/verticals/index.mjs",
19
+ "default": "./dist/verticals/index.mjs"
20
+ },
21
+ "./reporting/nbr-schedule": {
22
+ "types": "./dist/reporting/nbr-schedule/index.d.mts",
23
+ "import": "./dist/reporting/nbr-schedule/index.mjs",
24
+ "default": "./dist/reporting/nbr-schedule/index.mjs"
25
+ }
26
+ },
27
+ "files": [
28
+ "dist",
29
+ "README.md",
30
+ "CHANGELOG.md",
31
+ "LICENSE"
32
+ ],
33
+ "repository": {
34
+ "type": "git",
35
+ "url": "git+https://github.com/classytic/ledger-bd.git"
36
+ },
37
+ "bugs": {
38
+ "url": "https://github.com/classytic/ledger-bd/issues"
39
+ },
40
+ "homepage": "https://github.com/classytic/ledger-bd#readme",
41
+ "publishConfig": {
42
+ "access": "public"
43
+ },
44
+ "keywords": [
45
+ "accounting",
46
+ "bangladesh",
47
+ "bfrs",
48
+ "nbr",
49
+ "vat",
50
+ "tds",
51
+ "mushak",
52
+ "chart-of-accounts",
53
+ "tax",
54
+ "double-entry"
55
+ ],
56
+ "author": "Classytic <classytic.dev@gmail.com> (https://github.com/classytic)",
57
+ "license": "MIT",
58
+ "peerDependencies": {
59
+ "@classytic/ledger": ">=0.15.0"
60
+ },
61
+ "engines": {
62
+ "node": ">=22"
63
+ },
64
+ "scripts": {
65
+ "build": "tsdown",
66
+ "dev": "tsdown --watch",
67
+ "typecheck": "tsc --noEmit",
68
+ "prepublishOnly": "npm run build && npm run typecheck",
69
+ "test": "vitest run",
70
+ "test:watch": "vitest",
71
+ "push": "classytic-push",
72
+ "release:tag": "node -e \"require('child_process').execSync('npm run push -- v'+require('./package.json').version,{stdio:'inherit'})\"",
73
+ "release": "npm run push -- main && npm run release:tag && npm publish"
74
+ },
75
+ "devDependencies": {
76
+ "@classytic/dev-tools": "^0.2.0",
77
+ "@classytic/ledger": "^0.15.0",
78
+ "@classytic/mongokit": "^3.20.0",
79
+ "@classytic/primitives": "^0.9.1",
80
+ "@classytic/repo-core": "^0.9.0",
81
+ "@types/node": "^22.0.0",
82
+ "mongodb-memory-server": "^11.0.1",
83
+ "mongoose": "^9.3.3",
84
+ "tsdown": "^0.22.3",
85
+ "typescript": "^5.7.0",
86
+ "vitest": "^3.0.0",
87
+ "zod": "^4.4.3"
88
+ }
89
+ }