A lightweight World of Warcraft addon that tracks your incoming and outgoing gold by source across multiple time ranges (Session, Day, Week, Month, Year, Total). It provides a clear breakdown table, character summaries, and quality-of-life features.
- Addon folder:
Accountant_Classic/
- Core code:
Core/
- In-game textures:
Images/
- Documentation and screenshots:
Docs/
- Money tracking by source: Merchant, Repairs, Taxi, Trainer, Auction House, Mail, Quest, Loot, and more.
- Time windows: Session, Today, This Week, This Month, This Year, and their previous periods, plus Total.
- All Characters tab: cross-realm, cross-faction overview with sorting.
- Minimap/LDB button with configurable display.
- Zone-level breakdown (optional) for where the money was earned/spent.
- Localization support.
- The addon listens to WoW UI events to determine the current "context" (category). For example,
MERCHANT_SHOW
sets the category toMERCH
,TAXIMAP_OPENED
setsTAXI
, etc. SeeCore/Constants.lua
for the full list. - On every balance change (
PLAYER_MONEY
), it computes the delta and attributes it to the current context. SeeupdateLog()
inCore/Core.lua
. - Group/party shared loot uses
CHAT_MSG_MONEY
to parse the exact amount and force a single categorized update while preventing double counting. SeeAccountantClassic_OnShareMoney()
inCore/Core.lua
. - The UI table is rendered by
AccountantClassic_OnShow()
inCore/Core.lua
, which reads the saved totals and formats the rows/columns.
To avoid counting your initial balance as income on a fresh profile/session, a one-time baseline priming is performed the first time we observe money (via PLAYER_MONEY
or CHAT_MSG_MONEY
). This sets the session baseline and then normal logging proceeds. A one-time colored chat message confirms priming.
- Close the WoW client.
- Copy the
Accountant_Classic
folder into your WoW AddOns directory:- Retail:
_retail_/Interface/AddOns/
- Classic Era/Hardcore/SoD:
_classic_/Interface/AddOns/
- Wrath Classic / Cata Classic:
_classic_*/Interface/AddOns/
- Retail:
- Launch the game and enable the addon on the character selection screen.
- Open the main window:
- Slash command:
/accountant
or/acc
- Left-click the minimap/Databroker button
- Slash command:
- Options:
- Right-click the minimap/Databroker button, or use the Interface Options.
- Tabs at the bottom switch the time window (Session, Today, This Week, etc.).
- The header shows totals; the grid shows money In/Out by source.
The project includes both UI textures (for in-game frames/buttons) and real screenshots. For README purposes, the screenshots below are more illustrative; textures are shown separately.
These are addon art assets (BLP). Shown here for completeness.
-
Button Up
Images/AccountantClassicButton-Up.blp
-
Button Down
Images/AccountantClassicButton-Down.blp
-
Frame Left
Images/AccountantClassicFrame-Left.blp
-
Frame Right
Images/AccountantClassicFrame-Right.blp
Note: GitHub may not preview BLP files. They are referenced by the addon in-game.
- Character data is saved under
Accountant_ClassicSaveData
(per realm/character) andAccountant_ClassicZoneDB
(optional zone breakdown). - Money is summed into
In
andOut
buckets per source and per time window.
- WoW Classic/Seasonal branches and Retail (feature coverage varies by client).
- Lua 5.1 runtime, ACE3-based addon framework.
- Locales live under
Locale/
. - Contributions for language updates are welcome.
- Pull requests welcome for bug fixes, UI improvements, and localizations.
- Please do not commit third-party libraries; they live under
Libs/
.
Planned features and ideas (including tracking all in-game currencies beyond gold) are documented in the project roadmap:
- See
Docs/ROADMAP.md
for details.
- Original Author(s): Sabaki, Shadow, Rophy
- Maintainers/Updates: Arith, kamusis
- Thanks: Testers and community contributors
- See the header of
Core/Core.lua
for a historical changelog. Notable recent changes:- Priming Approach (one-time baseline) to avoid first-session skew
- Guarded
CHAT_MSG_MONEY
priming & one-time chat alert - Minor lint hardening and inline documentation