Skip to content

Configuration

1. Biến môi trường

Nguồn: packages/core/src/common/environments.ts + packages/taxation/.env.development.

Core / Server

TênKiểuMặc địnhBắt buộcMô tả
RUN_MODEstartup|migratestartupstartup boot app + CDC consumer; migrate chạy seed
NODE_ENVstringdevelopmentRuntime env
TZstringAsia/Ho_Chi_MinhTimezone
APP_ENV_APPLICATION_NAMEstringtaxationTên app
APP_ENV_APPLICATION_CODEstringSVC-00130-TAXATIONService code
APP_ENV_SERVER_HOSTstringlocalhostHost bind
APP_ENV_SERVER_PORTnumber31130Port HTTP (container 3000)
APP_ENV_SERVER_BASE_PATHstring/v1/api/taxationPrefix route
APP_ENV_SNOWFLAKE_WORKER_IDnumber13Snowflake worker id (hardcode — rủi ro collision nếu scale)
APP_ENV_SNOWFLAKE_EPOCH_CHECKPOINTnumber1735689600000Base epoch Snowflake

Database

TênKiểuMặc địnhBắt buộcMô tả
APP_ENV_POSTGRES_HOSTstringHost PostgreSQL
APP_ENV_POSTGRES_PORTnumber35432Port
APP_ENV_POSTGRES_USERNAMEstringUser
APP_ENV_POSTGRES_PASSWORDstringPassword
APP_ENV_POSTGRES_DATABASEstringnx_sellerDatabase (schema tax, pricing)

Identity / Auth

TênKiểuMặc địnhBắt buộcMô tả
APP_ENV_IDENTITY_SERVICE_BASE_URLstringBase URL identity cho JWKS
APP_ENV_JWKS_REST_PATHstring/jw-certsPath endpoint JWKS
APP_ENV_APPLICATION_SECRETstringApp secret

Kafka (CDC consumer)

TênKiểuMặc địnhBắt buộcMô tả
APP_ENV_KAFKA_BROKERSstringBroker phân tách bằng dấu phẩy
APP_ENV_KAFKA_CLIENT_IDstringSVC-00130-TAXATIONClient id consumer
APP_ENV_KAFKA_GROUP_IDstringSVC-00130-TAXATION_CONSUMER_GROUPConsumer group
APP_ENV_KAFKA_SASL_ENABLEbooleantrueBật SASL
APP_ENV_KAFKA_SASL_MECHANISMstringSCRAM-SHA-512SASL mechanism
APP_ENV_KAFKA_SASL_USERNAME / _PASSWORDstringCredential SASL

2. Feature Flags

Không. Hành vi điều khiển bởi env vars và payload CDC.

3. Dữ liệu Seed

Các migration process trong src/migrations/processes/. Chạy ở RUN_MODE=migrate qua bun run migrate:dev. Cả bốn là alwaysRun: true (upsert idempotent). Dữ liệu tham chiếu VN KHÔNG được seed ở đây.

FileSeedsIdempotentGhi chú
taxation-0001-seed-discrimination-types.tsPhân loại thuế (scope tax_classification): VAT, Excise, Environmental, Luxury, PIT, CustomHậu thuẫn TaxGroupItem.discriminationTypeId
taxation-0002-seed-tax-groups.ts13 tax group hệ thống + các TaxGroupItem của chúng (9 DIRECT + 4 DEDUCTION)Resolve item theo DiscriminationType
taxation-0003-seed-permissions.tsTaxationPermissions (quyền đọc TaxGroup, TaxGroupItem, Vn*)Upsert theo code
taxation-0004-seed-role-permissions.tsCấp tất cả quyền taxation cho OWNER, EMPLOYEE, CASHIERBaseline khoan dung; siết sau qua policy-definition API

Tax group hệ thống (13)

Method DIRECT (9 — VAT + PIT theo ngành):

IdentifierVATPITNgành
VN_DIRECT_VAT0_PIT05_DISTRIBUTION0%0.5%Phân phối
VN_DIRECT_VAT1_PIT05_DISTRIBUTION1%0.5%Phân phối
VN_DIRECT_VAT0_PIT2_SERVICES0%2%Dịch vụ
VN_DIRECT_VAT0_PIT5_SERVICES0%5%Dịch vụ
VN_DIRECT_VAT5_PIT2_SERVICES5%2%Dịch vụ
VN_DIRECT_VAT5_PIT5_SERVICES5%5%Dịch vụ
VN_DIRECT_VAT0_PIT15_MANUFACTURING0%1.5%Sản xuất
VN_DIRECT_VAT3_PIT15_MANUFACTURING3%1.5%Sản xuất
VN_DIRECT_VAT2_PIT1_OTHER2%1%Khác

Method DEDUCTION (4 — bậc VAT):

IdentifierVAT
VN_DEDUCTION_VAT00%
VN_DEDUCTION_VAT55%
VN_DEDUCTION_VAT88%
VN_DEDUCTION_VAT1010%

Enum tham chiếu

EnumSourceValues
TaxMethodstax/tax-group/constants.ts000_DIRECT, 100_DEDUCTION
FixedTaxTypespricing/tax-type/constants.ts000_VAT, 100_EXCISE, 200_ENVIRONMENTAL, 300_LUXURY, 400_PIT, 999_CUSTOM
TaxModespricing/tax/constants.ts000_AMOUNT, 100_PERCENTAGE, 200_PER_UNIT_AMOUNT
TaxUsagespricing/tax/constants.ts000_SALE, 100_PURCHASE
TaxChargeTargetspricing/tax-type/constants.ts000_CUSTOMER, 100_MERCHANT

4. Lưu trữ Configuration (bảng Configuration)

Không dùng. Taxation không giữ config runtime theo từng merchant hay credential encrypted.

5. Trang liên quan

Proprietary and Confidential. Unauthorized copying, distribution, or use of this software is strictly prohibited.