import { Module } from "@nestjs/common"; import { TypeOrmModule } from "@nestjs/typeorm"; import { Supplier } from "./entities/supplier.entity"; import { SupplierBill, SupplierBillLine, } from "./entities/supplier-bill.entity"; import { StatutoryRemittance, SupplierPayment, } from "./entities/supplier-payment.entity"; import { StatutoryRemittancesRepository, SupplierBillLinesRepository, SupplierBillsRepository, SupplierPaymentsRepository, SuppliersRepository, } from "./payables.repository"; import { PayablesService } from "./payables.service"; import { PayrollPostingService } from "./payroll-posting.service"; import { PayablesController } from "./payables.controller"; import { AccountsModule } from "../accounts/accounts.module"; import { JournalsModule } from "../journals/journals.module"; @Module({ imports: [ TypeOrmModule.forFeature([ Supplier, SupplierBill, SupplierBillLine, SupplierPayment, StatutoryRemittance, ]), AccountsModule, JournalsModule, ], controllers: [PayablesController], providers: [ SuppliersRepository, SupplierBillsRepository, SupplierBillLinesRepository, SupplierPaymentsRepository, StatutoryRemittancesRepository, PayablesService, // Reads `hr.payroll_runs` / `hr.payslips` READ-ONLY and posts the result. // Finance never writes HR's schema — the run stays HR's fact, and only the // journal link lives here. PayrollPostingService, ], exports: [PayablesService, PayrollPostingService], }) export class PayablesModule {}