Rosewater & Rust
Demo Owner ยท Admin Scan Checkout Help Add Item

Help Wiki

Documentation and guides for managing your vintage shop inventory

Last updated: October 03, 2026

Quick Start

Get up and running with the essentials in minutes.

Open the store for the day

  1. Open Dashboard to review low-stock alerts, recent activity, and how many items are in stock.
  2. Use Inventory to search for items you expect to sell today and confirm their prices and quantities look right.
  3. If you sell online, open Settings and confirm Square says it is configured before sending buyers to checkout.

Add a new item from scratch

  1. Click Add Item in the top bar.
  2. Fill in the name, category, price, quantity, and at least one clear photo.
  3. Save the item, then open the item detail page to mark it for storefront display if you want it online.

Create a listing from photos with AI

  1. Open AI Generate and upload one or more photos.
  2. Review the suggested name, description, price range, and tags before creating the item.
  3. After it saves, make any final edits on the item detail page.

Sell something in person

  1. Search for the item from the top bar or Inventory page.
  2. Open the item detail page and use Mark Sold.
  3. If only part of the quantity sold, enter the amount that left the store so the remaining stock stays correct.

Put items online

  1. Turn on the storefront in Settings and make sure Square is connected.
  2. For each item, keep quantity above zero and turn on storefront visibility.
  3. Open the storefront to confirm the item looks good to shoppers before sharing the link.

Ship a paid online order

  1. Open Shipping after a Square order is paid.
  2. Copy the buyer address, open the USPS label link, and create the label in your shipping tool.
  3. Save the carrier and tracking number so the sold item and shipping queue stay in sync.

Review a return request

  1. Open Dashboard or Returns to see new customer return requests.
  2. Search by Square order number, customer name, or item details if you need to find a specific request.
  3. Update the request status and add internal notes after you decide how to handle it.

Import many items at once

  1. Prepare a CSV using the same columns the app exports.
  2. Go to Import CSV and upload the file.
  3. Read the success message carefully so you know how many rows imported, skipped, or had problems.

Guides

In-depth guides for common tasks and workflows.

Dashboard

Daily use

The dashboard is your home base. It shows what is in stock, what has sold, what needs attention, and what changed recently.

Steps

  1. Look at the main totals first: total items, items in stock, sold count, and inventory value.
  2. Check the low-stock area to see what may need restocking or a quantity review.
  3. Use recent items and recent transactions to confirm the app reflects what happened in the store.

Examples

Morning check-in

Open Dashboard before the shop opens. If low-stock shows three items, click into Inventory and decide whether you need to restock, reorder, or mark something sold out.

After a busy day

Use recent transactions to confirm sales and restocks were recorded correctly. A quick scan catches mistakes before they pile up.

Pro Tips
  • If something looks off on the dashboard, open the item detail page rather than guessing. The transaction history usually explains it.
  • Treat the dashboard as a health check, not just a summary page.

Inventory List, Search, and Bulk Actions

Daily use

Inventory is where you browse the full catalog, filter by category or status, and update many items at once.

Steps

  1. Use the search bar to find items by name, SKU, description, or brand.
  2. Use the category, tag, status, and sort controls to narrow the list.
  3. Select multiple rows when you need to mark many items sold, on hold, in stock, or hidden from the storefront.

Examples

Finding every lamp

Search for lamp, then sort by newest if you want to review recent arrivals first.

Hiding old online inventory

Filter to the items you do not want online, select them, and use the bulk action to hide them from storefront display.

Pro Tips
  • Bulk actions are best when you are confident the selected items all need the same change.
  • If you only need to update one item, open its detail page instead. It gives you more context.

Adding and Editing Items

Core workflow

Each item record stores what the item is, how much it costs, where it came from, where it is, and whether customers can buy it online.

Steps

  1. Click Add Item to start a new listing.
  2. Enter the item name, category, price, quantity, and condition first. Those are the fields most people need every day.
  3. Add photos whenever possible. Good photos help staff identify the item and help online shoppers trust it.
  4. Edit an item whenever price, quantity, status, or display settings change.

