{- | Module : Business.Bookkeeping.JP.SelfEmployed Copyright : Kadzuya Okamoto 2017 License : MIT Stability : experimental Portability : unknown This module exports l10n functions for self employed Japanese people. -} module Business.Bookkeeping.JP.SelfEmployed ( -- * Helper functions for expenses -- $expences _旅費交通費 , _通信費 , _接待交際費 , _支払手数料 , _消耗品費 , _新聞図書費 , _会議費 , _外注工費 , _雑費 -- ** Lower level functions , _経費 -- * Helper functions for sales -- $sales , _売上発生 , _売上入金 , _売上 , _即日売上 , _源泉所得税 ) where import Business.Bookkeeping {- $expences 経費の支払いに使うヘルパ関数群. >>> :{ ppr $ year 2015 $ do month 1 $ do activity 2 "ジャパリパーク取材" $ do _旅費交通費 340 _消耗品費 "入場料" 1000 _消耗品費 "ジャパリバス乗車料" 400 _消耗品費 "ジャパリまん" 200 activity 20 "ジャパリパーク商談" $ _旅費交通費 340 :} tDay: 2015-01-02 tDescription: ジャパリパーク取材 tSubDescription: tDebit: 旅費交通費 (Expenses) tCredit: 事業主借 (Liabilities) tAmount: 340 tDay: 2015-01-02 tDescription: ジャパリパーク取材 tSubDescription: 入場料 tDebit: 消耗品費 (Expenses) tCredit: 事業主借 (Liabilities) tAmount: 1000 tDay: 2015-01-02 tDescription: ジャパリパーク取材 tSubDescription: ジャパリバス乗車料 tDebit: 消耗品費 (Expenses) tCredit: 事業主借 (Liabilities) tAmount: 400 tDay: 2015-01-02 tDescription: ジャパリパーク取材 tSubDescription: ジャパリまん tDebit: 消耗品費 (Expenses) tCredit: 事業主借 (Liabilities) tAmount: 200 tDay: 2015-01-20 tDescription: ジャパリパーク商談 tSubDescription: tDebit: 旅費交通費 (Expenses) tCredit: 事業主借 (Liabilities) tAmount: 340 -} _旅費交通費 :: Amount -> DateTransactions _旅費交通費 = _経費 "旅費交通費" "" _通信費 :: SubDescription -> Amount -> DateTransactions _通信費 = _経費 "通信費" _接待交際費 :: SubDescription -> Amount -> DateTransactions _接待交際費 = _経費 "接待交際費" _支払手数料 :: SubDescription -> Amount -> DateTransactions _支払手数料 = _経費 "支払手数料" _消耗品費 :: SubDescription -> Amount -> DateTransactions _消耗品費 = _経費 "消耗品費" _新聞図書費 :: SubDescription -> Amount -> DateTransactions _新聞図書費 = _経費 "新聞図書費" _会議費 :: SubDescription -> Amount -> DateTransactions _会議費 = _経費 "会議費" _外注工費 :: SubDescription -> Amount -> DateTransactions _外注工費 = _経費 "外注工賃" _雑費 :: SubDescription -> Amount -> DateTransactions _雑費 = _経費 "雑費" {-| 事業主が経費を支払った場合に使う関数. -} _経費 :: CategoryName -> SubDescription -> Amount -> DateTransactions _経費 name = dateTrans (DebitCategory $ Category name Expenses) (CreditCategory $ Category "事業主借" Liabilities) {- $sales 売上があった場合に使うヘルパ関数群. >>> :{ let _ジャパリパーク技術顧問料 :: Month -> Date -> YearTransactions _ジャパリパーク技術顧問料 m d = month m $ do _即日売上 d "ジャパリパーク技術顧問料" 600000 _源泉所得税 d "ジャパリパーク技術顧問料" 50000 in ppr $ year 2015 $ do _売上 (2, 20) (2, 28) "ジャパリパーク ラッキービースト改修費" 200000 _ジャパリパーク技術顧問料 3 31 _ジャパリパーク技術顧問料 4 30 _ジャパリパーク技術顧問料 5 31 :} tDay: 2015-02-20 tDescription: ジャパリパーク ラッキービースト改修費 tSubDescription: 売上発生 tDebit: 売掛金 (Assets) tCredit: 売上高 (Revenue) tAmount: 200000 tDay: 2015-02-28 tDescription: ジャパリパーク ラッキービースト改修費 tSubDescription: 売上入金 tDebit: 事業主貸 (Assets) tCredit: 売掛金 (Revenue) tAmount: 200000 tDay: 2015-03-31 tDescription: ジャパリパーク技術顧問料 tSubDescription: 売上/入金 tDebit: 事業主貸 (Assets) tCredit: 売上高 (Revenue) tAmount: 600000 tDay: 2015-03-31 tDescription: ジャパリパーク技術顧問料 tSubDescription: 源泉所得税 tDebit: 事業主貸 (Assets) tCredit: 売上高 (Revenue) tAmount: 50000 tDay: 2015-04-30 tDescription: ジャパリパーク技術顧問料 tSubDescription: 売上/入金 tDebit: 事業主貸 (Assets) tCredit: 売上高 (Revenue) tAmount: 600000 tDay: 2015-04-30 tDescription: ジャパリパーク技術顧問料 tSubDescription: 源泉所得税 tDebit: 事業主貸 (Assets) tCredit: 売上高 (Revenue) tAmount: 50000 tDay: 2015-05-31 tDescription: ジャパリパーク技術顧問料 tSubDescription: 売上/入金 tDebit: 事業主貸 (Assets) tCredit: 売上高 (Revenue) tAmount: 600000 tDay: 2015-05-31 tDescription: ジャパリパーク技術顧問料 tSubDescription: 源泉所得税 tDebit: 事業主貸 (Assets) tCredit: 売上高 (Revenue) tAmount: 50000 -} {-| 売上発生を記帳するためのヘルパ関数. -} _売上発生 :: Date -> Description -> Amount -> MonthTransactions _売上発生 d0 desc amount = activity d0 desc $ dateTrans (DebitCategory $ Category "売掛金" Assets) (CreditCategory $ Category "売上高" Revenue) "売上発生" amount {-| 売上入金を記帳するためのヘルパ関数. -} _売上入金 :: Date -> Description -> Amount -> MonthTransactions _売上入金 d0 desc amount = activity d0 desc $ dateTrans (DebitCategory $ Category "事業主貸" Assets) (CreditCategory $ Category "売掛金" Revenue) "売上入金" amount {-| 売上を記帳するためのヘルパ関数. 売上発生日と、実際の入金日が異なる場合に用いる. 最終的な入金先は、簡単のため事業主貸としてあつかう. -} _売上 :: (Month, Date) -- ^ 売上発生日 -> (Month, Date) -- ^ 売上入金日 -> Description -> Amount -> YearTransactions _売上 (m0, d0) (m1, d1) desc amount = do month m0 $ _売上発生 d0 desc amount month m1 $ _売上入金 d1 desc amount {-| 売上を記帳するためのヘルパ関数. 売上発生日に入金がある場合に用いる. 最終的な入金先は、簡単のため事業主貸としてあつかう. -} _即日売上 :: Date -> Description -> Amount -> MonthTransactions _即日売上 d0 desc amount = activity d0 desc $ dateTrans (DebitCategory $ Category "事業主貸" Assets) (CreditCategory $ Category "売上高" Revenue) "売上/入金" amount {-| 売上から源泉徴収された際に、その源泉徴収額を記帳するためのヘルパ関数. -} _源泉所得税 :: Date -> Description -> Amount -> MonthTransactions _源泉所得税 d0 desc amount = activity d0 desc $ dateTrans (DebitCategory $ Category "事業主貸" Assets) (CreditCategory $ Category "売上高" Revenue) "源泉所得税" amount