Skip to content

Merchant logo management and split-merchant workflow documentation #3

@krisrowe

Description

@krisrowe

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):

  1. Search transactions to identify distinct payment patterns (by account, amount, category)
  2. Create new merchants by reassigning transactions: update_transaction(id, merchant_name="New Name")
  3. Create auto-categorization rules to keep future transactions mapped correctly
  4. Set up recurring on each new merchant: update_merchant(id, recurring={...})
  5. Deactivate original merchant's recurring stream
  6. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions