Today's audit.

Auditor is a nifty addon that tracks your incoming and outgoing money from a variety of sources, and provides an easy to use Data Broker interface to choose whose data you would like to look at, and for what time period. It is, essentially, MoneyFu for those who have obsessive information disorder. Like me. Yes, I *must* know how much I spent on training last week. Why? I dunno. But I must.

PLEASE NOTE: Auditor is now made for LibDataBroker (LDB). A list of LDB Display Addons and other addons using LDB can be found here.

If you use FuBar then just grab Broker2FuBar, and Auditor will merrily show up as it always has done for you, once you have enabled it in the Broker2FuBar options.


  • LDB at last! Yes, your eyes don't deceive you. Probably.
  • Money tracking, and lots of it.
  • Data separated by realm.
  • Character totals.
  • Combined totals.
  • Clickable tooltip to customise what you can and can't see.
  • Ability to look at all your characters' specific data from any of your other characters on that realm.
  • Accounts can be viewed per session, day, last seven days, or in their full, all-time glory.
  • Cash notification options.
  • Optional auto-repairs (per-character preference).
  • Optional auto-sell for grey items (per-realm preference).
  • Time offsets, so you can set Auditor to reset when dailies reset!
  • Many things. Just get it and see!

What does Auditor track?

  • Loot money! Whether you are solo, in a party or in a raid.
  • Vendor money! Stuff you buy from or sell to vendors.
  • Quest money! Money you gain from quests, and money you spend on quests (e.g. the Scholomance Key quest).
  • Trade money! Doing enchants or transmutes? Yep, it catches money exchanged in trade.
  • Mail money! Sending money to/from your alts or friends? Tracked.
  • AH money! At last, both outgoing AND incoming Auction House money is tracked.
  • Training money! How much did you spend on training and respecs? Do you care? Well, you'll know anyway.
  • Flight money! Spent a day flying about Azeroth? See how much you should claim back on your tax expenses.
  • Repairs money! See how much money you really spent on repairing your kit after those instances.
  • Unknown money! Money gained/lost, but for whatever reason, Auditor can't work out where it's from. Better than nothing, anyway.
  • Reconciliation money! That's money for when you just installed Auditor, and it has to account for the cash you have right now, or for when you crashed, or were logged on at a friend's house. It's all good.
  • Guild Bank money! Money you deposit or withdraw from your Guild Bank. Exciting, I know.
  • LFG reward money! Guild contributions money! Reforging money!

When does it track it for?

Auditor tracks your money:

  • Per session.
  • Per day.
  • Per last-seven-days.
  • And all-time.

