@floristcloud/api-lib 1.2.114 → 1.2.115

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -6,6 +6,7 @@ const schemas_1 = require("../../schemas");
6
6
  const CreateCashFlowItemRequestSchema = zod_1.z.object({
7
7
  name: zod_1.z.string().trim().min(1).max(255),
8
8
  sortOrder: zod_1.z.coerce.number().int().optional(),
9
+ excludeFromReports: zod_1.z.boolean().optional(),
9
10
  });
10
11
  const CreateCashFlowItemResponseSchema = zod_1.z.object({
11
12
  message: zod_1.z.string().optional(),
@@ -8,6 +8,7 @@ const UpdateCashFlowItemRequestSchema = zod_1.z.object({
8
8
  name: zod_1.z.string().trim().min(1).max(255).optional(),
9
9
  status: zod_1.z.nativeEnum(cash_flow_item_status_enum_1.CashFlowItemStatusEnum).optional(),
10
10
  sortOrder: zod_1.z.coerce.number().int().optional(),
11
+ excludeFromReports: zod_1.z.boolean().optional(),
11
12
  });
12
13
  const UpdateCashFlowItemResponseSchema = zod_1.z.object({
13
14
  message: zod_1.z.string().optional(),
@@ -32,7 +32,14 @@ const CashFlowItemRowSchema = zod_1.z.object({
32
32
  cashFlowItemName: zod_1.z.string().nullable(),
33
33
  income: money_schema_1.MoneySchema,
34
34
  expense: money_schema_1.MoneySchema,
35
+ // Часть `expense`, которая является расходом бизнеса: без выплат клиентам и возвратов
36
+ // предоплат — они двигают баланс клиента, а не прибыль. Для большинства статей совпадает
37
+ // с `expense`. Флаг статьи здесь НЕ применён: строка со своей суммой видна всегда, а
38
+ // складывать её или нет — решает `excludeFromReports`.
39
+ operatingExpense: money_schema_1.MoneySchema,
35
40
  transactionCount: zod_1.z.number(),
41
+ // Копия флага статьи. У строки "Без статьи" всегда false — такие платежи учитываются.
42
+ excludeFromReports: zod_1.z.boolean(),
36
43
  });
37
44
  const CashFlowMonthRowSchema = CashFlowItemRowSchema.extend({
38
45
  month: zod_1.z.string(),
@@ -48,6 +55,13 @@ const GetCashFlowResponseSchema = zod_1.z.object({
48
55
  // Сальдо (`income - expense`) — знаковая величина, минус здесь легален,
49
56
  // поэтому ограничения на знак нет и быть не должно.
50
57
  total: money_schema_1.MoneySchema,
58
+ // Расход, который вычитается из прибыли на странице отчётов: сумма `operatingExpense`
59
+ // по строкам с `excludeFromReports = false`, включая строку "Без статьи".
60
+ expenseForReports: money_schema_1.MoneySchema,
61
+ // Часть `expenseForReports` без проставленной статьи — величина "из них", а не слагаемое.
62
+ expenseWithoutItem: money_schema_1.MoneySchema,
63
+ // Сколько денег отсекли флагом статьи. Для сноски "мимо отчёта прошло X".
64
+ excludedExpense: money_schema_1.MoneySchema,
51
65
  }),
52
66
  }),
53
67
  });
@@ -9,6 +9,9 @@ exports.CashFlowItemSchema = zod_1.z.object({
9
9
  name: zod_1.z.string(),
10
10
  status: zod_1.z.nativeEnum(cash_flow_item_status_enum_1.CashFlowItemStatusEnum),
11
11
  sortOrder: zod_1.z.number(),
12
+ // Статья не участвует в расчёте прибыли: перевод между кассами, оплата поставщику (уже сидит
13
+ // в себестоимости), выплата учредителю. На отчёт ДДС не влияет — там остаются все обороты.
14
+ excludeFromReports: zod_1.z.boolean(),
12
15
  createdAt: zod_1.z.date(),
13
16
  updatedAt: zod_1.z.date(),
14
17
  });
@@ -4,6 +4,7 @@ import { CashFlowItemSchema } from '../../schemas';
4
4
  const CreateCashFlowItemRequestSchema = z.object({
5
5
  name: z.string().trim().min(1).max(255),
6
6
  sortOrder: z.coerce.number().int().optional(),
7
+ excludeFromReports: z.boolean().optional(),
7
8
  });
8
9
 
9
10
  const CreateCashFlowItemResponseSchema = z.object({
@@ -6,6 +6,7 @@ const UpdateCashFlowItemRequestSchema = z.object({
6
6
  name: z.string().trim().min(1).max(255).optional(),
7
7
  status: z.nativeEnum(CashFlowItemStatusEnum).optional(),
8
8
  sortOrder: z.coerce.number().int().optional(),
9
+ excludeFromReports: z.boolean().optional(),
9
10
  });
10
11
 
11
12
  const UpdateCashFlowItemResponseSchema = z.object({
@@ -31,7 +31,14 @@ const CashFlowItemRowSchema = z.object({
31
31
  cashFlowItemName: z.string().nullable(),
32
32
  income: MoneySchema,
33
33
  expense: MoneySchema,
34
+ // Часть `expense`, которая является расходом бизнеса: без выплат клиентам и возвратов
35
+ // предоплат — они двигают баланс клиента, а не прибыль. Для большинства статей совпадает
36
+ // с `expense`. Флаг статьи здесь НЕ применён: строка со своей суммой видна всегда, а
37
+ // складывать её или нет — решает `excludeFromReports`.
38
+ operatingExpense: MoneySchema,
34
39
  transactionCount: z.number(),
40
+ // Копия флага статьи. У строки "Без статьи" всегда false — такие платежи учитываются.
41
+ excludeFromReports: z.boolean(),
35
42
  });
36
43
 
37
44
  const CashFlowMonthRowSchema = CashFlowItemRowSchema.extend({
@@ -49,6 +56,13 @@ const GetCashFlowResponseSchema = z.object({
49
56
  // Сальдо (`income - expense`) — знаковая величина, минус здесь легален,
50
57
  // поэтому ограничения на знак нет и быть не должно.
51
58
  total: MoneySchema,
59
+ // Расход, который вычитается из прибыли на странице отчётов: сумма `operatingExpense`
60
+ // по строкам с `excludeFromReports = false`, включая строку "Без статьи".
61
+ expenseForReports: MoneySchema,
62
+ // Часть `expenseForReports` без проставленной статьи — величина "из них", а не слагаемое.
63
+ expenseWithoutItem: MoneySchema,
64
+ // Сколько денег отсекли флагом статьи. Для сноски "мимо отчёта прошло X".
65
+ excludedExpense: MoneySchema,
52
66
  }),
53
67
  }),
54
68
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@floristcloud/api-lib",
3
- "version": "1.2.114",
3
+ "version": "1.2.115",
4
4
  "description": "",
5
5
  "main": "./build/index.js",
6
6
  "scripts": {
@@ -7,6 +7,9 @@ export const CashFlowItemSchema = z.object({
7
7
  name: z.string(),
8
8
  status: z.nativeEnum(CashFlowItemStatusEnum),
9
9
  sortOrder: z.number(),
10
+ // Статья не участвует в расчёте прибыли: перевод между кассами, оплата поставщику (уже сидит
11
+ // в себестоимости), выплата учредителю. На отчёт ДДС не влияет — там остаются все обороты.
12
+ excludeFromReports: z.boolean(),
10
13
  createdAt: z.date(),
11
14
  updatedAt: z.date(),
12
15
  });