Let cheques be received or paid without an invoice, and remind staff three days before due date.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -446,7 +446,14 @@ export class InvoicesService {
|
||||
): Promise<InvoiceDto> {
|
||||
const invoice = await this.prisma.invoice.findFirst({
|
||||
where: { id: invoiceId, organizationId, ...ownerWhere(actor) },
|
||||
select: { id: true, status: true, currency: true, organizationId: true },
|
||||
select: {
|
||||
id: true,
|
||||
status: true,
|
||||
currency: true,
|
||||
organizationId: true,
|
||||
personId: true,
|
||||
ownerId: true,
|
||||
},
|
||||
});
|
||||
if (!invoice) throw new NotFoundException('فاکتور پیدا نشد');
|
||||
if (invoice.status === 'canceled') {
|
||||
@@ -493,9 +500,14 @@ export class InvoicesService {
|
||||
organizationId: invoice.organizationId,
|
||||
paymentId: payment.id,
|
||||
invoiceId,
|
||||
personId: invoice.personId,
|
||||
ownerId: invoice.ownerId,
|
||||
amount: new Prisma.Decimal(dto.amount),
|
||||
currency: (dto.currency ?? invoice.currency).trim() || 'IRR',
|
||||
number: dto.cheque.number.trim(),
|
||||
bank: dto.cheque.bank.trim(),
|
||||
dueDate: new Date(dto.cheque.dueDate),
|
||||
direction: 'in',
|
||||
status: dto.cheque.status === 'cleared' || dto.cheque.status === 'bounced'
|
||||
? dto.cheque.status
|
||||
: 'pending',
|
||||
@@ -765,15 +777,17 @@ export class InvoicesService {
|
||||
invoiceId: row.id,
|
||||
invoiceNumber: row.number,
|
||||
invoiceTitle: row.title,
|
||||
personId: row.person?.id ?? p.cheque.personId ?? null,
|
||||
personName: row.person
|
||||
? `${row.person.firstName} ${row.person.lastName}`.trim()
|
||||
: row.company?.name ?? null,
|
||||
amount: Number(p.amount),
|
||||
currency: p.currency,
|
||||
amount: Number(p.cheque.amount ?? p.amount),
|
||||
currency: p.cheque.currency || p.currency,
|
||||
number: p.cheque.number,
|
||||
bank: p.cheque.bank,
|
||||
dueDate: p.cheque.dueDate.toISOString(),
|
||||
status: p.cheque.status,
|
||||
direction: p.cheque.direction === 'out' ? 'out' : 'in',
|
||||
notes: p.cheque.notes,
|
||||
paidAt: p.paidAt.toISOString(),
|
||||
createdAt: p.cheque.createdAt.toISOString(),
|
||||
|
||||
Reference in New Issue
Block a user