@things-factory/accounting 10.1.141 → 10.1.142
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.
- package/dist-server/service/account/default-accounts-subscriber.d.ts +7 -0
- package/dist-server/service/account/default-accounts-subscriber.js +22 -0
- package/dist-server/service/account/default-accounts-subscriber.js.map +1 -0
- package/dist-server/service/account/default-accounts.d.ts +22 -0
- package/dist-server/service/account/default-accounts.js +92 -0
- package/dist-server/service/account/default-accounts.js.map +1 -0
- package/dist-server/service/account/index.d.ts +2 -1
- package/dist-server/service/account/index.js +2 -1
- package/dist-server/service/account/index.js.map +1 -1
- package/dist-server/service/index.d.ts +1 -0
- package/dist-server/service/index.js +1 -0
- package/dist-server/service/index.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +9 -9
- package/dist-server/migrations/1725201467183-seed-accounts.d.ts +0 -5
- package/dist-server/migrations/1725201467183-seed-accounts.js +0 -323
- package/dist-server/migrations/1725201467183-seed-accounts.js.map +0 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { EntitySubscriberInterface, InsertEvent } from 'typeorm';
|
|
2
|
+
import { Domain } from '@things-factory/shell';
|
|
3
|
+
/** A new domain starts with the default chart of accounts, in the same transaction that made it. */
|
|
4
|
+
export declare class DefaultAccountsSubscriber implements EntitySubscriberInterface<Domain> {
|
|
5
|
+
listenTo(): typeof Domain;
|
|
6
|
+
afterInsert(event: InsertEvent<Domain>): Promise<void>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DefaultAccountsSubscriber = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const typeorm_1 = require("typeorm");
|
|
6
|
+
const shell_1 = require("@things-factory/shell");
|
|
7
|
+
const default_accounts_1 = require("./default-accounts");
|
|
8
|
+
/** A new domain starts with the default chart of accounts, in the same transaction that made it. */
|
|
9
|
+
let DefaultAccountsSubscriber = class DefaultAccountsSubscriber {
|
|
10
|
+
listenTo() {
|
|
11
|
+
return shell_1.Domain;
|
|
12
|
+
}
|
|
13
|
+
async afterInsert(event) {
|
|
14
|
+
if (event.entity?.id)
|
|
15
|
+
await (0, default_accounts_1.seedDefaultAccounts)(event.manager, event.entity);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
exports.DefaultAccountsSubscriber = DefaultAccountsSubscriber;
|
|
19
|
+
exports.DefaultAccountsSubscriber = DefaultAccountsSubscriber = tslib_1.__decorate([
|
|
20
|
+
(0, typeorm_1.EventSubscriber)()
|
|
21
|
+
], DefaultAccountsSubscriber);
|
|
22
|
+
//# sourceMappingURL=default-accounts-subscriber.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-accounts-subscriber.js","sourceRoot":"","sources":["../../../server/service/account/default-accounts-subscriber.ts"],"names":[],"mappings":";;;;AAAA,qCAAiF;AAEjF,iDAA8C;AAE9C,yDAAwD;AAExD,oGAAoG;AAE7F,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IACpC,QAAQ;QACN,OAAO,cAAM,CAAA;IACf,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAA0B;QAC1C,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE;YAAE,MAAM,IAAA,sCAAmB,EAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;IAC9E,CAAC;CACF,CAAA;AARY,8DAAyB;oCAAzB,yBAAyB;IADrC,IAAA,yBAAe,GAAE;GACL,yBAAyB,CAQrC","sourcesContent":["import { EntitySubscriberInterface, EventSubscriber, InsertEvent } from 'typeorm'\n\nimport { Domain } from '@things-factory/shell'\n\nimport { seedDefaultAccounts } from './default-accounts'\n\n/** A new domain starts with the default chart of accounts, in the same transaction that made it. */\n@EventSubscriber()\nexport class DefaultAccountsSubscriber implements EntitySubscriberInterface<Domain> {\n listenTo() {\n return Domain\n }\n\n async afterInsert(event: InsertEvent<Domain>) {\n if (event.entity?.id) await seedDefaultAccounts(event.manager, event.entity)\n }\n}\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { EntityManager } from 'typeorm';
|
|
2
|
+
export interface AccountSeed {
|
|
3
|
+
code: string;
|
|
4
|
+
name: string;
|
|
5
|
+
type: 'INCOME' | 'EXPENSE';
|
|
6
|
+
/** The category it is grouped under, by name. */
|
|
7
|
+
group: string;
|
|
8
|
+
aliases: string[];
|
|
9
|
+
forExpense?: boolean;
|
|
10
|
+
/** The filed statement line, when not the account's own name. */
|
|
11
|
+
statementLine?: string;
|
|
12
|
+
}
|
|
13
|
+
/** The default charts, by locale. */
|
|
14
|
+
export declare const DEFAULT_ACCOUNTS: Record<string, AccountSeed[]>;
|
|
15
|
+
/**
|
|
16
|
+
* Put the default chart of a locale into a domain that has no account yet, each account under the category its group
|
|
17
|
+
* names (made when the domain has none of that name). A domain with any account is left as it is. Returns how many
|
|
18
|
+
* accounts were put in.
|
|
19
|
+
*/
|
|
20
|
+
export declare function seedDefaultAccounts(tx: EntityManager, domain: {
|
|
21
|
+
id: string;
|
|
22
|
+
}, user?: any, locale?: string): Promise<number>;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DEFAULT_ACCOUNTS = void 0;
|
|
4
|
+
exports.seedDefaultAccounts = seedDefaultAccounts;
|
|
5
|
+
const accounting_category_1 = require("../accounting-category/accounting-category");
|
|
6
|
+
const account_1 = require("./account");
|
|
7
|
+
/** The group whose accounts move cash without being income or cost. */
|
|
8
|
+
const NOT_PROFIT_AND_LOSS = '비손익';
|
|
9
|
+
const KO_KR = [
|
|
10
|
+
{ code: '401', name: '매출', type: 'INCOME', group: '매출', statementLine: '매출액', aliases: ['수입', '매출', '유지보수', '용역', '라이선스', '잔금', '중도금', '선금', '계약금', '유지보수 어음만기', '어음만기', '어음 입금', '어음입금', '외화환전'] },
|
|
11
|
+
/* What was bought for a sale — 매출원가, as the 제조원가명세서 books it; these are what purchase contracts are drafted from. */
|
|
12
|
+
{ code: '451', name: '재료비', type: 'EXPENSE', group: '매출원가', aliases: ['재료비', '재료', '납품', '설비 집행', '설비', 'HW', '하드웨어', '장비', '센서', '검출기', 'PLC', '테블릿', '태블릿', 'PDA', '네트웍공사', '공사'] },
|
|
13
|
+
{ code: '837', name: '외주가공비', type: 'EXPENSE', group: '매출원가', aliases: ['외주가공', '외주용역', '외주', '용역비', '개발 용역비', '개발용역', '위탁'] },
|
|
14
|
+
/* Money given back to a customer — less sales, not a cost. */
|
|
15
|
+
{ code: '402', name: '매출 환불', type: 'EXPENSE', group: '매출', statementLine: '매출액', aliases: ['환불', '환불금', '반환', '계산서착오', '착오반환'] },
|
|
16
|
+
{ code: '901', name: '이자수익', type: 'INCOME', group: '영업외수익', aliases: ['결산이자', '예금이자', '이자수익', '예금결산'] },
|
|
17
|
+
/* A research project's 인건비·연구수당 paid in (「에기연 5월 인건비」) is a grant, not a sale — the 2025 statement's 정부보조금 is exactly these. */
|
|
18
|
+
{ code: '904', name: '정부보조금', type: 'INCOME', group: '영업외수익', aliases: ['일자리안정자금', '고용장려금', '추가고용장려금', '보조금', '지원금', '인건비', '내부인건비', '연구수당', '과제비', '청년내일채움', '청년추가지원금', '손실보전금'] },
|
|
19
|
+
{ code: '930', name: '잡이익', type: 'INCOME', group: '영업외수익', statementLine: '기타잡이익', aliases: ['잡이익', '환급', '환불'] },
|
|
20
|
+
{ code: '990', name: '차입(입금)', type: 'INCOME', group: '비손익', aliases: ['차입금', '기보 대출', '운영비 대출', '대출입금', '대출 실행'] },
|
|
21
|
+
{ code: '991', name: '자금이체(입금)', type: 'INCOME', group: '비손익', aliases: ['운영자금이체', '운영자금 이체', '운영자금입금', '자금이체', '어음 할인'] },
|
|
22
|
+
{ code: '801', name: '급여', type: 'EXPENSE', group: '판매비와관리비', aliases: ['급여', '인건비', '상여'] },
|
|
23
|
+
/* Severance paid out, to the person or into their IRP — a cost. */
|
|
24
|
+
{ code: '806', name: '퇴직급여', type: 'EXPENSE', group: '판매비와관리비', aliases: ['퇴직금', '퇴직금 정산', '퇴직급여', '퇴직연금'] },
|
|
25
|
+
{ code: '811', name: '복리후생비', type: 'EXPENSE', group: '판매비와관리비', aliases: ['복리후생', '식대', '식비', '음료', '회식', '국민건강', '건강보험', '검진', '사우회', '사우회비'], forExpense: true },
|
|
26
|
+
{ code: '812', name: '여비교통비', type: 'EXPENSE', group: '판매비와관리비', aliases: ['교통비', '주차비', '출장비', '숙박비', '출장경비', '택시', '렌터카', '여비', '항공'], forExpense: true },
|
|
27
|
+
{ code: '813', name: '기업업무추진비', type: 'EXPENSE', group: '판매비와관리비', aliases: ['기업업무추진비', '접대비', '접대'], forExpense: true },
|
|
28
|
+
{ code: '814', name: '통신비', type: 'EXPENSE', group: '판매비와관리비', aliases: ['통신비', 'SMS', '인터넷', 'LGU', '오피스넷', 'KT'], forExpense: true },
|
|
29
|
+
{ code: '815', name: '수도광열비', type: 'EXPENSE', group: '판매비와관리비', aliases: ['전기요금', '수도요금', '가스요금'] },
|
|
30
|
+
{ code: '817', name: '세금과공과', type: 'EXPENSE', group: '판매비와관리비', aliases: ['세금과공과', '세금공과', '지방세', '주민세', '국민연금', '면허세', '인지세'] },
|
|
31
|
+
{ code: '819', name: '지급임차료', type: 'EXPENSE', group: '판매비와관리비', statementLine: '임차료', aliases: ['임차료', '월세', '관리비'] },
|
|
32
|
+
{ code: '821', name: '보험료', type: 'EXPENSE', group: '판매비와관리비', aliases: ['보험료', '고용보험', '산재보험', '보증보험'] },
|
|
33
|
+
{ code: '822', name: '차량유지비', type: 'EXPENSE', group: '판매비와관리비', aliases: ['주유', '차량', '통행료', '하이패스'], forExpense: true },
|
|
34
|
+
{ code: '825', name: '교육훈련비', type: 'EXPENSE', group: '판매비와관리비', aliases: ['교육훈련', '교육비', '세미나'], forExpense: true },
|
|
35
|
+
{ code: '826', name: '도서인쇄비', type: 'EXPENSE', group: '판매비와관리비', aliases: ['도서인쇄', '도서', '인쇄'], forExpense: true },
|
|
36
|
+
{ code: '829', name: '회의비', type: 'EXPENSE', group: '판매비와관리비', aliases: ['회의비', '회의'], forExpense: true },
|
|
37
|
+
{ code: '830', name: '소모품비', type: 'EXPENSE', group: '판매비와관리비', aliases: ['소모품', '사무용품', '비품'], forExpense: true },
|
|
38
|
+
{ code: '831', name: '지급수수료', type: 'EXPENSE', group: '판매비와관리비', aliases: ['지급수수료', '수수료', 'SMS수수료', 'SMS통지수수료', 'SMS 수수료', '세무', '회계', '법무', 'AWS', '클라우드', '청소용역', '증명서발급', 'azure', 'ms office'] },
|
|
39
|
+
{ code: '833', name: '광고선전비', type: 'EXPENSE', group: '판매비와관리비', aliases: ['광고', '홍보', '전시회'] },
|
|
40
|
+
{ code: '931', name: '이자비용', type: 'EXPENSE', group: '영업외비용', aliases: ['이자비용', '대출이자', '대출금이자', '기보대출이자', '금융비용'] },
|
|
41
|
+
/* Paid into the company's DB pension fund — money moved to an account it still holds, not a cost. */
|
|
42
|
+
{ code: '988', name: '퇴직연금 납입', type: 'EXPENSE', group: '비손익', aliases: ['퇴직연금 납입', '퇴직연금납입', '퇴직연금 부담금', 'DB 부담금'] },
|
|
43
|
+
/* Paid to the holders out of profit — not a cost. The tax withheld is paid over under 원천세. */
|
|
44
|
+
{ code: '992', name: '배당금 지급', type: 'EXPENSE', group: '비손익', aliases: ['배당금', '배당 지급', '배당금지급'] },
|
|
45
|
+
{ code: '993', name: '카드대금', type: 'EXPENSE', group: '비손익', aliases: ['법인카드', '카드대금', '카드결제'] },
|
|
46
|
+
{ code: '994', name: '부가세 납부', type: 'EXPENSE', group: '비손익', aliases: ['부가세', '부가가치세'] },
|
|
47
|
+
{ code: '995', name: '원천세 납부', type: 'EXPENSE', group: '비손익', aliases: ['원천근로소득', '원천세', '원천징수'] },
|
|
48
|
+
/* Principal and interest paid together (「중진공대출원리」) — kept apart so neither interest nor principal is overstated. */
|
|
49
|
+
{ code: '998', name: '대출 원리금', type: 'EXPENSE', group: '비손익', aliases: ['원리금', '대출원리', '대출원리금'] },
|
|
50
|
+
{ code: '996', name: '차입금 상환', type: 'EXPENSE', group: '비손익', aliases: ['원금상환', '차입금 상환', '단기차입금 상환', '차입반환', '차입금반환', '차입금 반환', '대출금상환', '대출상환', '일부상환'] },
|
|
51
|
+
{ code: '997', name: '자금이체(출금)', type: 'EXPENSE', group: '비손익', aliases: ['자금이체', '운영자금이체', '계좌이체(자사)', '환전'] },
|
|
52
|
+
/* No aliases: a line nothing places stays unplaced and listed — this is for a person to choose. */
|
|
53
|
+
{ code: '999', name: '기타 경비', type: 'EXPENSE', group: '판매비와관리비', aliases: [], forExpense: true }
|
|
54
|
+
];
|
|
55
|
+
/** The default charts, by locale. */
|
|
56
|
+
exports.DEFAULT_ACCOUNTS = { 'ko-KR': KO_KR };
|
|
57
|
+
/**
|
|
58
|
+
* Put the default chart of a locale into a domain that has no account yet, each account under the category its group
|
|
59
|
+
* names (made when the domain has none of that name). A domain with any account is left as it is. Returns how many
|
|
60
|
+
* accounts were put in.
|
|
61
|
+
*/
|
|
62
|
+
async function seedDefaultAccounts(tx, domain, user, locale = 'ko-KR') {
|
|
63
|
+
const seeds = exports.DEFAULT_ACCOUNTS[locale];
|
|
64
|
+
if (!seeds)
|
|
65
|
+
return 0;
|
|
66
|
+
const accounts = tx.getRepository(account_1.Account);
|
|
67
|
+
if (await accounts.count({ where: { domain: { id: domain.id } }, withDeleted: true }))
|
|
68
|
+
return 0;
|
|
69
|
+
const categories = tx.getRepository(accounting_category_1.AccountingCategory);
|
|
70
|
+
const groupNamed = new Map();
|
|
71
|
+
for (const name of [...new Set(seeds.map(one => one.group))]) {
|
|
72
|
+
const found = await categories.findOne({ where: { domain: { id: domain.id }, name } });
|
|
73
|
+
groupNamed.set(name, found ?? await categories.save(categories.create({ domain, code: name, name, active: true, creator: user, updater: user })));
|
|
74
|
+
}
|
|
75
|
+
for (const one of seeds)
|
|
76
|
+
await accounts.save(accounts.create({
|
|
77
|
+
domain,
|
|
78
|
+
code: one.code,
|
|
79
|
+
name: one.name,
|
|
80
|
+
type: one.type,
|
|
81
|
+
category: { id: groupNamed.get(one.group).id },
|
|
82
|
+
aliases: one.aliases.join('\n'),
|
|
83
|
+
profitAndLoss: one.group !== NOT_PROFIT_AND_LOSS,
|
|
84
|
+
statementLine: one.statementLine ?? null,
|
|
85
|
+
forExpense: !!one.forExpense,
|
|
86
|
+
active: true,
|
|
87
|
+
creator: user,
|
|
88
|
+
updater: user
|
|
89
|
+
}));
|
|
90
|
+
return seeds.length;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=default-accounts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-accounts.js","sourceRoot":"","sources":["../../../server/service/account/default-accounts.ts"],"names":[],"mappings":"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","sourcesContent":["import { EntityManager } from 'typeorm'\n\nimport { AccountingCategory } from '../accounting-category/accounting-category'\nimport { Account } from './account'\n\n/*\n * The chart of accounts a business starts with, put in when its domain is created (§`DefaultAccountsSubscriber`) or,\n * for a domain made before, the first time an application asks (§`seedDefaultAccounts`). It is a starting point:\n * codes, names and aliases are the business's to change.\n *\n * ── ko-KR ───────────────────────────────────────────────────────────────────────────────────────\n * The headings a Korean small company books its cash under — 판매비와관리비 8xx, 영업외 9xx — with the words bank\n * lines and expense claims use as aliases (「대출이자」, 「고용보험2512」). A note maturing (「어음만기」) and a foreign\n * collection changed into won (「외화환전」) are the customer paying — 매출, not a transfer; a bank's SMS fee is\n * 지급수수료, not 통신비. 「비손익」 accounts move cash without being income or cost — the card bill (the spending is\n * booked when the card is used), VAT paid over, loan principal, transfers between own accounts.\n */\n\nexport interface AccountSeed {\n code: string\n name: string\n type: 'INCOME' | 'EXPENSE'\n /** The category it is grouped under, by name. */\n group: string\n aliases: string[]\n forExpense?: boolean\n /** The filed statement line, when not the account's own name. */\n statementLine?: string\n}\n\n/** The group whose accounts move cash without being income or cost. */\nconst NOT_PROFIT_AND_LOSS = '비손익'\n\nconst KO_KR: AccountSeed[] = [\n { code: '401', name: '매출', type: 'INCOME', group: '매출', statementLine: '매출액', aliases: ['수입', '매출', '유지보수', '용역', '라이선스', '잔금', '중도금', '선금', '계약금', '유지보수 어음만기', '어음만기', '어음 입금', '어음입금', '외화환전'] },\n /* What was bought for a sale — 매출원가, as the 제조원가명세서 books it; these are what purchase contracts are drafted from. */\n { code: '451', name: '재료비', type: 'EXPENSE', group: '매출원가', aliases: ['재료비', '재료', '납품', '설비 집행', '설비', 'HW', '하드웨어', '장비', '센서', '검출기', 'PLC', '테블릿', '태블릿', 'PDA', '네트웍공사', '공사'] },\n { code: '837', name: '외주가공비', type: 'EXPENSE', group: '매출원가', aliases: ['외주가공', '외주용역', '외주', '용역비', '개발 용역비', '개발용역', '위탁'] },\n /* Money given back to a customer — less sales, not a cost. */\n { code: '402', name: '매출 환불', type: 'EXPENSE', group: '매출', statementLine: '매출액', aliases: ['환불', '환불금', '반환', '계산서착오', '착오반환'] },\n { code: '901', name: '이자수익', type: 'INCOME', group: '영업외수익', aliases: ['결산이자', '예금이자', '이자수익', '예금결산'] },\n /* A research project's 인건비·연구수당 paid in (「에기연 5월 인건비」) is a grant, not a sale — the 2025 statement's 정부보조금 is exactly these. */\n { code: '904', name: '정부보조금', type: 'INCOME', group: '영업외수익', aliases: ['일자리안정자금', '고용장려금', '추가고용장려금', '보조금', '지원금', '인건비', '내부인건비', '연구수당', '과제비', '청년내일채움', '청년추가지원금', '손실보전금'] },\n { code: '930', name: '잡이익', type: 'INCOME', group: '영업외수익', statementLine: '기타잡이익', aliases: ['잡이익', '환급', '환불'] },\n { code: '990', name: '차입(입금)', type: 'INCOME', group: '비손익', aliases: ['차입금', '기보 대출', '운영비 대출', '대출입금', '대출 실행'] },\n { code: '991', name: '자금이체(입금)', type: 'INCOME', group: '비손익', aliases: ['운영자금이체', '운영자금 이체', '운영자금입금', '자금이체', '어음 할인'] },\n\n { code: '801', name: '급여', type: 'EXPENSE', group: '판매비와관리비', aliases: ['급여', '인건비', '상여'] },\n /* Severance paid out, to the person or into their IRP — a cost. */\n { code: '806', name: '퇴직급여', type: 'EXPENSE', group: '판매비와관리비', aliases: ['퇴직금', '퇴직금 정산', '퇴직급여', '퇴직연금'] },\n { code: '811', name: '복리후생비', type: 'EXPENSE', group: '판매비와관리비', aliases: ['복리후생', '식대', '식비', '음료', '회식', '국민건강', '건강보험', '검진', '사우회', '사우회비'], forExpense: true },\n { code: '812', name: '여비교통비', type: 'EXPENSE', group: '판매비와관리비', aliases: ['교통비', '주차비', '출장비', '숙박비', '출장경비', '택시', '렌터카', '여비', '항공'], forExpense: true },\n { code: '813', name: '기업업무추진비', type: 'EXPENSE', group: '판매비와관리비', aliases: ['기업업무추진비', '접대비', '접대'], forExpense: true },\n { code: '814', name: '통신비', type: 'EXPENSE', group: '판매비와관리비', aliases: ['통신비', 'SMS', '인터넷', 'LGU', '오피스넷', 'KT'], forExpense: true },\n { code: '815', name: '수도광열비', type: 'EXPENSE', group: '판매비와관리비', aliases: ['전기요금', '수도요금', '가스요금'] },\n { code: '817', name: '세금과공과', type: 'EXPENSE', group: '판매비와관리비', aliases: ['세금과공과', '세금공과', '지방세', '주민세', '국민연금', '면허세', '인지세'] },\n { code: '819', name: '지급임차료', type: 'EXPENSE', group: '판매비와관리비', statementLine: '임차료', aliases: ['임차료', '월세', '관리비'] },\n { code: '821', name: '보험료', type: 'EXPENSE', group: '판매비와관리비', aliases: ['보험료', '고용보험', '산재보험', '보증보험'] },\n { code: '822', name: '차량유지비', type: 'EXPENSE', group: '판매비와관리비', aliases: ['주유', '차량', '통행료', '하이패스'], forExpense: true },\n { code: '825', name: '교육훈련비', type: 'EXPENSE', group: '판매비와관리비', aliases: ['교육훈련', '교육비', '세미나'], forExpense: true },\n { code: '826', name: '도서인쇄비', type: 'EXPENSE', group: '판매비와관리비', aliases: ['도서인쇄', '도서', '인쇄'], forExpense: true },\n { code: '829', name: '회의비', type: 'EXPENSE', group: '판매비와관리비', aliases: ['회의비', '회의'], forExpense: true },\n { code: '830', name: '소모품비', type: 'EXPENSE', group: '판매비와관리비', aliases: ['소모품', '사무용품', '비품'], forExpense: true },\n { code: '831', name: '지급수수료', type: 'EXPENSE', group: '판매비와관리비', aliases: ['지급수수료', '수수료', 'SMS수수료', 'SMS통지수수료', 'SMS 수수료', '세무', '회계', '법무', 'AWS', '클라우드', '청소용역', '증명서발급', 'azure', 'ms office'] },\n { code: '833', name: '광고선전비', type: 'EXPENSE', group: '판매비와관리비', aliases: ['광고', '홍보', '전시회'] },\n { code: '931', name: '이자비용', type: 'EXPENSE', group: '영업외비용', aliases: ['이자비용', '대출이자', '대출금이자', '기보대출이자', '금융비용'] },\n /* Paid into the company's DB pension fund — money moved to an account it still holds, not a cost. */\n { code: '988', name: '퇴직연금 납입', type: 'EXPENSE', group: '비손익', aliases: ['퇴직연금 납입', '퇴직연금납입', '퇴직연금 부담금', 'DB 부담금'] },\n /* Paid to the holders out of profit — not a cost. The tax withheld is paid over under 원천세. */\n { code: '992', name: '배당금 지급', type: 'EXPENSE', group: '비손익', aliases: ['배당금', '배당 지급', '배당금지급'] },\n { code: '993', name: '카드대금', type: 'EXPENSE', group: '비손익', aliases: ['법인카드', '카드대금', '카드결제'] },\n { code: '994', name: '부가세 납부', type: 'EXPENSE', group: '비손익', aliases: ['부가세', '부가가치세'] },\n { code: '995', name: '원천세 납부', type: 'EXPENSE', group: '비손익', aliases: ['원천근로소득', '원천세', '원천징수'] },\n /* Principal and interest paid together (「중진공대출원리」) — kept apart so neither interest nor principal is overstated. */\n { code: '998', name: '대출 원리금', type: 'EXPENSE', group: '비손익', aliases: ['원리금', '대출원리', '대출원리금'] },\n { code: '996', name: '차입금 상환', type: 'EXPENSE', group: '비손익', aliases: ['원금상환', '차입금 상환', '단기차입금 상환', '차입반환', '차입금반환', '차입금 반환', '대출금상환', '대출상환', '일부상환'] },\n { code: '997', name: '자금이체(출금)', type: 'EXPENSE', group: '비손익', aliases: ['자금이체', '운영자금이체', '계좌이체(자사)', '환전'] },\n /* No aliases: a line nothing places stays unplaced and listed — this is for a person to choose. */\n { code: '999', name: '기타 경비', type: 'EXPENSE', group: '판매비와관리비', aliases: [], forExpense: true }\n]\n\n/** The default charts, by locale. */\nexport const DEFAULT_ACCOUNTS: Record<string, AccountSeed[]> = { 'ko-KR': KO_KR }\n\n/**\n * Put the default chart of a locale into a domain that has no account yet, each account under the category its group\n * names (made when the domain has none of that name). A domain with any account is left as it is. Returns how many\n * accounts were put in.\n */\nexport async function seedDefaultAccounts(tx: EntityManager, domain: { id: string }, user?: any, locale = 'ko-KR'): Promise<number> {\n const seeds = DEFAULT_ACCOUNTS[locale]\n if (!seeds) return 0\n const accounts = tx.getRepository(Account)\n if (await accounts.count({ where: { domain: { id: domain.id } } as any, withDeleted: true })) return 0\n\n const categories = tx.getRepository(AccountingCategory)\n const groupNamed = new Map<string, AccountingCategory>()\n for (const name of [...new Set(seeds.map(one => one.group))]) {\n const found = await categories.findOne({ where: { domain: { id: domain.id }, name } as any })\n groupNamed.set(name, found ?? (await categories.save(categories.create({ domain, code: name, name, active: true, creator: user, updater: user } as any)) as unknown as AccountingCategory))\n }\n for (const one of seeds)\n await accounts.save(\n accounts.create({\n domain,\n code: one.code,\n name: one.name,\n type: one.type,\n category: { id: groupNamed.get(one.group)!.id },\n aliases: one.aliases.join('\\n'),\n profitAndLoss: one.group !== NOT_PROFIT_AND_LOSS,\n statementLine: one.statementLine ?? null,\n forExpense: !!one.forExpense,\n active: true,\n creator: user,\n updater: user\n } as any)\n )\n return seeds.length\n}\n"]}
|
|
@@ -2,6 +2,7 @@ import { Account } from './account';
|
|
|
2
2
|
import { AccountQuery } from './account-query';
|
|
3
3
|
import { AccountMutation } from './account-mutation';
|
|
4
4
|
import { AccountHistoryEntitySubscriber } from './event-subscriber';
|
|
5
|
+
import { DefaultAccountsSubscriber } from './default-accounts-subscriber';
|
|
5
6
|
export declare const entities: (typeof Account)[];
|
|
6
7
|
export declare const resolvers: (typeof AccountQuery | typeof AccountMutation)[];
|
|
7
|
-
export declare const subscribers: (typeof AccountHistoryEntitySubscriber)[];
|
|
8
|
+
export declare const subscribers: (typeof AccountHistoryEntitySubscriber | typeof DefaultAccountsSubscriber)[];
|
|
@@ -6,7 +6,8 @@ const account_history_1 = require("./account-history");
|
|
|
6
6
|
const account_query_1 = require("./account-query");
|
|
7
7
|
const account_mutation_1 = require("./account-mutation");
|
|
8
8
|
const event_subscriber_1 = require("./event-subscriber");
|
|
9
|
+
const default_accounts_subscriber_1 = require("./default-accounts-subscriber");
|
|
9
10
|
exports.entities = [account_1.Account, account_history_1.AccountHistory];
|
|
10
11
|
exports.resolvers = [account_query_1.AccountQuery, account_mutation_1.AccountMutation];
|
|
11
|
-
exports.subscribers = [event_subscriber_1.AccountHistoryEntitySubscriber];
|
|
12
|
+
exports.subscribers = [event_subscriber_1.AccountHistoryEntitySubscriber, default_accounts_subscriber_1.DefaultAccountsSubscriber];
|
|
12
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/service/account/index.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AACnC,uDAAkD;AAClD,mDAA8C;AAC9C,yDAAoD;AACpD,yDAAmE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../server/service/account/index.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AACnC,uDAAkD;AAClD,mDAA8C;AAC9C,yDAAoD;AACpD,yDAAmE;AACnE,+EAAyE;AAE5D,QAAA,QAAQ,GAAG,CAAC,iBAAO,EAAE,gCAAc,CAAC,CAAA;AACpC,QAAA,SAAS,GAAG,CAAC,4BAAY,EAAE,kCAAe,CAAC,CAAA;AAC3C,QAAA,WAAW,GAAG,CAAC,iDAA8B,EAAE,uDAAyB,CAAC,CAAA","sourcesContent":["import { Account } from './account'\nimport { AccountHistory } from './account-history'\nimport { AccountQuery } from './account-query'\nimport { AccountMutation } from './account-mutation'\nimport { AccountHistoryEntitySubscriber } from './event-subscriber'\nimport { DefaultAccountsSubscriber } from './default-accounts-subscriber'\n\nexport const entities = [Account, AccountHistory]\nexport const resolvers = [AccountQuery, AccountMutation]\nexport const subscribers = [AccountHistoryEntitySubscriber, DefaultAccountsSubscriber]\n"]}
|
|
@@ -23,6 +23,7 @@ export * from './financial-statement/financial-statement-service';
|
|
|
23
23
|
export * from './recurring-cash-item/recurring-schedule';
|
|
24
24
|
export * from './recurring-cash-item/recurring-cash-item-service';
|
|
25
25
|
export * from './account/account-match';
|
|
26
|
+
export * from './account/default-accounts';
|
|
26
27
|
export * from './bank-statement/bank-source';
|
|
27
28
|
export * from './bank-statement/bank-parser';
|
|
28
29
|
export * from './bank-statement/bank-reconcile';
|
|
@@ -29,6 +29,7 @@ tslib_1.__exportStar(require("./financial-statement/financial-statement-service"
|
|
|
29
29
|
tslib_1.__exportStar(require("./recurring-cash-item/recurring-schedule"), exports);
|
|
30
30
|
tslib_1.__exportStar(require("./recurring-cash-item/recurring-cash-item-service"), exports);
|
|
31
31
|
tslib_1.__exportStar(require("./account/account-match"), exports);
|
|
32
|
+
tslib_1.__exportStar(require("./account/default-accounts"), exports);
|
|
32
33
|
tslib_1.__exportStar(require("./bank-statement/bank-source"), exports);
|
|
33
34
|
tslib_1.__exportStar(require("./bank-statement/bank-parser"), exports);
|
|
34
35
|
tslib_1.__exportStar(require("./bank-statement/bank-reconcile"), exports);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/service/index.ts"],"names":[],"mappings":";;;;AAAA,yBAAyB;AACzB,2DAAgC;AAChC,oFAAyD;AACzD,oFAAyD;AACzD,oEAAyC;AACzC,sEAA2C;AAC3C,0EAA+C;AAC/C,4DAAiC;AACjC,4DAAiC;AACjC,oFAAyD;AACzD,oFAAyD;AACzD,wFAA6D;AAC7D,sEAA2C;AAC3C,0EAA+C;AAC/C,oEAAyC;AAEzC,qBAAqB;AACrB,2EAAgD;AAChD,4EAAiD;AACjD,8EAAmD;AACnD,oEAAyC;AACzC,oEAAyC;AACzC,qEAA0C;AAC1C,yFAA8D;AAC9D,4FAAiE;AACjE,mFAAwD;AACxD,4FAAiE;AACjE,kEAAuC;AACvC,uEAA4C;AAC5C,uEAA4C;AAC5C,0EAA+C;AAC/C,4EAAiD;AACjD,uEAA4C;AAE5C,mCAAmC;AACnC,+DAI8B;AAC9B,+DAI8B;AAC9B,+CAIsB;AACtB,iDAIuB;AACvB,qDAIyB;AACzB,uCAIkB;AAClB,uCAIkB;AAClB,+DAI8B;AAC9B,+DAI8B;AAC9B,mEAIgC;AAChC,iDAIuB;AACvB,qDAIyB;AACzB,+CAIsB;AAET,QAAA,QAAQ,GAAG;IACtB,GAAG,8BAA0B;IAC7B,GAAG,8BAA0B;IAC7B,GAAG,sBAAmB;IACtB,GAAG,uBAAmB;IACtB,GAAG,yBAAqB;IACxB,GAAG,kBAAe;IAClB,GAAG,kBAAe;IAClB,GAAG,8BAA0B;IAC7B,GAAG,8BAAyB;IAC5B,GAAG,gCAA4B;IAC/B,GAAG,uBAAmB;IACtB,GAAG,yBAAqB;IACxB,GAAG,sBAAkB;CACtB,CAAA;AAEY,QAAA,WAAW,GAAG;IACzB,GAAG,iCAA6B;IAChC,GAAG,iCAA6B;IAChC,GAAG,yBAAsB;IACzB,GAAG,0BAAsB;IACzB,GAAG,4BAAwB;IAC3B,GAAG,qBAAkB;IACrB,GAAG,qBAAkB;IACrB,GAAG,iCAA6B;IAChC,GAAG,iCAA4B;IAC/B,GAAG,mCAA+B;IAClC,GAAG,0BAAsB;IACzB,GAAG,4BAAwB;IAC3B,GAAG,yBAAqB;CACzB,CAAA;AAEY,QAAA,MAAM,GAAG;IACpB,eAAe,EAAE;QACf,GAAG,+BAA2B;QAC9B,GAAG,+BAA2B;QAC9B,GAAG,uBAAoB;QACvB,GAAG,wBAAoB;QACvB,GAAG,0BAAsB;QACzB,GAAG,mBAAgB;QACnB,GAAG,mBAAgB;QACnB,GAAG,+BAA2B;QAC9B,GAAG,+BAA0B;QAC7B,GAAG,iCAA6B;QAChC,GAAG,wBAAoB;QACvB,GAAG,0BAAsB;QACzB,GAAG,uBAAmB;KACvB;CACF,CAAA","sourcesContent":["/* EXPORT ENTITY TYPES */\nexport * from './cash-flow-type'\nexport * from './financial-statement/financial-statement'\nexport * from './accounting-category/accounting-category'\nexport * from './transaction/transaction'\nexport * from './bank-account/bank-account'\nexport * from './bank-statement/bank-statement'\nexport * from './payment/payment'\nexport * from './account/account'\nexport * from './accounting-document/accounting-document'\nexport * from './recurring-cash-item/recurring-cash-item'\nexport * from './financial-institution/financial-institution'\nexport * from './fiscal-month/fiscal-month'\nexport * from './fiscal-quarter/fiscal-quarter'\nexport * from './fiscal-year/fiscal-year'\n\n/* EXPORT SERVICES */\nexport * from './transaction/transaction-period'\nexport * from './transaction/transaction-service'\nexport * from './bank-account/bank-account-service'\nexport * from './payment/payment-targets'\nexport * from './payment/payment-service'\nexport * from './payment/document-targets'\nexport * from './financial-statement/financial-statement-line'\nexport * from './financial-statement/financial-statement-service'\nexport * from './recurring-cash-item/recurring-schedule'\nexport * from './recurring-cash-item/recurring-cash-item-service'\nexport * from './account/account-match'\nexport * from './bank-statement/bank-source'\nexport * from './bank-statement/bank-parser'\nexport * from './bank-statement/bank-reconcile'\nexport * from './bank-statement/bank-import-type'\nexport * from './bank-statement/bank-import'\n\n/* IMPORT ENTITIES AND RESOLVERS */\nimport {\n entities as FinancialStatementEntities,\n resolvers as FinancialStatementResolvers,\n subscribers as FinancialStatementSubscribers\n} from './financial-statement'\nimport {\n entities as AccountingCategoryEntities,\n resolvers as AccountingCategoryResolvers,\n subscribers as AccountingCategorySubscribers\n} from './accounting-category'\nimport {\n entities as TransactionEntities,\n resolvers as TransactionResolvers,\n subscribers as TransactionSubscribers\n} from './transaction'\nimport {\n entities as BankAccountEntities,\n resolvers as BankAccountResolvers,\n subscribers as BankAccountSubscribers\n} from './bank-account'\nimport {\n entities as BankStatementEntities,\n resolvers as BankStatementResolvers,\n subscribers as BankStatementSubscribers\n} from './bank-statement'\nimport {\n entities as PaymentEntities,\n resolvers as PaymentResolvers,\n subscribers as PaymentSubscribers\n} from './payment'\nimport {\n entities as AccountEntities,\n resolvers as AccountResolvers,\n subscribers as AccountSubscribers\n} from './account'\nimport {\n entities as AccountingDocumentEntities,\n resolvers as AccountingDocumentResolvers,\n subscribers as AccountingDocumentSubscribers\n} from './accounting-document'\nimport {\n entities as RecurringCashItemEntities,\n resolvers as RecurringCashItemResolvers,\n subscribers as RecurringCashItemSubscribers\n} from './recurring-cash-item'\nimport {\n entities as FinancialInstitutionEntities,\n resolvers as FinancialInstitutionResolvers,\n subscribers as FinancialInstitutionSubscribers\n} from './financial-institution'\nimport {\n entities as FiscalMonthEntities,\n resolvers as FiscalMonthResolvers,\n subscribers as FiscalMonthSubscribers\n} from './fiscal-month'\nimport {\n entities as FiscalQuarterEntities,\n resolvers as FiscalQuarterResolvers,\n subscribers as FiscalQuarterSubscribers\n} from './fiscal-quarter'\nimport {\n entities as FiscalYearEntities,\n resolvers as FiscalYearResolvers,\n subscribers as FiscalYearSubscribers\n} from './fiscal-year'\n\nexport const entities = [\n ...FinancialStatementEntities,\n ...AccountingCategoryEntities,\n ...TransactionEntities,\n ...BankAccountEntities,\n ...BankStatementEntities,\n ...PaymentEntities,\n ...AccountEntities,\n ...AccountingDocumentEntities,\n ...RecurringCashItemEntities,\n ...FinancialInstitutionEntities,\n ...FiscalMonthEntities,\n ...FiscalQuarterEntities,\n ...FiscalYearEntities\n]\n\nexport const subscribers = [\n ...FinancialStatementSubscribers,\n ...AccountingCategorySubscribers,\n ...TransactionSubscribers,\n ...BankAccountSubscribers,\n ...BankStatementSubscribers,\n ...PaymentSubscribers,\n ...AccountSubscribers,\n ...AccountingDocumentSubscribers,\n ...RecurringCashItemSubscribers,\n ...FinancialInstitutionSubscribers,\n ...FiscalMonthSubscribers,\n ...FiscalQuarterSubscribers,\n ...FiscalYearSubscribers\n]\n\nexport const schema = {\n resolverClasses: [\n ...FinancialStatementResolvers,\n ...AccountingCategoryResolvers,\n ...TransactionResolvers,\n ...BankAccountResolvers,\n ...BankStatementResolvers,\n ...PaymentResolvers,\n ...AccountResolvers,\n ...AccountingDocumentResolvers,\n ...RecurringCashItemResolvers,\n ...FinancialInstitutionResolvers,\n ...FiscalMonthResolvers,\n ...FiscalQuarterResolvers,\n ...FiscalYearResolvers\n ]\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../server/service/index.ts"],"names":[],"mappings":";;;;AAAA,yBAAyB;AACzB,2DAAgC;AAChC,oFAAyD;AACzD,oFAAyD;AACzD,oEAAyC;AACzC,sEAA2C;AAC3C,0EAA+C;AAC/C,4DAAiC;AACjC,4DAAiC;AACjC,oFAAyD;AACzD,oFAAyD;AACzD,wFAA6D;AAC7D,sEAA2C;AAC3C,0EAA+C;AAC/C,oEAAyC;AAEzC,qBAAqB;AACrB,2EAAgD;AAChD,4EAAiD;AACjD,8EAAmD;AACnD,oEAAyC;AACzC,oEAAyC;AACzC,qEAA0C;AAC1C,yFAA8D;AAC9D,4FAAiE;AACjE,mFAAwD;AACxD,4FAAiE;AACjE,kEAAuC;AACvC,qEAA0C;AAC1C,uEAA4C;AAC5C,uEAA4C;AAC5C,0EAA+C;AAC/C,4EAAiD;AACjD,uEAA4C;AAE5C,mCAAmC;AACnC,+DAI8B;AAC9B,+DAI8B;AAC9B,+CAIsB;AACtB,iDAIuB;AACvB,qDAIyB;AACzB,uCAIkB;AAClB,uCAIkB;AAClB,+DAI8B;AAC9B,+DAI8B;AAC9B,mEAIgC;AAChC,iDAIuB;AACvB,qDAIyB;AACzB,+CAIsB;AAET,QAAA,QAAQ,GAAG;IACtB,GAAG,8BAA0B;IAC7B,GAAG,8BAA0B;IAC7B,GAAG,sBAAmB;IACtB,GAAG,uBAAmB;IACtB,GAAG,yBAAqB;IACxB,GAAG,kBAAe;IAClB,GAAG,kBAAe;IAClB,GAAG,8BAA0B;IAC7B,GAAG,8BAAyB;IAC5B,GAAG,gCAA4B;IAC/B,GAAG,uBAAmB;IACtB,GAAG,yBAAqB;IACxB,GAAG,sBAAkB;CACtB,CAAA;AAEY,QAAA,WAAW,GAAG;IACzB,GAAG,iCAA6B;IAChC,GAAG,iCAA6B;IAChC,GAAG,yBAAsB;IACzB,GAAG,0BAAsB;IACzB,GAAG,4BAAwB;IAC3B,GAAG,qBAAkB;IACrB,GAAG,qBAAkB;IACrB,GAAG,iCAA6B;IAChC,GAAG,iCAA4B;IAC/B,GAAG,mCAA+B;IAClC,GAAG,0BAAsB;IACzB,GAAG,4BAAwB;IAC3B,GAAG,yBAAqB;CACzB,CAAA;AAEY,QAAA,MAAM,GAAG;IACpB,eAAe,EAAE;QACf,GAAG,+BAA2B;QAC9B,GAAG,+BAA2B;QAC9B,GAAG,uBAAoB;QACvB,GAAG,wBAAoB;QACvB,GAAG,0BAAsB;QACzB,GAAG,mBAAgB;QACnB,GAAG,mBAAgB;QACnB,GAAG,+BAA2B;QAC9B,GAAG,+BAA0B;QAC7B,GAAG,iCAA6B;QAChC,GAAG,wBAAoB;QACvB,GAAG,0BAAsB;QACzB,GAAG,uBAAmB;KACvB;CACF,CAAA","sourcesContent":["/* EXPORT ENTITY TYPES */\nexport * from './cash-flow-type'\nexport * from './financial-statement/financial-statement'\nexport * from './accounting-category/accounting-category'\nexport * from './transaction/transaction'\nexport * from './bank-account/bank-account'\nexport * from './bank-statement/bank-statement'\nexport * from './payment/payment'\nexport * from './account/account'\nexport * from './accounting-document/accounting-document'\nexport * from './recurring-cash-item/recurring-cash-item'\nexport * from './financial-institution/financial-institution'\nexport * from './fiscal-month/fiscal-month'\nexport * from './fiscal-quarter/fiscal-quarter'\nexport * from './fiscal-year/fiscal-year'\n\n/* EXPORT SERVICES */\nexport * from './transaction/transaction-period'\nexport * from './transaction/transaction-service'\nexport * from './bank-account/bank-account-service'\nexport * from './payment/payment-targets'\nexport * from './payment/payment-service'\nexport * from './payment/document-targets'\nexport * from './financial-statement/financial-statement-line'\nexport * from './financial-statement/financial-statement-service'\nexport * from './recurring-cash-item/recurring-schedule'\nexport * from './recurring-cash-item/recurring-cash-item-service'\nexport * from './account/account-match'\nexport * from './account/default-accounts'\nexport * from './bank-statement/bank-source'\nexport * from './bank-statement/bank-parser'\nexport * from './bank-statement/bank-reconcile'\nexport * from './bank-statement/bank-import-type'\nexport * from './bank-statement/bank-import'\n\n/* IMPORT ENTITIES AND RESOLVERS */\nimport {\n entities as FinancialStatementEntities,\n resolvers as FinancialStatementResolvers,\n subscribers as FinancialStatementSubscribers\n} from './financial-statement'\nimport {\n entities as AccountingCategoryEntities,\n resolvers as AccountingCategoryResolvers,\n subscribers as AccountingCategorySubscribers\n} from './accounting-category'\nimport {\n entities as TransactionEntities,\n resolvers as TransactionResolvers,\n subscribers as TransactionSubscribers\n} from './transaction'\nimport {\n entities as BankAccountEntities,\n resolvers as BankAccountResolvers,\n subscribers as BankAccountSubscribers\n} from './bank-account'\nimport {\n entities as BankStatementEntities,\n resolvers as BankStatementResolvers,\n subscribers as BankStatementSubscribers\n} from './bank-statement'\nimport {\n entities as PaymentEntities,\n resolvers as PaymentResolvers,\n subscribers as PaymentSubscribers\n} from './payment'\nimport {\n entities as AccountEntities,\n resolvers as AccountResolvers,\n subscribers as AccountSubscribers\n} from './account'\nimport {\n entities as AccountingDocumentEntities,\n resolvers as AccountingDocumentResolvers,\n subscribers as AccountingDocumentSubscribers\n} from './accounting-document'\nimport {\n entities as RecurringCashItemEntities,\n resolvers as RecurringCashItemResolvers,\n subscribers as RecurringCashItemSubscribers\n} from './recurring-cash-item'\nimport {\n entities as FinancialInstitutionEntities,\n resolvers as FinancialInstitutionResolvers,\n subscribers as FinancialInstitutionSubscribers\n} from './financial-institution'\nimport {\n entities as FiscalMonthEntities,\n resolvers as FiscalMonthResolvers,\n subscribers as FiscalMonthSubscribers\n} from './fiscal-month'\nimport {\n entities as FiscalQuarterEntities,\n resolvers as FiscalQuarterResolvers,\n subscribers as FiscalQuarterSubscribers\n} from './fiscal-quarter'\nimport {\n entities as FiscalYearEntities,\n resolvers as FiscalYearResolvers,\n subscribers as FiscalYearSubscribers\n} from './fiscal-year'\n\nexport const entities = [\n ...FinancialStatementEntities,\n ...AccountingCategoryEntities,\n ...TransactionEntities,\n ...BankAccountEntities,\n ...BankStatementEntities,\n ...PaymentEntities,\n ...AccountEntities,\n ...AccountingDocumentEntities,\n ...RecurringCashItemEntities,\n ...FinancialInstitutionEntities,\n ...FiscalMonthEntities,\n ...FiscalQuarterEntities,\n ...FiscalYearEntities\n]\n\nexport const subscribers = [\n ...FinancialStatementSubscribers,\n ...AccountingCategorySubscribers,\n ...TransactionSubscribers,\n ...BankAccountSubscribers,\n ...BankStatementSubscribers,\n ...PaymentSubscribers,\n ...AccountSubscribers,\n ...AccountingDocumentSubscribers,\n ...RecurringCashItemSubscribers,\n ...FinancialInstitutionSubscribers,\n ...FiscalMonthSubscribers,\n ...FiscalQuarterSubscribers,\n ...FiscalYearSubscribers\n]\n\nexport const schema = {\n resolverClasses: [\n ...FinancialStatementResolvers,\n ...AccountingCategoryResolvers,\n ...TransactionResolvers,\n ...BankAccountResolvers,\n ...BankStatementResolvers,\n ...PaymentResolvers,\n ...AccountResolvers,\n ...AccountingDocumentResolvers,\n ...RecurringCashItemResolvers,\n ...FinancialInstitutionResolvers,\n ...FiscalMonthResolvers,\n ...FiscalQuarterResolvers,\n ...FiscalYearResolvers\n ]\n}\n"]}
|