Compose a buffet or menu in a quote
Build a buffet from your own products instead of typing it: pick dishes, assign courses, set a price per guest. It appears on the document as a single item with the course structure, without per-dish prices.
To your customer a buffet or a menu is one offer at a price per guest — not a parts list. In Univents you compose it from your own products, assign the dishes to courses and set the price per guest. On the document the block appears as a single line item, laid out like a menu card.
The video shows how to create a menu as a per-guest package, have its price assembled automatically and build a buffet right in the quote.
You’ll find the individual steps written out below as well.
Creating a buffet
- Open the quote (or invoice) in the item editor. The document must still be a draft.
- Below the items, click "Buffet or menu".
- Enter a title, for example "Summer buffet". It appears in bold above the block.
- Use "Add course" to create your first course and give it a name. Suggestions include Chef's greeting, Amuse-bouche, Starter, Soup, Salad, Interlude course, 1st to 3rd course, Main course, Fresh off the grill, Side, On the tables, Cheese, Dessert and Digestif. The list is only a suggestion — just type your own name if yours is not there.
- Add your dishes in either of two ways: type into the search field below the courses if you know the name, or click “Browse catalog” next to it and work through your categories. The catalog window stays open until you click “Done” — so you can pick several dishes in a row, and each one you picked is marked “Added”. A new dish always lands in the bottom course — so create the course first, then its dishes, then the next course. Next to every dish is the quantity per guest: how much one guest gets of it, default 1.
- Enter the number of guests. If the event has a guest count on file, it is already filled in.
- Check the price per guest. Right next to it is the suggestion per guest — "Use suggestion" copies it into the input field with one click. More on that below.
- The tax rate defaults to 7 percent because a buffet is food. Change it if that differs for you.
- Below the fields you can enter an additional text — optional. It appears on the document below the list of dishes, for example “We plan for 3 starters, 2 mains and 1 dessert per guest.” You can also use placeholders like
{event_guests}in it — Univents fills in the current guest count when the document (PDF) is generated. - At the bottom you see a preview of how the block will read on the document. Save.
Showing dish descriptions: With the switch “Show dish descriptions on the document” (off by default), each dish shows its product description from the catalog underneath, slightly indented – on the document, in the PDF and in the customer portal. The description is taken fresh from the product each time you save, so a product description you change later only takes effect once you save the buffet again. A description identical to the dish name is not repeated.
Dishes without a course are perfectly fine: leave the course name empty and the block reads as a plain list on the document.
A dish that is not in your inventory (custom dish)
Not every dish is worth an item — say a “pumpkin risotto as the bride wished” that you serve exactly once. Just type its name into the search field. If Univents finds no matching product, the list offers “Add ‘Pumpkin risotto’ as a custom dish” — one click (or Enter) and the dish is in the buffet. Your inventory stays untouched.
A custom dish carries the tag custom in the dialog and behaves like any other: change its course, sort it, change its quantity per guest, remove it. On the document, in the PDF and in the customer portal it appears like any other dish, and its name stays exactly as you typed it.
Click the pencil in its row to add:
- a name and a description (the description appears when “Show dish descriptions on the document” is on),
- a unit, for example portion,
- a purchase price per guest — it counts towards the buffet’s cost of goods so the margin is right,
- its allergens and diet (vegetarian or vegan).
Allergens of custom dishes: Univents does not know a dish you typed in freely. The buffet’s allergen symbols therefore show “Allergen information incomplete” until you have recorded the allergens on the custom dish. Tick what the dish contains — if it contains none of the 14 major allergens, tick “Contains none of the 14 major allergens”. As long as nothing is ticked, the allergens count as not recorded. Your details then also appear on menu cards and buffet signs.
Adding it to your inventory after all: If you need the dish more often, open it with the pencil and choose “Add to inventory” → “As recipe” (for food, with ingredients and a production list) or “As article”. Univents creates the product with name, description, unit, purchase price, allergens and diet and links the dish to it. The dish’s allergens must be recorded for this — otherwise your inventory would hold a product that prints as allergen-free. As always, the quote is only updated when you click “Save”. If you cancel the buffet dialog afterwards, the product stays in your inventory. If your inventory already holds a product with exactly this name, the dish is linked to that product instead of creating a second one — in that case the handover does not count towards your plan’s product limit. A newly created product counts like any other.
A freely typed line item in the quote (outside the buffet) is still added to your inventory through its three-dot menu → “Add to inventory”.
Your own course names are suggested
If you type a course name of your own — "Flying buffet", "Midnight snack", "For the kids" — it appears in the suggestion list the next time you build a buffet, ahead of the built-in suggestions. So you only ever have to write it once.
- There is nothing to set up and nothing to maintain: the list comes from the buffets you save anyway. A course name you never use again simply drifts down the list.
- The courses you use most sit at the top, rare ones further down.
- Upper- and lowercase does not create a second entry. If you saved "dessert", the course appears exactly once — in your spelling.
- All built-in suggestions stay where they are; yours are added to them.
- The list belongs to your workspace. You never see course names from other businesses.
Sorting courses and dishes
The order in the dialog is the order on the document — exactly like the sections of a quote.
- Move a course: the ↑ and ↓ arrows in the course header.
- Move a dish inside its course: the ↑ and ↓ arrows in its row.
- Move a dish to another course: grab the handle on the left and drag it into the target course — or click the move icon in the row and pick the target course from the list. Both ways give the same result.
- Remove a course: the cross in the course header. Its dishes are not lost — they move into the neighbouring course (usually the one above; for the topmost course, the one below).
The preview at the bottom of the dialog always shows what the customer will see.
Replacing a dish or renaming it for this quote only
- Replace — “rice” should become “noodles”: click the replace icon in the dish’s row and pick the new dish via search or the catalogue. Course, position and quantity per guest stay the same; only product, name and unit change. Allergens then come from the new product.
- Rename or describe — “Schnitzel” should read “Veal Wiener Schnitzel with cranberries” in this quote: click the pencil and enter the name in this quote, plus your own description if you like. In your inventory the product is still called “Schnitzel”. The dish carries the tag own name in the dialog. Leave the field empty to use the inventory name again.
An own name stays even if you rename the product in your inventory later. It also appears on menu cards and buffet signs. Renaming does not change the allergens.
A course without dishes is not saved. If you create "Dessert" up front and do not assign a dish to it yet, the course is gone after saving — a course only exists through the dishes in it. Create it once you have the first dish for it.
The price suggestion
As soon as dishes are selected, Univents calculates a suggestion per guest: for every dish, its unit price times the quantity per guest, all added up. The suggestion sits in its own field next to the price per guest and updates with every change — a new dish, a different quantity, a different guest count.
- "Use suggestion" writes the value into the price field. From then on it is your price.
- Custom dishes count as €0. They have no catalogue price. The suggestion therefore only adds up the other dishes and says below the field how many custom dishes without a price are included. Factor them into your price per guest.
- While the calculation runs, saving waits a moment. As long as the price still comes from the suggestion, the save button is briefly not clickable — otherwise a price the pricing rules have not seen yet would end up in the quote. Once you have entered your own price, you can save at any time.
- Your own price is never overwritten. Once you have typed a number by hand or used the suggestion, it stays, even if you add more dishes afterwards. The suggestion next to it still keeps updating, so you can see how far you are from the catalogue value.
Pricing rules feed into the suggestion
The suggestion takes the pricing conditions of your dishes into account: quantity, guest count, season, weekday and public-holiday rules. If rules applied, their names appear below the suggestion field.
The quantity used is the actual total quantity (quantity per guest times guests), and the guest count is the number of guests from the dialog — not the one on the event. Change the guests in the dialog and the suggestion moves with it.
Important: pricing rules only affect the suggestion, never a saved buffet price afterwards. A quote you already sent will not change on its own when you adjust a pricing rule later.
Example: 10 percent surcharge below 60 guests
For "normal from 60 guests, 10 percent more below that" you do not need a special feature — it is an ordinary pricing rule on your dishes (or on their category):
- Create a pricing condition with a guest range up to 59.
- Set the change to +10 percent.
- Switch it to apply automatically.
From then on the suggestion in the buffet dialog shows the surcharge automatically at 40 guests and the normal price at 80 guests.
How the block looks on the document
The customer sees one item: the title, the dishes below it grouped by course, with a separator line between courses. Course headings are in capitals, every dish starts with a dash.
Summer buffet 25 guests 32.50 € 812.50 € STARTER – Vitello Tonnato – Bruschetta *** MAIN COURSE – Roast beef with red wine jus – Potato gratin We plan for 3 starters, 2 mains and 1 dessert per guest.
If you entered an additional text, it appears below the last dish, separated by a blank line. Without one, the block ends with the last dish. If the additional text contains a placeholder like {event_guests}, Univents fills in the event's matching value when the document (PDF) is generated — just like in a layout's free text.
The quantity column holds the number of guests, the unit price is the price per guest, and the total is the two multiplied. Per-dish prices and quantities are deliberately not shown — that is exactly what separates a buffet from an itemised order.
If you assigned no course at all, headings and separators are omitted and the block is a plain list.
Changing a buffet later
Open the three-dot menu at the right end of the row and choose "Edit buffet". The dialog reopens with your composition: add or remove dishes, change quantities and courses, adjust guests or price. After saving, the description, the total and the cost of goods are all up to date again.
This also works on the invoice you created from the quote — the composition travels with it.
Other open documents come along. If the same buffet sits in several documents of one event through the item transfer — in the quote and in the delivery note, for instance — a change applies in all open drafts: dishes and courses, the description, the guest count and the cost of goods are written along. Univents carries the price per guest over only as long as it has not been negotiated separately in the other document. Sent and accepted documents stay unchanged — they keep the state the customer has in their inbox.
Why can't I type the description directly? The description of a buffet block is generated from its composition and rebuilt on every save. Text typed in by hand would be gone the next time you edit the buffet. That is why the field is locked and points to "Edit buffet". For your own sentences use the additional text in that dialog — it survives every edit.
Reusing a buffet as a template
If you need a buffet again and again, save it together with the items: click “Save as item template” below the items and give it a name, for example “Summer buffet 2027”. The template captures what currently sits in the document — the buffet with title, courses, dishes, quantity per guest, guests, price and additional text.
In another document you bring it back with “Add from template”. The buffet then sits in the document as a block — and its dishes also reach the event’s bookings — production list, function sheet and material planning (see below, in the section “The dishes in the kitchen and in purchasing”) — in the quantity you actually need: quantity per guest times the number of guests.
Splitting into individual items
If the customer does want the breakdown after all, choose "Split into individual items" in the same menu. Every dish becomes its own item in the buffet's place, with its current price, category and purchase price from the catalogue. The quantity per guest stays the quantity and the guest count stays the second factor, so the maths remains correct.
The buffet block disappears in the process and the document total changes: instead of your negotiated price per guest, catalogue prices now apply. Univents therefore asks first. This cannot be undone — you would have to compose the buffet again.
If a product has since been deleted from your catalogue, it becomes a free-text item with the stored name and no price. Splitting never fails because of that. The same applies to custom dishes: they become free-text items without a price, and their purchase price is kept. A dish with an own name keeps it as an individual item, too.
Cost of goods and margin
The purchase cost of the block is derived from the purchase prices of the selected dishes, each multiplied by its quantity per guest. It appears in the financial reports and in the event controlling like any other item — there is nothing to enter afterwards.
Differing tax rates
If the selected dishes carry different tax rates — typically because a drink is among them — the dialog says so. The rate you set above then applies to the entire block. Our recommendation: put drinks on the document as their own item, so the tax is right on both lines.
The dishes in the kitchen and in purchasing
As soon as the document has been carried over into the event's bookings, every dish appears there as its own row underneath the buffet, with the quantity you actually need: quantity per guest times the number of guests. So "0.2 kg of potato salad per guest" for 25 guests becomes 5 kg.
From there everything works as it does for any other product:
- Production list and function sheet list the individual dishes, not just the buffet title.
- Material planning includes the dishes in its requirements.
- Supplier orders order them from the supplier on file.
Those dish rows carry no price of their own — the customer pays the price per guest for the whole buffet, and charging every dish again would be wrong. The purchase price does travel with them, so margin and material planning stay correct.
Custom dishes appear in the kitchen as a text row with name and quantity — on the function sheet and in the kitchen view, and in the material list under “without stock item”. They are never ordered and never booked out of stock, because Univents knows no item and no supplier for them.
If you edit the buffet later, the kitchen rows follow automatically. If you split it into individual items, they disappear and the new items bring their own.
A dish is missing in the kitchen? Then its product has since been deleted from your catalogue. It still appears on the document under the name it had at the time, but the kitchen cannot plan a deleted product. Create it again and re-add the dish in the dialog.
What this version cannot do yet
- The buffet is one item on the document. Revenue reports count it as a single item, not as the individual dishes inside it — so there is no "revenue per dish" for buffets.
- Existing items cannot be grouped into a buffet afterwards. Compose the block anew and delete the individual items.
- Custom dishes have no selling price of their own. They count as €0 in the price suggestion; you set the price per guest yourself.
- A buffet cannot be saved as a product in your inventory. You can reuse it through an item template (see above, “Reusing a buffet as a template”); for buffets that should be priced like a package, keep creating a product.