Summary
Remaining items from the original umbrella issue after merchant management (#4), recurring improvements (#5), and transaction rules (#6) were broken out.
Merchant Logo Management
When splitting a multi-policy merchant (e.g., one insurer with auto + home + rental policies), each new merchant loses the original logo. Tools needed:
SDK (monarch/merchants.py)
set_merchant_logo(merchant_id, cloudinary_public_id) — set logo from existing cloudinary ID
upload_merchant_logo(merchant_id, image_path) — full workflow: get upload info → upload to cloudinary → set logo
GraphQL (already captured in queries.py)
GET_CLOUDINARY_UPLOAD_INFO_MUTATION — get signed params for logo upload
SET_MERCHANT_LOGO_MUTATION — set logo on merchant via cloudinary public ID
MCP tool
set_merchant_logo — set logo from existing cloudinary ID or copy from another merchant
Split-Merchant Workflow Documentation
Proven workflow for splitting merchants that handle multiple bills (e.g., insurer with auto + home + rental policies):
- Search transactions to identify distinct payment patterns (by account, amount, category)
- Create new merchants by reassigning transactions:
update_transaction(id, merchant_name="New Name")
- Create auto-categorization rules to keep future transactions mapped correctly
- Set up recurring on each new merchant:
update_merchant(id, recurring={...})
- Deactivate original merchant's recurring stream
- Copy logo from original to each new merchant
This should be documented in CONTRIBUTING.md or as a skill pattern once the dependent tools exist.
Dependencies
Previously covered here, now tracked separately
Summary
Remaining items from the original umbrella issue after merchant management (#4), recurring improvements (#5), and transaction rules (#6) were broken out.
Merchant Logo Management
When splitting a multi-policy merchant (e.g., one insurer with auto + home + rental policies), each new merchant loses the original logo. Tools needed:
SDK (
monarch/merchants.py)set_merchant_logo(merchant_id, cloudinary_public_id)— set logo from existing cloudinary IDupload_merchant_logo(merchant_id, image_path)— full workflow: get upload info → upload to cloudinary → set logoGraphQL (already captured in
queries.py)GET_CLOUDINARY_UPLOAD_INFO_MUTATION— get signed params for logo uploadSET_MERCHANT_LOGO_MUTATION— set logo on merchant via cloudinary public IDMCP tool
set_merchant_logo— set logo from existing cloudinary ID or copy from another merchantSplit-Merchant Workflow Documentation
Proven workflow for splitting merchants that handle multiple bills (e.g., insurer with auto + home + rental policies):
update_transaction(id, merchant_name="New Name")update_merchant(id, recurring={...})This should be documented in CONTRIBUTING.md or as a skill pattern once the dependent tools exist.
Dependencies
list_merchants,get_merchant,update_merchant(needed for steps 4-5)Previously covered here, now tracked separately