Examples

One-of-a-kind vintage jacket

Set quantity to 1, choose Clothing, add size details to the description, upload photos, and turn on storefront visibility if you want it online.

A box of six matching mugs

Create one item with quantity 6 instead of six separate items, unless each mug needs its own SKU or photos.

Pro Tips
  • If you leave the SKU blank, the app generates one for you.
  • Use notes for information staff needs later, such as damage, restoration plans, or how you priced the piece.

Item Detail Page

Core workflow

The item detail page is the control center for one item. This is where you check history, mark items sold, restock, duplicate, and control storefront visibility.

Steps

  1. Open the item from Inventory search or from the dashboard.
  2. Review the photos, tags, pricing, quantity, and transaction history before making changes.
  3. Use the quick action buttons to mark sold, restock, duplicate, list on the storefront, or start an online checkout link.

Examples

Partial sale

If you had quantity 4 and sold 1 in person, use Mark Sold with quantity 1. The item stays in stock with quantity 3.

Duplicate similar pieces

If you bought two nearly identical chairs, duplicate the first item and adjust the second listing instead of typing everything again.

Pro Tips
  • The transaction list is your best record of what changed and when.
  • Use Duplicate when items are similar, but do not forget to adjust photos or condition notes if they differ.

Categories, Tags, and Suppliers

Organization

These three areas keep the catalog tidy and searchable.

Steps

  1. Use Categories for the main type of item, such as Books, Decor, or Jewelry.
  2. Use Tags for flexible labels like Rare, Sale, Featured, Fragile, or New Arrival.
  3. Use Suppliers when you want to track where inventory came from.

Examples

Category vs tag

A lamp belongs in Decor or Lighting as a category, but could also carry tags like Mid-Century, Featured, or Local Pickup.

Supplier tracking

If one vendor keeps bringing profitable items, supplier records help you see that pattern later.

Pro Tips
  • Keep categories broad and tags specific.
  • Avoid near-duplicate tags (Rare vs rare-item) unless they truly mean different things.

Labels and Printing

In-store workflow

The labels area creates printable price tags, shelf labels, and batch lists for the sales floor or back room.

Steps

  1. Open Labels when you need something printable for one item, one category, or a group of items.
  2. Use a price tag for an individual piece, shelf labels for a category area, and batch print when preparing many items together.
  3. Download the file if your browser opens it instead of printing it automatically.

Examples

Pricing a new display table

Select several new arrivals and generate a batch list so staff can cross-check names, prices, and SKUs while tagging the floor.

Shelf refresh

Print a shelf label after renaming or reorganizing a section so the floor presentation stays clear.

Pro Tips
  • If labels look wrong, first check the item record. The print layout reflects the saved data exactly.
  • Batch printing is useful when prepping events, pop-ups, or a new floor set.

Shipping Queue and Tracking

Online sales

Paid Square storefront orders flow into the shipping queue so the seller has one place to see the order number, buyer details, shipping address, USPS shortcut, and tracking number.

Steps

  1. Turn on shipping address collection in the Square settings section before you start selling shippable items.
  2. Open Shipping to review new Square-paid orders that still need a label or tracking number.
  3. Use the USPS label button, then save the carrier and tracking number back into the shipment record when the label is created.
  4. Use the Email Tracking button if you want to open a prefilled email to the buyer from your computer.

Examples

One paid lamp order

A buyer pays through Square. The order appears in Shipping, you copy the address, create the USPS label, paste the tracking number, and mark the shipment as shipped.

Missing address

If a shipment record says Waiting for Address, contact the buyer before buying a label, or fill in the address manually if you already have it from another message.

Pro Tips
  • The shipping queue is designed to keep label work and tracking tied to the sold item instead of burying it in notes.
  • You can still fulfill the order in Square or another shipping tool, then record the tracking number here for your own workflow.

Reports

Manager view

Reports help you understand value, profit potential, category mix, and recent stock movement.

