diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,8 @@
+# 1.3.9   [2019-03-02]
+
+  - dependencies: Port to hledger-lib-1.14
+  - Add AUR packaging
+
 # 1.3.8
 
   - dependencies: Port to hledger-lib-1.13
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -23,6 +23,12 @@
 
 ## Installation
 ### Latest release
+#### Archlinux
+
+For Archlinux users, an [AUR package](https://aur.archlinux.org/packages/hledger-iadd-bin) with a binary built by me (@hpdeifel)
+is available. If you want to compile `hledger-iadd` yourself, use one of the
+following installation methods.
+
 #### stack
 
 The easiest method would be [stack]: Install the [stack] program and
diff --git a/hledger-iadd.cabal b/hledger-iadd.cabal
--- a/hledger-iadd.cabal
+++ b/hledger-iadd.cabal
@@ -1,5 +1,5 @@
 name:                hledger-iadd
-version:             1.3.8
+version:             1.3.9
 synopsis:            A terminal UI as drop-in replacement for hledger add
 description:         This is a terminal UI as drop-in replacement for hledger add.
                      .
@@ -61,7 +61,7 @@
                      , Data.Time.Ext
   default-language:    Haskell2010
   build-depends:       base >= 4.9 && < 5
-                     , hledger-lib >= 1.12 && < 1.14
+                     , hledger-lib >= 1.14 && < 1.15
                      , brick >= 0.27
                      , vty >= 5.4
                      , text
@@ -88,7 +88,7 @@
   default-language:    Haskell2010
   build-depends:       base >= 4.9 && < 5
                      , hledger-iadd
-                     , hledger-lib >= 1.12 && < 1.14
+                     , hledger-lib >= 1.14 && < 1.15
                      , brick >= 0.27
                      , vty >= 5.4
                      , text
@@ -116,7 +116,7 @@
   default-language:   Haskell2010
   build-depends:      base >= 4.9 && < 5
                     , hledger-iadd
-                    , hledger-lib >= 1.13 && < 1.14
+                    , hledger-lib >= 1.14 && < 1.15
                     , text
                     , transformers >= 0.3
                     , time >= 1.5
diff --git a/src/Model.hs b/src/Model.hs
--- a/src/Model.hs
+++ b/src/Model.hs
@@ -378,7 +378,7 @@
           compare (length as1) (length as2) : zipWith cmpAmount sortedAs1 sortedAs2
 
     cmpBalanceAssertion :: HL.BalanceAssertion -> HL.BalanceAssertion -> Ordering
-    cmpBalanceAssertion = lexical [cmp HL.baamount, cmp HL.baexact]
+    cmpBalanceAssertion = lexical [cmp HL.baamount, cmp HL.batotal]
 
     sortPostings :: [HL.Posting] -> [HL.Posting]
     sortPostings = sortBy (lexical postingAttributes)
diff --git a/src/main/Main.hs b/src/main/Main.hs
--- a/src/main/Main.hs
+++ b/src/main/Main.hs
@@ -2,7 +2,6 @@
 {-# LANGUAGE FlexibleInstances #-}
 {-# LANGUAGE ScopedTypeVariables #-}
 {-# LANGUAGE OverloadedStrings, LambdaCase #-}
-{-# LANGUAGE PackageImports #-}
 
 module Main where
 
@@ -52,7 +51,6 @@
 import System.Environment.XDG.BaseDir (getUserConfigFile)
 import System.Exit (exitFailure, exitSuccess)
 import System.IO (hPutStr, hPutStrLn, stderr)
--- explicit package import since hledger-lib defines the same module
 import qualified Text.Megaparsec as P
 import qualified Text.Megaparsec.Char as P
 
@@ -132,7 +130,7 @@
   CommentDialog _ c -> [renderCommentWidget c, ui]
   NoDialog -> [ui]
 
-  where ui =  (txt "New Transaction:")
+  where ui =  txt "New Transaction:"
           <=> padAll 1 (borderLeft $ padLeft (Pad 1) $ viewState (asStep as))
           <=> hBorder
           <=> (viewQuestion (asStep as)
@@ -256,7 +254,7 @@
 doNextStep :: Bool -> AppState -> IO AppState
 doNextStep useSelected as = do
   let inputText = editText as
-      name = fromMaybe (Left $ inputText) $
+      name = fromMaybe (Left inputText) $
                msum [ Right <$> if useSelected then snd <$> listSelectedElement (asContext as) else Nothing
                     , Left <$> asMaybe (editText as)
                     , Left <$> asSuggestion as
@@ -313,7 +311,7 @@
                     , asInputHistory = historyTail
                     }
     where (lastInput,historyTail) =
-            case (asInputHistory as) of
+            case asInputHistory as of
               x:t -> (x,t)
               [] -> ("",[])
 
