diff --git a/bookkeeping-jp.cabal b/bookkeeping-jp.cabal
--- a/bookkeeping-jp.cabal
+++ b/bookkeeping-jp.cabal
@@ -1,5 +1,5 @@
 name:                bookkeeping-jp
-version:             0.1.0.1
+version:             0.1.1.0
 synopsis:            Helper functions for Japanese bookkeeping.
 description:
     Helper functions of [bookkeeping module](https://github.com/arowM/haskell-bookkeeping#readme) for Japanese bookkeeping.
@@ -17,10 +17,16 @@
 library
   hs-source-dirs:      src
   exposed-modules:     Business.Bookkeeping.JP.SelfEmployed
+                     , Business.Bookkeeping.JP.Csv
   build-depends:       base >= 4.9 && < 4.10
                      , bookkeeping >= 0.2 && < 0.3
+                     , mono-traversable
+                     , text
+                     , time
   default-language:    Haskell2010
   default-extensions:  OverloadedStrings
+                     , RecordWildCards
+  other-extensions:    NoImplicitPrelude
 
 test-suite bookkeeping-jp-test
   type:                exitcode-stdio-1.0
diff --git a/src/Business/Bookkeeping/JP/Csv.hs b/src/Business/Bookkeeping/JP/Csv.hs
new file mode 100644
--- /dev/null
+++ b/src/Business/Bookkeeping/JP/Csv.hs
@@ -0,0 +1,60 @@
+{- |
+Module      :  Business.Bookkeeping.JP.Csv
+
+Copyright   :  Kadzuya Okamoto 2017
+License     :  MIT
+
+Stability   :  experimental
+Portability :  unknown
+
+This module exports functions to produce CSV-formatted texts for Japanese people.
+-}
+{-# LANGUAGE NoImplicitPrelude #-}
+
+module Business.Bookkeeping.JP.Csv
+  ( fromTransactions
+  ) where
+
+import Business.Bookkeeping
+import Data.MonoTraversable.Unprefixed (intercalate)
+import Data.Semigroup ((<>))
+import Data.Sequences (pack, unlines)
+import Data.Text (Text)
+import Data.Time.Format (defaultTimeLocale, formatTime)
+import Prelude hiding (unlines)
+
+{-| Produce CSV-formatted texts from `Transactions` value.
+-}
+fromTransactions :: Transactions -> Text
+fromTransactions =
+  unlines . (transactionHeader:) . fmap transactionBody . zip [1..] . runTransactions
+
+transactionBody :: (Int, Transaction) -> Text
+transactionBody (n, Transaction {..}) =
+  intercalate ","
+    [ tshow n
+    , tshow $ formatTime defaultTimeLocale "%Y/%m/%d" tDay
+    , formatText . unCategoryName . cName . unDebitCategory $ tDebit
+    , formatText . unCategoryName . cName . unCreditCategory $ tCredit
+    , formatText . unDescription $ tDescription
+    , formatText . unSubDescription $ tSubDescription
+    , tshow $ unAmount tAmount
+    ]
+
+formatText :: Text -> Text
+formatText = (<> "\"") . ("\"" <>)
+
+transactionHeader :: Text
+transactionHeader =
+  intercalate ","
+    [ formatText "取引No"
+    , formatText "取引日"
+    , formatText "借方勘定科目"
+    , formatText "貸方勘定科目"
+    , formatText "摘要"
+    , formatText "細目"
+    , formatText "貸借金額"
+    ]
+
+tshow :: Show a => a -> Text
+tshow = pack . show