Steps

  1. Open Reports when you want a bigger-picture view instead of looking at single items.
  2. Review category totals to understand where your inventory value is sitting.
  3. Check sales summary and transactions to compare selling activity with what is still in stock.

Examples

Planning a sale

If one category is holding a lot of value but not moving, reports can help you decide what to discount or promote.

Deciding what to source more of

If one category repeatedly sells through while others sit, that is a clue for future buying.

Pro Tips
  • Reports are only as accurate as the data going into the app, so sold items and quantity changes need to be recorded consistently.

Returns and Refund Requests

Online sales

The storefront includes a buyer return request page. Customers enter their Square order number, contact information, and reason for the request. Sellers review everything from the Dashboard or the Returns page.

Steps

  1. Send buyers to the storefront return page when they need help after an online order.
  2. Ask them to use the Square order number from their receipt or confirmation email.
  3. Open the Returns page in the admin area to review the request, update the status, and keep internal notes about what happened next.

Examples

Damaged delivery

If a buyer says an item arrived damaged, have them submit the return form with the Square order number and a short description so the seller has one organized record to work from.

Changed their mind

If the policy allows it, the buyer can still file a return request and the seller can mark it approved, denied, or resolved after reviewing the situation.

Pro Tips
  • The return request page is a request intake form, not an automatic refund. The seller still decides the outcome.
  • If the Square order number matches a recorded sale, the app links the request back to the item for faster review.
  • If you prefer to finish the refund inside Square itself, the admin Returns page supports that workflow too.

Storefront and Online Selling

Online sales

The storefront is the public-facing shopping page. It only shows items that are in stock, have quantity left, and are allowed on the storefront.

Steps

  1. Turn on the storefront in Settings before sharing it publicly.
  2. For each item, keep quantity above zero and make sure storefront visibility is turned on.
  3. Use the storefront preview or open the live storefront to check photos, titles, prices, and links before sending shoppers there.
  4. Add your website, eBay, Etsy, and policy links in Settings so buyers can trust the shop and find your other channels.

Examples

An item sold in person

When quantity hits zero, the item automatically stops behaving like an available storefront item.

Online-only item

Leave it in stock, turn on storefront visibility, and confirm the product page looks right from a customer point of view.

Pro Tips
  • The public storefront is for shoppers. The admin login stays at the bottom on purpose so the page feels like a store, not a back office.
  • If checkout is unavailable, the storefront still works as a catalog until Square is connected.

About, FAQ, Contact, and Policy Pages

Online sales

The storefront includes built-in public pages that make the shop feel complete and trustworthy even if you do not have a separate website builder.

Steps

  1. Open Settings and fill in the storefront tagline, announcement, about text, contact details, FAQ answers, and policy text.
  2. Use the storefront header or footer to open the About, FAQ, Contact, and policy pages as a customer would see them.
  3. If you already have legal pages elsewhere, paste those URLs into Settings. Otherwise, the app can show the built-in policy pages instead.

Examples

Quick launch without a separate website

Launch the storefront with a polished About page, contact details, FAQ, and built-in policy pages even if you do not have a full website yet.

Using your own legal pages

If you later publish privacy or return policies on your main website, add those URLs in Settings and the storefront links will point there instead.

Pro Tips
  • Short, clear answers usually work better than long formal text on FAQ pages.
  • Policy links matter for buyer confidence, especially when you are taking payments online.

Square Checkout

Online sales

Square powers the live checkout links. Connect it once in Settings, then buyers can purchase from storefront items.

Steps

  1. Open Settings and enter your Square application details, access token, location ID, and environment.
  2. Turn on shipping address collection in Square settings if you plan to mail orders.
  3. Use Test Connection to confirm the app can talk to Square.
  4. Once connected, storefront and item pages can send buyers into a Square checkout flow.
  5. After Square reports a completed payment, the app updates inventory for that item.

Examples

Testing before launch

Use the Square sandbox first if you want to practice the flow without charging a real customer.

Online checkout from one item

Open the item detail page and use Sell Online, or let a buyer click Buy Now from the storefront.

Pro Tips
  • If checkout links fail, the problem is usually missing Square credentials, an inactive location, or using the wrong environment.
  • Shipping labels are not created by this app. The quickest workflow is to let Square collect the shipping address, then fulfill the shipment from Square or your shipping tool of choice.

AI Listing Generator

Faster entry

AI Generate turns photos into a draft listing. It is a helper, not a final authority, so always review before saving.

Steps

  1. Connect an AI provider and model in Settings first.
  2. Upload one or more clear photos in AI Generate.
  3. Read the suggested title, category, condition, tags, and price range carefully.
  4. Create the item only after the draft looks believable for your store.

Examples

Hard-to-describe decor piece

AI can save time by proposing a name, style era, and materials when you are not sure how to phrase the listing.

Book pricing

For books, the item page shows a search link you can open to compare prices on a used-book site before you settle on a number.

Pro Tips
  • Clear photos usually matter more than long prompts.
  • Treat AI suggestions like a draft from a helpful assistant, not a final expert verdict.

CSV Import and Export

Setup and maintenance

CSV export lets you back up or review your inventory in spreadsheet form. CSV import helps when you already have data somewhere else.

Steps

  1. Use Export CSV when you want a spreadsheet of your current inventory.
  2. Use the exported file as the safest starting template if you plan to import later.
  3. When importing, keep column names consistent and review the app's success message afterward.

Examples

Moving from another spreadsheet

Export a sample from the app first, then line up your old spreadsheet columns to match it before importing.

Periodic backup

Export CSV at the end of each week or month for a simple off-app record of inventory.

Pro Tips
  • If a row has a SKU that already exists, the app may skip it rather than overwrite it.
  • Import smaller test files first when you are unsure about formatting.

Settings and Customization

Setup

Settings is where you configure store identity, AI, Square, storefront links, storefront look, and admin security.

Steps

  1. Start with store name, SKU prefix, defaults, and currency symbol.
  2. If you sell online, add your storefront links and buyer policy links so the public page feels complete.
  3. Use Storefront Style Studio to change the look without touching your inventory data.
  4. Use the admin security area to change how long your login is remembered and rotate the password if needed.

Examples

Opening a new online channel

Add the new eBay or Etsy link in Settings once, and it appears on the storefront footer and header automatically.

Changing the store vibe

Switch themes in Storefront Style Studio and preview before saving. This changes presentation, not item data.

Pro Tips
  • Settings changes affect the whole app, so review them calmly before saving.
  • Use real policy pages if you are taking online orders. They help shoppers trust the shop.
  • The storefront content fields also control the About, FAQ, Contact, and built-in policy pages.

Admin Login, Passwords, and Access

Setup

The storefront is public, but the rest of the app is meant for staff. Admin access uses a password and remembers your login for a configurable number of days.

Steps

  1. On first setup, create the admin password from the setup screen.
  2. Use Login to reach the back-office side of the app later.
  3. Use the Admin Access area in Settings to change how long the session lasts and rotate the password.

Examples

Shared staff computer

Use a shorter remembered session if multiple people share the same machine and you want more frequent sign-ins.

Dedicated office computer

A longer remembered session can be more convenient if the machine stays in a secure staff-only area.

Pro Tips
  • If someone only needs to shop, give them the storefront link, not the admin login.
  • A strong admin password protects pricing, sales history, and settings.

Advanced Tools and Automation

Optional

Most people can ignore this section, but the app also includes a few advanced tools for automation and outside integrations.

Steps

  1. The top search bar uses the internal search API to quickly jump to items from anywhere in the admin.
  2. The app can accept Telegram-based intake for advanced workflows where a bot sends photos to the system.
  3. Helper API endpoints exist for SKU generation, model loading, and search that support the interface.

Examples

Remote intake

A technically configured Telegram workflow could send item photos into the app before staff finish the listing later.

Pro Tips
  • If this sounds too technical, skip it. The app works fine without these advanced features.

Troubleshooting

Solutions to common problems and issues.

I cannot log in to the admin side

