update migrations and create base migration. set discount and tax to sale invoices

This commit is contained in:
2026-05-28 16:39:07 +03:30
parent cd3492d625
commit a975f9d02a
55 changed files with 2152 additions and 2278 deletions
+5 -3
View File
@@ -11,9 +11,11 @@ export enum TspProviderRequestType {
REMOVE = 'REMOVE',
}
export enum SKUGuildType {
GOLD = 'GOLD',
}
export const SKUGuildType = {
GOLD: 'GOLD',
} as const
export type SKUGuildType = (typeof SKUGuildType)[keyof typeof SKUGuildType]
export const UploadedFileTypes = {
GOOD: 'GOOD',
+4 -1
View File
@@ -52,6 +52,8 @@ export const summarySelect: SalesInvoiceSelect = {
export const select: SalesInvoiceSelect = {
...summarySelect,
discount_amount: true,
tax_amount: true,
updated_at: true,
unknown_customer: true,
pos: {
@@ -93,7 +95,8 @@ export const select: SalesInvoiceSelect = {
measure_unit_text: true,
sku_code: true,
unit_price: true,
discount: true,
discount_amount: true,
tax_amount: true,
total_amount: true,
notes: true,
payload: true,
@@ -33,11 +33,15 @@ export class SharedCreateSalesInvoiceItemDto {
@IsNumber()
@ApiProperty({ required: true })
total_amount: number
discount_amount: number
@IsNumber()
@ApiProperty({ required: true })
discount_amount: number
tax_amount: number
@IsNumber()
@ApiProperty({ required: true })
total_amount: number
@IsString()
@ApiProperty({ required: true })
@@ -162,6 +166,14 @@ export class SharedCreateSalesInvoiceDto {
@ApiProperty({ required: true, default: 0 })
total_amount: number
@IsNumber()
@ApiProperty({ required: true, default: 0 })
discount_amount: number
@IsNumber()
@ApiProperty({ required: true, default: 0 })
tax_amount: number
@ApiProperty({ required: true })
@IsDateString(
{ strict: true },
@@ -194,6 +206,8 @@ export class SharedCreateSalesInvoiceDto {
@IsBoolean()
send_to_tsp?: boolean
@ApiProperty({ required: true, default: CustomerType.UNKNOWN })
@IsEnum(CustomerType)
customer_type: CustomerType
@@ -397,6 +397,11 @@ export class SharedSaleInvoiceCreateService {
invoice_date: normalizedInvoiceDate,
invoice_number: invoiceNumber,
total_amount: data.total_amount,
discount_amount: data.items.reduce(
(prev, curr) => (prev += curr.discount_amount),
0,
),
tax_amount: data.items.reduce((prev, curr) => (prev += curr.tax_amount), 0),
code: this.generateInvoiceCode(businessId, complexId, posId, invoiceNumber),
type,
settlement_type,
@@ -407,6 +412,8 @@ export class SharedSaleInvoiceCreateService {
quantity: item.quantity,
unit_price: item.unit_price,
total_amount: item.total_amount,
discount_amount: item.discount_amount,
tax_amount: item.tax_amount,
measure_unit_text: goodsById.get(item.good_id!)?.measure_unit.name || null,
measure_unit_code: goodsById.get(item.good_id!)?.measure_unit.code || null,
sku_code: goodsById.get(item.good_id!)?.sku.code || null,