agentleFS
norman-financenorman-finance/norman-mcp-server/skills/manage-vendors/SKILL.md

manage-vendors

Skill65 starsChanged 13 days agoMITView on GitHub

Manage vendors (suppliers, Lieferanten, Kreditoren) - list, create, update, find duplicates and merge them. Use when the user mentions vendors, suppliers, Lieferanten, Kreditor numbers or duplicate vendors.

The file

We split this skill into the rules it gives an agent

7 rules. About 0 are common, 1 is distinctive, and 6 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 6

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Call list_vendors to show the vendors.

    line 17
  2. Very specific:

    Call create_vendor or update_vendor with only the fields the user gave

    line 18
  3. Very specific:

    If such a vendor is wrong, set the right vendor on the booking with update_transaction.

    line 24
  4. Distinctive:

    If such a vendor is a second spelling of an existing vendor, merge it

    line 25
  5. Very specific:

    If the user says a row holds different companies, call mark_vendors_not_duplicates.

    line 32
  6. Very specific:

    Ask which vendor to keep before you call merge_vendors.

    line 35
  7. Very specific:

    If the answer lists keptNumbers, tell the user: these bookings stay on the old Kreditor number, because the tax advisor already has them

    line 39

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Help the user keep one vendor per supplier:

Listing and editing

  • Call list_vendors to show the vendors. Present a table: Name, Kreditor number, IBAN, Documents
  • Call create_vendor or update_vendor with only the fields the user gave
  • A vendor with bookings or bills cannot be deleted. Offer to merge it into another vendor instead

Vendors from documents

  • For a company that keeps a ledger (every GmbH and UG, and a sole trader who moved to the ledger), Norman gives every expense document a vendor. It looks for the seller among the vendors by VAT number, IBAN and name. If none fits, it creates a vendor with the name, VAT number, IBAN and country of the document
  • fromDocument is true for a vendor that Norman made this way and the user has not edited since
  • If such a vendor is wrong, set the right vendor on the booking with update_transaction. When its last booking has moved, Norman removes the vendor and its Kreditor number is free again
  • If such a vendor is a second spelling of an existing vendor, merge it

Finding duplicates

  • Call list_vendor_duplicates
  • groups are own vendors that share a VAT number, an IBAN or a name. Show each group with its names and Kreditor numbers
  • suggestions are own vendors that look like a suggested brand
  • Each vendor carries its VAT number, IBAN, country, bookings and documents. Show them, so the user can judge
  • If the user says a row holds different companies, call mark_vendors_not_duplicates. The row does not come back

Merging

  • Ask which vendor to keep before you call merge_vendors. A merge cannot be undone. Propose the vendor with the most bookings
  • The kept vendor keeps its own name, VAT number and bank details. It takes the bookings, bills and rules of the others, and their names as aliases
  • The merged vendors leave the list. Their Kreditor numbers are free for new vendors again
  • Finalized bookings and bookings in a closed year never move. If skipped is above 0, tell the user: that many bookings were skipped, and their vendor stays in the list with them
  • If the answer lists keptNumbers, tell the user: these bookings stay on the old Kreditor number, because the tax advisor already has them
  • For a suggestions row call merge_vendor_with_suggestion: the vendor takes the brand's logo and keeps all its own data

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.