Troubleshooting

The login page keeps rejecting the password, you get sent back to the login screen after signing in, or someone else set up the system and you do not know the password.

Solution

  1. Confirm you are using the admin password, not a Square, OpenAI, or Etsy password.
  2. If the app was configured with an environment password on the server, changing the password in Settings may not apply until the server setting is updated too.
  3. Check that your browser is not blocking cookies. Without cookies the session will not stay signed in.
  4. Clear your browser cache and try again in a private window to rule out an old session.
Additional Info
  • The admin side depends on the session cookie. If cookies are disabled or constantly cleared, login will not persist.
  • If the server uses ADMIN_PASSWORD or ADMIN_PASSWORD_HASH, that environment value overrides the database-stored password.

An item is missing from the storefront

Troubleshooting

You can find the item in Inventory but not on the public storefront.

Solution

  1. Make sure Storefront is enabled in Settings.
  2. Open the item and confirm storefront visibility is turned on.
  3. Check that quantity is greater than zero and status is not Sold.
  4. Refresh the public storefront page once the fix is in place โ€” your browser may still be showing a cached copy.
Additional Info
  • The storefront filters out sold items, items with zero quantity, and items where storefront visibility is off.
  • If the storefront was just enabled or settings changed, refresh the page and test the public URL directly.

Checkout says unavailable or Buy Now does not work

Troubleshooting

The storefront shows checkout unavailable, or Square link creation fails from the item page.

Solution

  1. Verify your Square access token and location ID are filled in under Settings.
  2. Use Test Connection in Settings and make sure it succeeds.
  3. Make sure the item has a selling price above zero and is in stock.
  4. Confirm you are not mixing Square sandbox credentials with a production location, or vice versa.
Additional Info
  • A mismatch between Square sandbox and production is the most common cause.
  • Webhooks are separate from checkout creation. A checkout link can open even if sale-sync webhooks are not set up correctly.

Photos are not uploading or look wrong

Troubleshooting

The item saves without a photo, a photo looks stretched, or the wrong photo shows first.

Solution

  1. Use common image formats like JPG, PNG, WEBP, or GIF.
  2. Try a smaller file if the upload feels unusually slow.
  3. If you replaced a photo, refresh the page in case the browser is still showing a cached version.
  4. Reorder photos on the item detail page if a secondary photo is showing as the main image.
Additional Info
  • The app stores a main photo and optional extra photos. The first saved photo becomes the primary display image.
  • Very large files can be rejected by the app size limit or by the hosting platform before they reach Flask.

AI Generate is not working or gives weak results

Troubleshooting

The page says AI is not configured, or the results are vague, incorrect, or missing fields.

Solution

  1. Confirm provider, API key, and model are saved in Settings.
  2. Use clear, well-lit photos that show the whole item and any important details.
  3. Try a simpler custom prompt if you added a long or confusing one.
  4. Reload the model list in Settings if no models appear in the dropdown.
Additional Info
  • Model loading depends on the selected provider. If models do not appear, the provider setting or API configuration may be wrong.
  • AI output comes from an external service, so outages, rate limits, or invalid keys can break the flow.

CSV import skipped rows or failed

Troubleshooting

The import says some rows were skipped, or names and prices did not come in correctly.

Solution

  1. Make sure the CSV uses the same column headers as the app export.
  2. Check that numbers are plain numbers, not values with extra symbols or notes in the same cell.
  3. Import a few sample rows first before importing a large file.
  4. Rename duplicate SKUs before importing if you want every row to come in.
Additional Info
  • Rows can be skipped when required fields are missing or when a SKU already exists.
  • Import errors are often caused by number parsing, status names that do not match, or spreadsheet formatting changes.

Search is not finding the item I expect

Troubleshooting

Global search finds nothing even though the item exists.

Solution

  1. Try searching part of the name, SKU, or brand rather than a very long phrase.
  2. Open Inventory and use filters if the global search results feel too limited.
  3. Check that the item is not archived or hidden by a current status filter.