Known Bugs

  • None

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of LarryGatlin LarryGatlin Aug 20, 2016 at 04:52 UTC - 0 likes

    Any plans to update this for Legion? Works ok on 7.0.3 but does not work on Beta, get Divide by zero error in line 46 Core. Inf = 1/0

    [Edit] strange do not get the divide zero error on 7.0.3

    Last edited Aug 20, 2016 by LarryGatlin
  • Avatar of j311yf1sh j311yf1sh Jul 25, 2015 at 07:32 UTC - 0 likes

    I have now been given author and manager of this addon. I hope i can live up to peoples expectations and deliver an experience similar to alarishas dreams.

    Will check tickets so add them and read comments before commencing work to see what people have to say.

    Cheers jf

    Last edited Jul 25, 2015 by j311yf1sh
  • Avatar of Veyska Veyska Apr 19, 2015 at 18:30 UTC - 0 likes

    There's a fan-updated zip posted over on WoWInterface in the comments ( and I just posted over there a quick and dirty temporary fix for the bug where looted gold was getting double counted resulting in weird "expenditures" or reconciliation totals.

  • Avatar of sykopat sykopat Dec 22, 2014 at 17:25 UTC - 0 likes

    Really hope someone takes over this addon, it's one of my favorites. Still works ok for me, but there are new sources for income, like follower missions that I'm not sure how are tracked.

  • Avatar of XylanTrueheart XylanTrueheart Oct 16, 2014 at 15:18 UTC - 0 likes

    Just for the record in case anyone takes over this addon.

    The error as seen by BugGrabber, enUS client

    1x Auditor2\Core.lua:281: attempt to call global 'GetGuildLevel' (a nil value)
    Auditor2\Core.lua:281: in function <Auditor2\Core.lua:272>
    Auditor2\Core.lua:346: in function <Auditor2\Core.lua:339>

    self = <unnamed> {
    0 = <userdata>
    event = "CHAT_MSG_MONEY"
    arg1 = "You loot 19 Silver, 9 Copper"
    arg2 = ""
    UpdateTimeFrame = <function> defined @Auditor2\Core.lua:180
    UpdateFigures = <function> defined @Auditor2\Core.lua:217
    CashNotifyUpdate = <function> defined @Auditor2\Core.lua:260
    ShareMoneyScan = <function> defined @Auditor2\Core.lua:272
    auditorMode = "loot"
    addon = <table> {
    TriggerMessage = <function> defined @Auditor2\Libs\Dongle.lua:450
    HasModule = <function> defined @Auditor2\Libs\Dongle.lua:298
    NewModule = <function> defined @Auditor2\Libs\Dongle.lua:283
    RepairAllItems = <function> defined @Auditor2\Core.lua:530
    Echo = <function> defined @Auditor2\Libs\Dongle.lua:696
    IsDebugEnabled = <function> defined @Auditor2\Libs\Dongle.lua:629
    CursorHasItem = <function> defined @Auditor2\Core.lua:534
    ScheduleRepeatingTimer = <function> defined @Auditor2\Libs\Dongle.lua:589
    PrintF = <function> defined @Auditor2\Libs\Dongle.lua:689
    Initialize = <function> defined @Auditor2\Core.lua:68
    ScheduleTimer = <function> defined @Auditor2\Libs\Dongle.lua:558
    DebugF = <function> defined @Auditor2\Libs\Dongle.lua:720
    RegisterMessage = <function> defined @Auditor2\Libs\Dongle.lua:412
    UnregisterMessage = <function> defined @Auditor2\Libs\Dongle.lua:426
    Print = <function> defined @Auditor2\Libs\Dongle.lua:682
    db = <table> {
    MoneyStyle = <function> defined @Auditor2\Core.lua:640
    PrintResetTime = <function> defined @Auditor2\Core.lua:555
    IsTimerScheduled = <function> defined @Auditor2\Libs\Dongle.lua:594
    TakeInboxMoney = <function> defined @Auditor2\Core.lua:540
    UpgradeCategories = <function> defined @Auditor2\Core.lua:497
    EchoF = <function> defined @Auditor2\Libs\Dongle.lua:703
    IsEventRegistered = <function> defined @Auditor2\Libs\Dongle.lua:396
    PurgeData = <function> defined @Auditor2\Core.lua:455
    Debug = <function> defined @Auditor2\Libs\Dongle.lua:710
    CancelTimer = <function> defined @Auditor2\Libs\Dongle.lua:605
    RegisterEvent = <function> defined @Auditor2\Libs\Dongle.lua:347
    UnregisterAllMessages = <function> defined @Auditor2\Libs\Dongle.lua:439
    NewCharDB = <function> defined @Auditor2\Core.lua:466
    Enable = <function> defined @Auditor2\Core.lua:428
    UnregisterAllEvents = <function> defined @Auditor2\Libs\Dongle.lua:383
    IterateModules = <function> defined @Auditor2\Libs\Dongle.lua:316
    EnableDebug = <function> defined @Auditor2\Libs\Dongle.lua:618
    InitializeSlashCommand = <function> defined @Auditor2\Libs\Dongle.lua:1175
    DataReset = <function> defined @Auditor2\Core.lua:440
    InitializeDB = <function> defined @Auditor2\Libs\Dongle.lua:956
    UnregisterEvent = <function> defined @Auditor2\Libs\Dongle.lua:368
    IsMessageRegistered = <function> defined @Auditor2\Libs\Dongle.lua:467
    AutoRepairPlease = <function> defined @Auditor2\Core.lua:98
    auditorCN_open = false
    auditorCN_gain = 0
    auditorCN_spend = 0
    auditorCN_mode = nil
    L = <table> {
    Gained = "Gained "
    Change = "Change: "
    InsufficientFunds = "Insufficient funds are available to perform an Auto-Repair."
    GuildRepairSuccessful = "Guild Repair Successful: "
    GuildRepairFailed = "Guild repair failed - attempting to repair using personal funds."
    Reforge = " (Reforge)"
    Vendor = " (Vendor)"
    GuildTally = "Guild Repairs (All Time): "
    RepairSuccessful = "Auto-Repair Successful: "
    AH = " (AH)"
    AuctionHouse = "Auction House"
    Trainer = " (Trainer)"

  • Avatar of Veyska Veyska Oct 14, 2014 at 21:15 UTC - 0 likes

    Comment out (or delete) lines 281-302 in Auditor2\Core.lua and you're good (enough) to go for 6.0. Doesn't update it to know about newer ways of spending $, but this at least makes it work as well as it did yesterday...

    For those without go-to line #s or whatnot, search for "local guildLevel = GetGuildLevel()" and delete/comment everything between that and "historical[auditorHDay[7]][auditorMode].incomings = data[auditorMode]["day"].incomings end". Should be 22 lines in total, excluding word wrapping shenanigans.

  • Avatar of j311yf1sh j311yf1sh Feb 08, 2014 at 05:17 UTC - 0 likes

    Willing to take over this addon to give it some TLC provided alarisha is willing to hand it over.

    cheers jf

  • Avatar of redroach redroach Oct 29, 2012 at 06:41 UTC - 0 likes

    I keep thinking it, and so I'm going to ask. This is an awesome addon, I don't know how I would manage without it, it is the bomb diggity. I use the "SearchUI - Auction search interface" all the time, cause it rocks, I just keep thinking, "If only this *Saved searches* drop down list had a scroll bar." So please, if you cool cats have a moment while not maintaining the uberness of this addon, would you please add a scrolling function so that I don't have to wait for my ever growing list to get where it's going. Ever grateful, Roachtacular, aka Jason Born.

  • Avatar of narlic narlic Sep 17, 2012 at 03:15 UTC - 0 likes

    Alarisha, please come back! Auditor is wonderful, but it needs some love.

  • Avatar of deadlylifekeeper deadlylifekeeper Sep 14, 2012 at 21:42 UTC - 0 likes

    Project Dead?


Date created
May 06, 2009
Last update
Sep 11, 2015
Development stage
  • enUS
GNU General Public License version 2 (GPLv2)
Curse link
Recent files