erp-construccion/docs/02-definicion-modulos/MAE-014-finanzas-controlling/especificaciones/ET-FIN-003-servicio de facturación.md

35 lines
990 B
Markdown

# ET-FIN-003: Servicio de Facturación
**ID:** ET-FIN-003 | **Módulo:** MAE-014
## Invoice Service
```typescript
@Injectable()
export class InvoiceService {
async createFromEstimation(estimationId: string): Promise<Invoice> {
const estimation = await this.estimationService.findOne(estimationId);
const invoice = await this.invoiceRepo.save({
projectId: estimation.projectId,
clientId: estimation.clientId,
amount: estimation.montoNeto,
concept: `Estimación ${estimation.numero}`,
dueDate: this.calculateDueDate(estimation)
});
await this.cfdiService.stamp(invoice); // Timbrado SAT
return invoice;
}
async applyPayment(invoiceId: string, amount: number): Promise<void> {
const invoice = await this.findOne(invoiceId);
invoice.paidAmount += amount;
invoice.status = invoice.paidAmount >= invoice.amount ? 'paid' : 'partial';
await this.invoiceRepo.save(invoice);
}
}
```
---
**Generado:** 2025-11-21