summaryrefslogtreecommitdiff
path: root/lib/tax-conditions/types.ts
diff options
context:
space:
mode:
Diffstat (limited to 'lib/tax-conditions/types.ts')
-rw-r--r--lib/tax-conditions/types.ts56
1 files changed, 56 insertions, 0 deletions
diff --git a/lib/tax-conditions/types.ts b/lib/tax-conditions/types.ts
new file mode 100644
index 00000000..f77eba2d
--- /dev/null
+++ b/lib/tax-conditions/types.ts
@@ -0,0 +1,56 @@
+// 세금조건 타입 정의
+export interface TaxCondition {
+ code: string
+ name: string
+}
+
+// 세금조건 상수
+export const TAX_CONDITIONS: TaxCondition[] = [
+ { code: 'V1', name: '[V1] 매입 세금계산서/일반' },
+ { code: 'V2', name: '[V2] 매입 세금계산서/고정자산' },
+ { code: 'V4', name: '[V4] 매입 세금계산서/영세율' },
+ { code: 'V5', name: '[V5] 매입 세금계산서/불공제/교제비' },
+ { code: 'V6', name: '[V6] 매입 세금계산서/불공제/업무무관' },
+ { code: 'V7', name: '[V7] 매입 세금계산서/불공제/8인승이하 차량' },
+ { code: 'V8', name: '[V8] 매입 세금계산서/불공제/면세사업' },
+ { code: 'V9', name: '[V9] 매입 세금계산서/불공제/토지관련' },
+ { code: 'VB', name: '[VB] 매입 계산서' },
+ { code: 'VC', name: '[VC] 매입 매입자발행세금계산서' },
+ { code: 'VV', name: '[VV] 매입 Non Taxable' },
+ { code: 'X1', name: '[X1] 매입 신용카드/국내/공제' },
+ { code: 'X2', name: '[X2] 매입 신용카드/해외사용분/불공제' },
+ { code: 'X3', name: '[X3] 매입 신용카드/국내/불공제' },
+ { code: 'X4', name: '[X4] 매입 현금영수증/공제' },
+ { code: 'X5', name: '[X5] 매입 현금영수증/불공제/간이과특자' },
+ { code: 'X7', name: '[X7] 매입 신용카드/해외사용분/환급용' },
+ { code: 'Y1', name: '[Y1] 매입 대리납부' },
+ { code: 'Y2', name: '[Y2] 매입 의제매입세액 6/106' },
+ { code: 'Y3', name: '[Y3] 매입 계산서/의제매입대상' },
+ { code: 'Y4', name: '[Y4] 매입 신용카드/면세/의제매입대상' },
+ { code: 'Y5', name: '[Y5] 매입 현금영수증/면세/의제매입대상' },
+ { code: 'YA', name: '[YA] 매입 세금계산서/일반/공통매입 안분대상' },
+ { code: 'YB', name: '[YB] 매입 세금계산서/고정자산/공통매입 안분대상' },
+ { code: 'YC', name: '[YC] 매입 신용카드/공제/공통매입 안분대상' },
+ { code: 'YD', name: '[YD] 매입 현금영수증/공제/공통매입 안분대상' },
+ { code: 'YE', name: '[YE] 매입 불공제/공통매입세' },
+ { code: 'YF', name: '[YF] 매입 세금계산서/프로젝트/공통매입 안분대상' },
+ { code: 'YG', name: '[YG] 매입 세금계산서/광고대행/메모' },
+ { code: 'YH', name: '[YH] 매입 세금계산서/영세율/광고대행/메모' },
+ { code: 'YI', name: '[YI] 매입 계산서/광고대행/메모' },
+ { code: 'YJ', name: '[YJ] 매입 Invoice/영세율/광고대행/메모' },
+ { code: 'Z1', name: '[Z1] 매입 금전등록기 및 간이영수증(3만원 이하)' },
+ { code: 'Z2', name: '[Z2] 매입 금전등록기 및 간이영수증(3만원 초과/읍면이외)' },
+ { code: 'Z3', name: '[Z3] 매입 금전등록기 및 간이영수증(3만원 초과/읍면지역)' },
+]
+
+// 세금조건 코드로 이름 찾기
+export const getTaxConditionName = (code: string): string => {
+ const condition = TAX_CONDITIONS.find(item => item.code === code)
+ return condition ? condition.name : code
+}
+
+// 세금조건 이름으로 코드 찾기
+export const getTaxConditionCode = (name: string): string => {
+ const condition = TAX_CONDITIONS.find(item => item.name === name)
+ return condition ? condition.code : name
+}