Additional Info
  • The quick global search only looks at a smaller subset of fields and returns a limited number of results for speed.
  • Inventory page filtering is broader and better for careful browsing.

Labels will not print correctly

Troubleshooting

The label downloads but prints at the wrong size, or some details on the label are wrong.

Solution

  1. Check the item price, name, and SKU on the item page first.
  2. Try opening the label file directly before printing.
  3. Make sure the printer is using the expected paper or label size.
  4. In the print dialog, set scaling to 100% (not Fit to Page) so the layout stays accurate.
Additional Info
  • The label generator uses the saved item data directly. Incorrect label content usually means the source record needs to be fixed.
  • Print scaling in the browser or OS print dialog can distort the output even when the file itself is correct.

The site works locally but acts strange online

Troubleshooting

Login does not persist on the live site, or links use the wrong protocol and secure features do not behave correctly.

Solution

  1. Confirm the live server has a real SECRET_KEY set.
  2. If the app is behind a proxy or platform router, make sure proxy trust and HTTPS settings are correct.
  3. Use the production web server setup rather than the Flask debug server.
  4. Check that cookies are being issued with the Secure flag when served over HTTPS.
Additional Info
  • Session behavior depends on cookies, HTTPS, and proxy headers being correct.
  • Wrong proxy or HTTPS configuration can break secure cookies, redirect behavior, and callback URLs.

About, FAQ, Contact, or policy pages look empty or wrong

Troubleshooting

A footer link opens a page with missing text, or the wrong policy link opens and a page looks unfinished.

Solution

  1. Open Settings and make sure the related storefront content fields are filled in.
  2. If you added an external policy URL, confirm it is correct and starts with the right website address.
  3. If you want to use the built-in policy pages, leave the external policy URL blank and fill in the built-in policy text area instead.
Additional Info
  • Policy links use external URLs when present and fall back to internal policy routes when the URL field is blank.
  • Empty content fields do not break the page, but they can leave a page looking sparse until the settings are filled in.

A customer says they submitted a return, but you cannot find it

Troubleshooting

The buyer says they filled out the return form, but nothing is visible on the dashboard โ€” or you can see the request, but it is not matched to an item or Square payment.

Solution

  1. Open the Returns page and search by the Square order number, customer name, or email address.
  2. Confirm the buyer used the same order number shown in the Square receipt or confirmation email.
  3. If the request exists but is not matched to an item, review the order number against the activity log because matching only works when the Square sale was already synced into the app.
Additional Info
  • Return requests are stored in the app database as their own records, separate from inventory transactions.
  • Automatic item matching depends on the return form order number matching the Square order or payment id saved in the sale transaction notes.

A paid Square order is not showing a usable shipping address

Troubleshooting

The shipping queue shows Waiting for Address after a buyer paid online, or the shipment record has blank or incomplete address fields.

Solution

  1. Open Settings and make sure shipping address collection is turned on in the Square section.
  2. Confirm the order was placed after that setting was enabled, not before.
  3. If you received the address some other way, fill it into the shipment record manually so you can keep the tracking and sold item connected.
Additional Info
  • Shipment records are created from completed Square payments and the related Square order data.
  • If Square does not return a shipment recipient address for that order, the app keeps the shipment record but marks it as Waiting for Address.

Glossary

Definitions of common terms used throughout the application.

SKU

A short unique code used to identify one item or one version of an item.

Category

A broad bucket such as Clothing, Decor, Books, or Furniture.

Tag

A flexible label like Rare, New Arrival, or Fragile that helps search and filtering.

Supplier

The person or business the item came from.

Storefront

The public shopping page your customers can open online.

Quantity

How many of that item you currently have available.

Low stock

An alert shown when quantity is at or below the warning level.

Transaction

A stock movement such as stocked in, sold, returned, or adjusted.

Listed

The item is visible on the public storefront and available to shoppers.

On hold

Reserved for a specific customer; not sold yet but not available to others.

Square order

A payment record created when a buyer checks out through Square.

Shipment

A record that tracks the address, carrier, and tracking number for a paid order.