Merchant Sheet
A Foundry VTT module for D&D 5e that provides a custom merchant shop interface. The GM builds a shop by dragging items from compendiums, sets prices and quantities, and can show the shop to all connected players. Players can browse items and optionally purchase them directly with gold deducted automatically.
REQUIREMENTS
Foundry VTT v13 or v14
D&D 5e system v3.0 or later
socketlib module, required for broadcasting between clients
HOW TO USE
Creating a Merchant
From the Actors directory: Click the plus button in the Actors sidebar and select Merchant Sheet from the actor type list.
From the Markdown Importer: Import a markdown file with a Shop section using the Markdown Importer module. See the Markdown Importer documentation for the shop syntax.
Building a Shop
Open a merchant actor. Drag items from any compendium or the Items sidebar into the shop body. Each item appears in the list with its compendium price pre-filled. The GM can then edit the price by clicking the tag icon on any item row, edit the quantity by clicking the hashtag icon to set stock with blank meaning unlimited, refresh the icon by clicking the sync icon to re-fetch from the compendium, remove an item by clicking the X icon, rename the shop by double-clicking the shop name in the header, or change the portrait by clicking the merchant portrait image.
Showing the Shop to Players
Use the three buttons in the shop footer, visible to the GM only. Show to All opens the merchant shop on all connected player screens. Close Shop closes the shop on all player screens. Clear Shop removes all items from the shop and asks for confirmation first.
Player Experience
When the shop is open players can browse items and double-click any item to view its full compendium entry. If Allow Player Purchases is enabled a Buy button appears on each item row. Clicking it deducts the item cost in gold from the player's assigned character and adds the item to their inventory. Items the player cannot afford are greyed out. Out of stock items are greyed out and cannot be purchased. All stock changes are synced to all connected clients in real time.
SETTINGS
Open via Settings, then Module Settings, then Merchant Sheet.
Enable Quantity, default on. When on items display stock quantities, can run out of stock, and the GM has an edit quantity button per item. When off all items have unlimited stock, quantities are hidden from players, and the edit quantity button is hidden.
Sync Item View, default off. When on double-clicking an item on the GM screen opens that item on all connected player screens simultaneously. When off item viewing is local only.
Allow Player Purchases, default on. When on players see a Buy button on each item. Gold is deducted automatically from their assigned character and stock reduces by 1 per purchase. When off the shop is browse-only.
Player Fullscreen, default off. When on the merchant shop fills the entire screen for players when opened via Show to All and enables the split-screen item view where the shop shrinks to the top half and the item sheet fills the bottom. When off players get a normal draggable resizable window.
Sync Scrolling, default off. When on the GM's scroll position in the merchant body is broadcast to all connected players in real time. When off each player scrolls independently.
GM CONTROLS REFERENCE
Rename shop by double-clicking the shop name. This opens a dialog to rename the shop.
Change portrait by clicking the merchant portrait. This opens the file picker to change the merchant image.
Edit price using the tag icon on any item row. This sets the price and currency for that item.
Edit quantity using the hashtag icon on any item row. This sets the stock quantity and leaving it blank means unlimited.
Refresh icon using the sync icon on any item row. This re-fetches the item icon from the compendium.
Remove item using the X icon on any item row. This removes the item from the shop.
Show to All using the footer button. This opens the shop on all player screens.
Close Shop using the footer button. This closes the shop on all player screens.
Close Item using the footer button, only shown when Player Fullscreen is on. This closes the item panel and restores the shop to full size.
Clear Shop using the footer button. This removes all items from the shop.
PLAYER PURCHASE REQUIREMENTS
For the Buy button to be active a player must meet all three conditions. First they must have a character assigned by right-clicking their name in the bottom-left player list, clicking User Configuration, and assigning a character. Second they must have enough gold in that character's currency to cover the item price. Third Allow Player Purchases must be enabled in module settings. Currency is spent from the smallest denomination first and change is made automatically.
COMPATIBILITY
Foundry VTT v13 to v14
D&D 5e system v3.0 or later
Requires socketlib
If you find any bugs or issues please report them here - https://github.com/Reetro/Merchant-Sheet/issues