Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Monarch Select Matches (MSM)

Monarch Select Matches is a professional-grade userscript designed to supercharge your reconciliation workflow in Monarch Money. It allows you to import a CSV of external transactions (e.g., from a receipt scanner or a specific bank statement) and systematically match them against your Monarch transaction history.

Features

  • CSV Import: Seamlessly load external transaction data (Date, Vendor, Amount, Notes).
  • Smart Matching Engine: Automatically searches, filters, and scrolls through your Monarch transaction list (infinite scroll aware) to find the best candidate based on amount and date.
  • Intelligent Autofill:
    • Existing Transactions: Opens the transaction drawer and populates Merchant and Notes fields for review.
    • New Transactions: Automatically opens the "Add Transaction" modal and fills in Date, Merchant, Amount, and Notes if no match is found.
  • Manual Override: Easily link a specific CSV entry to a transaction row manually if the auto-matcher misses it.
  • Fuzzy Logic: Configurable tolerance settings for Date (days) and Amount (percentage) differences.
  • Workflow State: Visually tracks progress with status indicators (Pending, Added, Missing, Skipped).

Installation

  1. Install a userscript manager browser extension:
  2. Create a new script in your manager.
  3. Copy the contents of index.js from this repository.
  4. Paste the code into the script editor and save.

Usage Guide

  1. Open Monarch: Navigate to the Transactions page.
  2. Locate Panel: The MSM panel will appear floating on the top-right of the interface.
  3. Import Data: Click the Upload icon (top-left of panel) and select your .csv file.
    • Supported Columns: Date, Vendor (or Merchant/Description), Amount, Notes (or Memo).
  4. Start Matching:
    • Click on a row in the panel or the primary Find Match button.
    • The script will search and scroll your list.
  5. Review:
    • Match Found: The transaction drawer opens. Review the changes and click Apply Changes -> Save.
    • No Match: The button changes to Add Transaction. Click it to open the modal with pre-filled data.
  6. Settings: Click the Gear icon to adjust matching strictness (Date Fuzz days / Amount Fuzz %).

Development

This script uses standard DOM manipulation to interact with Monarch's React-based interface. It includes robust waiting and retry logic (mutation observers) to handle the dynamic loading of the application.

License

This project is intended for personal use. Use at your own risk.

About

Enrich Monarch metadata using CSV derived information

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages