Deals in Mapaprop — Complete Guide
PART 1 — User Manual
1. What are Deals?
A deal is the record of a commercial transaction on a property: a reservation, a sale, a rental, an exchange, or a fall-through. It is the "what happened, when, with whom and at what price" of each movement of the property.
A concrete example
Your agent María takes a reservation on an apartment for USD 130,000 with a USD 5,000 deposit. A week later, the buyer signs the purchase agreement and the sale closes for USD 128,000 (they negotiated USD 2,000 off). Mapaprop stores a single deal that went through two states: first
Reserved, thenSold. That deal is recorded with: listing price (USD 139,000), buyer's offer (USD 130,000), deposit (USD 5,000), closing price (USD 128,000), buyer, owner, responsible agent, branch, dates. All of that feeds your management reports and your commercial history.
2. What is it good for?
Basic mode only changes the property's state: reserved, sold, rented. Deals expand that gesture: the same action now leaves a complete record of the transaction —with whom, at what price, with what commission and on what date—. With that you can:
| Business need | How Deals helps you |
|---|---|
| Know how much each agent billed | The By billing tab of the ranking in Statistics, which sorts by what each one contributed — or the Deals listing filtered by agent |
| Measure your negotiation gap | Negotiation Gap report — how much you give up between listing and closing |
| Calculate commissions per deal | Each deal stores its commission as a fixed amount or % |
| See a property's complete history | "Deals" panel on each property's record |
| Identify your best branches | Deals Statistics, with the branch selector and the By branch and By billing tabs of the ranking |
| Compare your franchise network (BusinessManager) | Any of the screens in network scope, with drill-down to each office |
| Have a complete commercial audit trail | Nothing is physically deleted. If the admin deletes a deal, it records who, when and why |
3. How a deal is composed
Each deal has 4 pieces of information:
3.1 State
Indicates where in the cycle the deal is. It can only be one of these:
| State | Meaning | Color |
|---|---|---|
| Reserved | Open deal, under negotiation | Amber |
| Sold | Closed as a sale | Green |
| Rented | Closed as a traditional rental | Green |
| Seasonal rental | Closed as a seasonal rental | Green (same as rented) |
| Exchanged | Closed as a property exchange | Green |
| Fell through | The deal fell through without going through | Red |
⚠️ A closed deal (Sold / Rented / etc.) CANNOT be reverted. If the deal later falls through, you have to create a new deal with the
Fell throughstate. The closed one remains as history.
3.2 Type
Indicates what type of transaction it is. It is automatically derived from the operation type the property is loaded with (Sale, Rental, Seasonal, Exchange).
3.3 Financial data
| Field | When it is filled in | What for |
|---|---|---|
| Listing price | Automatically copied from the property when the deal is created | Compare with the actual closing |
| Reservation offer | The buyer made this offer when reserving | Initial negotiation |
| Reservation amount (deposit) | If there was a deposit, how much was paid | Advance cash |
| Closing price | What was finally signed | Real income, basis for commission |
| Commission ⚠️ | Fixed amount or percentage over closing — mandatory on closing (Sold / Rented). On rental and seasonal rental only Fixed amount is shown (see note below) | The agency's income, basis for closed-deal reports |
3.4 Participants
- Seller / Owner: who owned the property (from your contact list).
- Buyer / Tenant: who did the deal (from your contact list).
- Buyer's Origin: where that buyer came from — a portal, a sign, a colleague, your website, a referral. It is chosen from a list at closing and is optional.
- Responsible agent: the Mapaprop user who opened the deal.
- Branch: the branch the deal belongs to (inherited from the property).
4. Two modes to record a deal: Basic and Business
When you close a deal from a property's record, the "Close Deal" window opens. There you can choose between 2 ways to record it:
4.1 Basic mode
- What does it do? It only changes the property's state (Reserved / Sold / Rented / Suspended) and optionally records a closing price.
- What does it NOT do? It does not store contacts, commission, or detailed history. It does not generate a trackable deal in the reports.
- Who uses it? Small agencies that only need to mark the state of their properties without worrying about management reports.
- Required plan: any (Free, Plus, Pro+, Business).
4.2 Business mode (recommended)
- What does it do? It creates a complete deal with all the data: contacts, offer, deposit, closing, commission, comments. It then appears in all the reports.
- Required plan: Business or Business Manager (plans 56 and 57).
4.3 Comparison table
| Feature | Basic | Business |
|---|---|---|
| Changes property state | ✅ | ✅ |
| Stores closing price | ✅ (optional) | ✅ (mandatory on closings) |
| Stores contacts | ❌ | ✅ |
| Stores deposit | ❌ | ✅ |
| Stores commission | ❌ | ✅ |
| Appears in reports | ❌ | ✅ |
| Contributes to the gap | ❌ | ✅ |
| Plan | Any | Business |
💡 Recommendation: if you have the Business plan, always use Business mode. It is the only way to take advantage of the management reports.
4.4 Decision by plan
| Your plan | What happens when you open the modal |
|---|---|
| Free / Plus / Pro+ | It shows you the 2 modes. If you choose Business mode → upgrade window to the Business plan |
| Business / BusinessManager | Goes straight into Business mode (it does not show the selector) |
5. How to record a deal step by step
5.1 Create a reservation
- Go to the property's record → "Close Deal" button.
- The window opens. Choose "Reserved" among the state options.
- If you have Business, you go to the step-by-step wizard:
- State: you already chose Reserved.
- Operation type (appears only when reserving on your own properties): you choose how the deal is composed — Single side (you represent one party), Double-ended (you bring both seller AND buyer) or Co-brokering (another broker from your office or your network in Mapaprop brought the buyer). In Double-ended and Co-brokering the system creates 2 linked deals (see §7.12). There is also an "External deal" option that takes you to Deals to record a deal on a property that is not in Mapaprop (see §7.10).
- Amounts: enter the buyer's offer. If there was a deposit, check the box and enter the amount.
- Participants: link the seller and buyer from your contacts. You can choose one already linked to the property, search for it or create it on the spot. Any contact you link here is also linked to the property — you will see it later in the record, in the Contacts tab (the seller as Owner, the buyer as Interested).
- Comments: optional, to leave internal context.
- Click Save Deal.
The property is marked as Reserved and a red "Deal in progress" chip appears on its record.
5.2 Close the deal (Sold / Rented / etc.)
There are 2 ways to get to the closing:
Option A — From the property's record:
- Click "Manage Deal" (red button). It takes you to the detail of the reserved deal.
- There you choose the target state: Close as Sold / Close as Rented / etc.
- The window asks you for the Closing price and the Commission — both fields are mandatory at closing (the other sections remain collapsed because you already had the data loaded).
- Click Update Deal.
Option B — Straight from the property's record:
- Click "Close Deal".
- You choose the terminal state directly (e.g. Sold).
- The window opens with the reservation data pre-loaded. You complete closing and commission.
- Save.
Commission mandatory on closing (since 2026-05-29)
When closing a deal as Sold or Rented, the commission is mandatory. You can indicate it in two ways (just one is enough):
- Fixed amount (e.g. USD 6,300)
- Percentage over the closing price (e.g. 3%)
If you fill in one, the other is calculated automatically. The "Confirm Deal" button stays disabled until the commission is filled in.
Reason: the closed-deal reports (deal statistics, network, negotiation gap) use the commission to calculate total income, averages and actionable metrics. Without that data the reports lose value.
For reservations and fall-throughs the commission remains optional.
Commission on Rental and Seasonal Rental (since 2026-05-30)
On rental and seasonal rental deals, the commission field shows only Fixed amount — the Percentage % option does not appear, nor the "the commission exceeds the closing price" warning.
Reason: the price the system uses as the "closing" is the monthly rent, but the real commission is agreed on the contract (typically 1 month over the annual total). Calculating a % against the monthly figure gave meaningless values (e.g. 122% for a one-month commission) and triggered a permanent false warning. Until the system models a "commission base amount" separate from the closing price, on rental/seasonal you enter the Fixed amount of the agreed commission directly.
After closing:
- The deal is left with a terminal state and a closing date.
- The property is marked as Sold (or Rented if it was rent / seasonal / exchange).
- It is recorded in the property's price history.
- It appears in the "My Deals" report of the agent who closed it.
5.3 Cancel a reservation (Fell through)
When a reservation does not go through:
- From the property's record → "Manage Deal" → Fell through state.
- Or from the deal detail → red "Cancel reservation" button.
- Save.
The deal moves to Fell through (it cannot be reverted), the property returns to Available automatically, and it is recorded as a fall-through in the reports (it contributes to the agent's "fall-through rate").
5.4 Edit while the deal is in progress
While the deal is Reserved you can correct its data without changing the state. There are two paths:
- From the deal detail (
/deals/[id]) → "Edit" button: opens a window to adjust offer and currency, deposit, contacts (seller / buyer) and comments. The commission is not touched here — it is only loaded at closing. This button is for account admins. - From the property's record → "Manage Deal": the window opens with collapsible sections (State / Amounts / Participants / Comments) to edit whatever you need.
A trail remains of whatever is touched. Each deal has its Change History —visible in the detail, for all roles with access— where the following are recorded immutably: each state change (closing, fall-through, reversal), each correction made on an already-closed deal (with the reason requested when making it) and each deletion. There you can see who did it, when and what changed.
Correcting a reservation in progress is the exception: it does not generate an entry in that history, because the deal is still being assembled and its data is provisional. The history starts recording from the first state change.
5.5 Return a property to "Available"
If a property is reserved and the client changed their mind without formalizing a fall-through, you CANNOT send it straight to Available while it has a deal in progress. Mapaprop blocks you with a message:
"There is a reserved deal in progress. To change the property's state you have to resolve it from Manage Deal or mark it as Fell through."
Two paths:
- Click "Mark as fell through" from the blocking message → cancels the reservation and frees the property in a single click.
- Click "Manage Deal" → resolve manually (concluded closing or fall-through).
This prevents orphaned deals (reserved in the system but the property has already been put up for sale again).
💡 Don't have the Business plan? (for example, if you had it and downgraded). The blocking message above does not appear: when you mark the property as Sold, Rented, Suspended or Available, the reserved deal it had closes on its own, with the data it already had. You do not need the Deals module to unblock the property. If you later return to a Business plan, you will be able to open that deal and complete or correct its data.
5.6 Change the state of a property that is already sold/rented
If the property is sold (closed deal) and you want to put it up for sale again, you can:
- Mark it as Available from the record (this does NOT affect the closed deal — it remains there as history).
- Create a new deal when another reservation arrives. The history will keep: old deal (sold) + new deal (reserved/closed/fell through).
6. The deals screens and their three scopes
In the side menu, Deals opens the full module:
| Menu entry | Where it leads | Who sees it |
|---|---|---|
| All deals | the listing (§6.1) | All roles |
| My Deals | the same listing, narrowed to yours | Only the agent |
| Network | the same listing, with the aggregate of your network | Everyone except the agent |
| Negotiation Gap | the gap report (§6.4) | All roles |
| Acquisitions | the acquisitions report (§6.3) | All roles |
The three scopes
The module's screens —the listing, the statistics, the gap and the acquisitions— answer the same question over three different universes. The scope is chosen with the selectors at the top right:
| Scope | What you see | Who can choose it |
|---|---|---|
| My account | Your entire agency, with branch and agent filters | The account admin |
| My deals | Only yours | The agent — and it is not an option they choose: the server always applies it to them |
| A network of yours | The aggregate of all member offices, and you can drill down to one office | The network manager (Business Manager plan) |
The scope and the period travel with you. If you are looking at the network and jump from the listing to the gap (or vice versa), the new screen opens in the same scope and with the same dates. It is on purpose: they are the same question looked at in two ways, and having one reset to "my account" would make you compare two different things without realizing it.
6.1 Deals (/deals)
It is the working screen for all roles. An admin sees the deals of the entire account; an agent enters the same screen and sees theirs. The agent arrives via My Deals and lands on this same screen, already narrowed to theirs.
- Date filters, in a single line: four shortcuts (last 14 days, 30 days, 90 days, this year) plus From / To. They apply instantly, with no "Filter" button.
- Date axis — Start / Closing: a selector next to From / To chooses which date that range runs against. Start (the default) uses the deal's opening date —when the reservation was taken—; Closing uses the closing date —when it was sold, rented or fell through—. The From / To range is the same; the only thing that changes is the date it looks at. The chosen axis also stays in the screen's address, so the link is shareable just like the operation type.
- Operation type button bar, in the toolbar: All · Sale · Rental · Seasonal Rental · Exchange. One click and the whole screen is narrowed — the listing and the CSV. It used to be hidden inside "More filters", where almost no one found it.
- "More filters" button: opens the rest in a window — state, side (seller/buyer — see §7.9), origin (own/external/deleted — see §7.11), and for admins also branch and agent. The number next to the button tells you how many you have set, so you know the list comes narrowed even when the window is closed. The operation type is no longer here: it lives in the toolbar, in plain sight.
- The operation type stays in the screen's address, so the link is shareable: you can send someone "look at September's rentals" and it will open exactly that for them. It also survives the browser's Back button and reloading the page.
- The Agent filter appears when you choose a branch, and lists only the agents of that branch.
- Table with columns: Id (the deal's number, e.g.
#1234, with a direct link to the detail), Property, Agent / Branch (the responsible agent and their branch), Contact (with the buyer's origin on a second line, when loaded), Type, Side (green Seller badge / purple Buyer / gray Both), Origin (gray badge 🏠 Own / purple 🔗 External / red 🗑️ Deleted — it is the origin of the deal, not of the buyer; see the notice below), State, Offer, Closing, Commission, Date. A row may also show an alert icon when the deal is part of a linked pair with an anomaly (see §7.12). - Sort by column: Id, Offer, Closing, Commission and Date are sorted by clicking the header (a second click reverses, a third returns to the original order). Amounts are grouped by currency and sorted by amount within each: nothing is converted, because a commission of ARS 89,000 and one of USD 600,000 cannot be compared by the bare number.
- Active filter chips with an X to remove them individually.
- "View Stats" button with an arrow: one click takes you to Statistics (§6.2); the arrow opens the module's other two reports, Negotiation Gap (§6.4) and Acquisitions (§6.3). All three carry the scope: if you are looking at a network, the report opens in that same network. All roles see it.
- "+ Add deal" button: creates a manual deal with no associated property (see §7.10). All roles see it.
- "View deleted" button (with a counter): only the account admin. On the phone the label shortens to "Deleted", and on very narrow screens only the trash icon remains.
- Export to CSV for external analysis (it respects the filters). It does not appear on the phone: it is the only toolbar action that cannot be completed on the device — a file downloaded there has nowhere to go.
- Pagination of 20 rows when there are more than 20.
- Mobile: cards instead of a table (without paging: they are all listed), and the top bar fits into a single line — the buttons keep their icon and lose the text, except "Add", which is the main action.
- Who sees it: all roles. What changes is the scope, not the screen — see the notice below.
Until October 2026 this screen had the 12 KPI mini-cards and the three gap cards at the top. They were removed: they were the same numbers already shown by Statistics (§6.2), came from the same calculation, and pushed the table —which is what you come here for— below the fold. Now the KPIs live in a single place, and from here you reach them with the "View Stats" button.
There are two different things called "origin", and it pays not to confuse them. The Origin column says where the deal came from: whether it is from a property of yours (Own), whether you loaded it by hand with no property (External) or whether the property was deleted (Deleted). The Buyer's Origin —which appears below the contact— says where the person who bought or rented came from: a portal, a sign, a colleague. An Own deal can have a buyer who arrived via Zonaprop, and an External one can have one who arrived via a sign.
An agent only sees their own deals, and that does not depend on the filters. The system applies it on the server side, over their branch and over what they recorded. There is no filter, link or address that shows them a colleague's deals, nor their totals. The Branch and Agent selectors do not appear to them either: they would have nothing to choose.
With the date axis set to Closing, open deals do not appear — and that is correct: a deal in progress (state Reserved) does not yet have a closing date, so it does not fall into any closing range. To see the open ones, leave the axis on Start (it shows them all) or filter by State → Reserved from "More filters".
6.2 Deals Statistics (/stats/deals)
The module's analytical report: the same information as the listing, but aggregated and graphed to read trends instead of individual deals.
- Daily evolution: how many deals were opened, closed and fell through each day.
- Closings per month: how many closed in each month. It is grouped by the month of the closing, while the period at the top filters by the opening date — that is why a month later than the chosen range can appear.
- Mix by operation type and detail by type, with volume, commission and average ticket, all by currency. Nothing is converted to a single currency: adding up pesos and dollars would give a meaningless number.
- Average ticket by type (new column): the average value of a deal of that type. It is the metric most distorted by mixing types —a rental and a sale are not comparable— and that is why it lives in this table and not as a single number at the top. Hover the mouse over the value and it tells you over how many closings it comes, by currency: an average over 2 deals and over 40 are not the same statement.
- Closings by buyer's origin: where the buyers of the deals you closed in the period came from, in proportional bars. It tells you which portal, which sign or which colleague is really bringing you business, and not just inquiries. Two things to bear in mind to read it well: it counts the closings, not the reservations (an open reservation does not say anything yet), and the ones without the data loaded are grouped into "No origin", which goes at the end in gray even if it is the biggest group — it is missing data, not a category.
- Ranking, with three tabs: By branch, By agent and By billing. The first two sort by number of closings; the third sorts by how much each one contributed to the agency, which is not the same thing: with two currencies in play, the one who closes the most is not always the one who bills the most. All three show volume, commission and closing rate. It is not shown to the agent, because a one-row ranking with yourself informs nothing.
- How "By billing" is calculated: each commission is converted to dollars using the exchange rate of the day that deal closed, which Mapaprop records at closing. Today's rate is not used: if it were, the same period would be sorted differently tomorrow and old commissions in pesos would be worth less. The column says equivalent in USD, and the real amounts by currency are still shown alongside: an agent who earned in pesos does not see only a dollar number that never existed.
Two things about this tab that surprise you at first, and both are correct:
A row can appear with billing and zero closings. It is the buyer side of a joint deal: that agent earned their commission, and the closing is counted for the seller side so the same sale is not counted twice. Their closing rate appears as "—".
Both sides of a joint deal each add up their commission. They are two different, real commissions, so all of the report's commission figures add both —the billing, the Commission column of the detail by type and the card at the top—, even though the sale is counted only once. That is why the commission of a joint deal can be greater than that of an equivalent sale made by a single side: there were two jobs.
6.3 Acquisitions (/deals/captations)
Report of properties approved by moderation and pending in the period.
- Approved acquisitions: how many new properties passed the moderation check.
- Pending: how many are awaiting approval.
- Effectiveness: % of acquisitions that ended in a closing (approximate calculation).
- Closings of the period: for contrast.
- Line chart with two series across the period: requested and approved. The KPIs say how much; the line says when, and the distance between the two curves is how long moderation takes.
- It starts on the last 90 days.
- The three scopes (see above). In network scope an Office column also appears: without it, the acquisitions of several agencies would read as if they were from a single one.
- Table: detail by property. Clicking a property opens its side record, without taking you out of the report; from the record you can go to the full property.
- How to get there: via the Deals → Acquisitions menu, or from the arrow of the "View Stats" button in Deals.
- Who sees it: all roles, each with their scope. Requires a Business plan or higher.
ℹ️ Note on effectiveness: the calculation is approximate — it divides the period's closings by the period's acquisitions without checking whether the closings really correspond to the acquired properties. It is a guide, not an exact funnel.
This report cannot be filtered by operation type, unlike Deals and the network panels. It is not something missing: an acquisition has no operation type. It is the moment when a property enters the stock approved by moderation, before any sale or rental exists — the type only appears when the deal is recorded.
It is also the reason the button bar is not here: if it filtered only the closings and not the acquisitions, Effectiveness would end up dividing the closings of one type by the acquisitions of all, and that percentage would mean nothing.
6.4 Negotiation Gap (/deals/brecha)
How much the price moved between what you listed, what you were offered and what you finally closed. There are four numbers, and the report lets you see where each one comes from, deal by deal.
- Who sees it: all roles, each with their scope — the agent enters and sees their own gap. Requires a Business plan or higher.
- How to get there: via the Deals → Negotiation Gap menu; from the arrow of the "View Stats" button in Deals; or by clicking any of the three gap cards in Statistics, which arrive with the scope and the period already set.
- It starts on the last 90 days. The gap is an average: with a single month's closings the sample is usually two or three deals, and there the number says nothing.
- The three scopes (see above). In network scope, clicking a deal opens its detail in a window instead of navigating: the deal belongs to another account and its direct address would not be yours.
The four indicators
| Indicator | What it measures | When the average goes the other way |
|---|---|---|
| Listing to offer | How much less buyers offer relative to the price you listed | If they offer more than listed, the text says so (happens in tight markets) |
| Offer to closing | What you gained or gave up in the negotiation itself, from the first offer | Adjusts down or up, depending on the case |
| Listing to closing | From the listed price to the closing price, measured directly | The label changes: "Total final discount" if you closed below, "Total final markup" if you closed above, and "Total final variation" if there was no difference or data is missing |
| Average deposit | What part of the closing price was collected as a deposit | — |
On each card, the arrow marks the direction and the text below says it in words.
By operation type — the table that explains the average
Below the four numbers there is a table with one row per type of operation, with the same four indicators and its own sample. It exists for a concrete reason: a sale and a rental are not negotiated the same way, and averaging them together gives a number that may describe neither of the two.
A real case, with 36 closed deals:
| Listing to closing | Average deposit | Deals | |
|---|---|---|---|
| Rental | 0.8% | 72.7% | 21 |
| Sale | 4.4% | 2.4% | 15 |
| All together | 2.4% | 20% | 36 |
Sales are negotiated five times more than rentals, and the average comes out in the middle because there are 21 rentals pulling it down. With the deposit it is even stronger: that 20% corresponds to no real deal — it is the result of averaging two different businesses.
- The table appears only if the period had two or more types with deals. With a single one it would repeat the number at the top and there would be nothing to compare.
- Types that had no deals do not appear as a row at zero.
- The All together row goes in gray at the end, as a reference: it is the one the rows above explain.
- The text below the table tells you how many points of difference there are between the type that negotiates the most and the one that negotiates the least. If they are close, it says so too: there the average does represent them.
This screen has no operation-type button bar, and it is on purpose. In Deals you can choose Sale or Rental and narrow everything; here you cannot, because the comparison between types is the point of this report — filtering to one type would leave the table with a single row.
That is why, if you arrived by clicking a Deals card with a type chosen, the big number at the top will not match the one you clicked: at the top all types are together. Yours is in the table, and the row comes highlighted with the note "the one you were looking at".
How they are calculated — three things that explain the numbers you see
1. They are measured over the deals CLOSED in the period, by closing date. It is different from the rest of the Deals KPIs, which go by opening date: a negotiation gap does not exist until the deal closes.
2. Each indicator needs its own pair of prices, in the same currency: listing + offer for the first, offer + closing for the second, listing + closing for the third. A deal that does not have them —or that has them in different currencies— does not contribute to that indicator. That is why the "over N deals" of each card is usually lower than the total closings of the period, and that is why the three may be calculated over different quantities.
3. Consequence: the first three do not add up or subtract from each other. A "6.7% less" in listing→offer and a "1.3% more" in offer→closing do not give "5.4%" of final discount: they are different groups of deals. The total is measured directly, listing against closing.
The "Complete data only" button resolves exactly that: it recalculates the three indicators using only the deals that have listing, offer and closing in the same currency. That way the three come from the same group and are indeed comparable to each other.
The detail, deal by deal
Below the cards there is a table with each closed deal of the period and its three prices. It tells you:
- Which indicator each deal feeds, with the labels
List→Offer,Offer→ClosingandTotal— or "Does not contribute", with the reason when the currencies do not match. - The side (seller / buyer) and, in network scope, the office that owns the deal.
Click any row and the explanation of that negotiation opens: its three gaps, the price ladder from the listing to the closing, and how it compares to the period's average ("you gave up this much more than the average"). The deal's #number is still a link to its full detail.
If the period brings more than 200 closings, the table shows the first 200 and warns you. The four indicators at the top, on the other hand, are always calculated over all the deals of the period.
6.5 KPI mini-cards (in Statistics)
At the top of Deals Statistics (/stats/deals), in any of its three scopes, there is a grid of 12 mini-cards with live metrics. They all respect the applied filters (period, branch, etc.). Each card has a tooltip on hover with the exact formula of the calculation.
Row 1 — Volume and counts:
| Card | What it shows | How it is calculated |
|---|---|---|
| Equivalent closed volume | Total volume with a USD/ARS toggle | Sum of closings converted. Each deal in ARS is converted to USD using the dollar at the moment of closing (historical snapshot). |
| Closed volume USD | Native USD total | Only deals that closed in USD. No conversion. |
| Closed volume ARS | Native ARS total | Only deals that closed in ARS. No conversion. |
| Open reservations | Count | Reserved deals pending closing or falling through. |
| Closed | Count | Deals in a positive terminal state (sold / rented / seasonal / exchange). |
| Fell through | Count | Cancelled reservations. |
Row 2 — Performance + mix (appears only if there are closed deals):
| Card | What it shows | How it is calculated |
|---|---|---|
| Closed commission 🟢 | Total earned by currency | Sum of the "Commission - Amount" field of the period's closings (ARS and USD if applicable). |
| Average commission | What each closing left | Total commission ÷ number of closings. Prioritizes USD if there is any. It is not the average ticket: that comes from the closing prices and lives in the table by type. |
| Closing rate | % of closing and % of fall-through, both on the same card (closing in green, fall-through in red) | Closed ÷ (closed + fell through) × 100; the fall-through is the remainder. Color: 🟢 green if > 60%, 🟡 amber 30-60%, 🔴 red < 30%. |
| Avg. days to closing | Speed | Average days between opening (reservation) and closing. Measures how fast you close. |
| Origin | Own vs External | Closings on properties of your account vs external ones (see §7.11). |
| Side | Seller vs Buyer | Closings as seller side (my property) vs buyer side (manual deal). Reflects the agent's profile. |
💡 If the period has no closings, only row 1 is shown.
Below the mini-cards, on the same screen, there are three large cards with the negotiation gaps of the period: listing→offer, offer→closing and listing→closing. They are clickable and take you to the full report (§6.4) with the same scope and the same period.
The gaps are measured by CLOSING date; the rest of the KPIs, by opening date. It is not an oversight: a negotiation gap does not exist until the deal closes, so "how much did we give up this quarter?" is answered with what closed in the quarter, while the volume and the counts count what was opened. Practical consequence: with the same date filter, the gaps may be calculated over a different set of deals than the one the volume adds up. What is guaranteed is that the card's number and the one in the Gap report (§6.4) are the same: they come from the same calculation.
7. Important rules
7.1 One reservation per property at a time
Each property can have a single deal in the Reserved state at the same time. If you try to create a second reservation, the system uses the existing one.
7.2 Delete a deal (and why traceability is kept)
The account admin can delete a deal in any state (reserved or closed). It is a definitive action: it cannot be undone.
How it works, and why you do not lose traceability:
- The deal stops counting in all your reports and listings (KPIs, gap, rankings, etc.) — as if it did not exist for management.
- But nothing is physically deleted: the deal is preserved and it records who deleted it, when and with what reason (the reason is mandatory). That information stays in the deal's Change History, for auditing.
- To see them, in "All deals" there is a "View deleted" button (only for the account admin) that shows how many there are and lists them with their reason and date. From there you open each one and see the detail marked as deleted.
- If the deal was part of a linked pair (co-brokering or double-ended), when you delete one side the system offers to delete the other too (when it is from your same office). If you leave the pair half-done, the remaining deal shows a mismatch alert.
- If the deal was Reserved, deleting it returns the property to Available (it is freed and, if it was shared in a network, it reappears in the network's searches) — just like with a Fell through. Deleting an already-closed deal (Sold/Rented) does not change the property's state.
When to use it: a deal loaded by mistake, a duplicate or a test. If instead the deal was real but did not go through, the correct thing is to mark it Fell through (that way it stays in the reports as a fall-through, which is valid management information).
Don't confuse it with a deleted property (§7.4): if you delete the property, its deals are preserved and keep counting in the reports (marked as "(deleted)"). Deleting the deal is another thing: it takes it out of the reports. They are two different actions.
7.3 Terminal states do not reopen
Once a deal moves to Sold / Rented / Fell through / etc., that state is fixed. If you need to record a new negotiation on the same property, you create a new deal.
7.4 Deleted properties keep their deals
If you delete a property from the system, the associated deals are not deleted. They remain accessible from the global listing with a snapshot of the property's basic data (address, code, zone) but marked as "(deleted)".
7.5 Negotiation gap: always fill in the closing price
For the gap to work well, make sure to always fill in the "Closing price" field when closing a deal (it is mandatory in Business mode). The offer price is optional but recommended.
7.6 A deal in progress blocks property state changes
If a property has an active reservation, you cannot change its state to Available or Suspended without first resolving the reservation (closing it as Sold/Rented/etc. or marking it Fell through). The system warns you with a message and offers to mark it as fell through in a single click.
7.7 Operation type is derived from the property's type
When you create a new deal on a rental property, the deal is born with the "Rental" type automatically. You do not have to choose it. If the property is for sale, it is born as "Sale". This prevents inconsistencies between the property type and the operation type.
7.8 Every closing is born from a reservation
Rule: you cannot close a deal as Sold / Rented / Exchanged / Seasonal rental directly on a property that is Available or Suspended. First you have to create a Reservation, and close it from there.
Why: the reservation is the moment where the offer, the deposit (if any), the participants (seller + buyer) and the dollar exchange rate at opening are recorded. Without that info the closed deal is incomplete and traceability is lost for reports (negotiation gap, commissions, acquisitions, etc.).
How it works in the UI:
- In the "Close Deal" modal on an available or suspended property, the terminal-state cards (Sold / Exchanged / etc.) appear disabled in gray.
- You can only click Reserved or Suspended from an available property.
- Once the reservation is created, you go to View Deal (
/deals/[id]) and from there you find the "Close as X" button (Sold / Rented / Exchanged / Seasonal).
Possible exception (under evaluation): seasonal rental could allow direct closing in the future because it usually closes quickly without prior negotiation. For now the rule applies universally. This decision is noted in the product roadmap.
If you need to record a closing on a deal that already happened "outside the system" (e.g. you load a historical sale for reports): create the reservation with minimal data (offer = closing price, deposit 0) and then close it as Sold. The process is 2 clicks.
7.9 Seller side vs buyer side (pd_side)
Each deal has a side field (pd_side) that indicates your agency's role in that transaction:
| Value | Meaning | When it applies |
|---|---|---|
seller_side | Seller side | Your agency represents the owner who sells/rents. The property is in your Mapaprop account. |
buyer_side | Buyer side | Your agency brings the buyer/tenant. The property belongs to another agency or is external. |
both | Both sides | You represent both parties in the same deal (reserved for future use, not assigned automatically in the MVP). |
How it is assigned automatically when creating:
- Modal opened from the record of a property in your account (or your agent's) → the deal is born as
seller_side. - Modal opened as a manual deal with no property (external property) → the deal is born as
buyer_side.
The user does not have to choose the side: the system infers it from the context. If in the future you need to record both sides, that flow will become available.
Where you see it in the UI: on the /deals/[id] page there is a chip that shows "Seller side", "Buyer side" or "Both sides" depending on the field's value.
Commission per side (implemented 2026-07-30): when a deal has two brokers (a co-brokering) or when the same office brings both sides (a direct double-ended pair), the system creates two linked deals — one per side — and each one carries its own commission. The commission is loaded at the closing of each side (Sold/Rented), never at reservation, and each side closes separately. In the reports, the pair counts as one deal (the volume is not duplicated), but the two commissions add up. See §7.11.
7.10 Manual deal with an external property
When to use it: when the property you are working on is not loaded in your Mapaprop account. For example:
- You take a buyer to see a property of another agency.
- You work in informal cobrokerage with a colleague and want to keep track of the deal.
- You record a historical sale of a property that was never published on your platform.
How to create a manual deal:
| Role | Where to find the button |
|---|---|
| Admin / Main / Manager | /deals (global listing) → "+ Add deal" button |
| Vendor (agent) | /deals → "+ Add deal" button |
The button opens the same deal modal, but in "manual" mode (with no account property linked).
💡 You can also get there from a property: if you are recording a deal on one of your properties and at the "Operation type" step you realize that the deal is actually about another property that is not in Mapaprop, choose the "External deal" option. It takes you straight to Deals, where you record it with the "+ Add deal" button. It exists so that this option is in plain sight and you do not have to know in advance where external deals are loaded.
How the modal looks in manual mode:
- Header: purple 🔗 icon + "External Deal" title + purple "Buyer side" badge.
- Purple explanatory banner at the top: "Deal on a property that is not in Mapaprop. You are the buyer side..."
What the modal asks for — mandatory fields marked with *:
- Operation type (4 card-type buttons with an icon):
- 🏷️ Sale
- 🔑 Rental
- 📅 Seasonal Rental
- 🔄 Exchange
The labels and order come from the multi-country system (the same selector you see when loading a property). If in the future Mapaprop operates in other countries, the labels are translated automatically.
- Property address (free text input, max 255 characters). Example: "Av. Cabildo 1234, CABA". It serves to identify the deal in listings and reports — without this the deal is left as "No address recorded".
- Branch ⚠️ (mandatory since 2026-05-29 for Admin / Main / Manager): which branch of your agency the deal corresponds to. If you do not choose it, the "Next" button stays disabled. For a vendor their branch is assigned automatically and this field does not appear.
- State (cards): only Reserved and the terminal ones appear (Sold / Rented / etc. depending on the chosen type). The Available and Suspended cards are hidden: they do not apply to external properties.
- Offer and amounts: same as a normal deal (offer, deposit/reservation, closing, commission). Remember that at closing (Sold/Rented) the commission is mandatory (see §5.2).
- Participants: contact selector for Seller/Owner (the counterparty, usually a broker or the direct owner) and Buyer/Tenant (your client). Both optional but recommended for traceability. In external mode the "seller" is loaded as a local contact without being formally linked to a property (there is no property in the system).
- Comments: free field.
Navigation between wizard steps (improvement 2026-05-29)
If you select a Seller and Buyer at the Participants step and then click "Back" to review amounts, the selected contacts stay marked when you return. They used to be lost and you had to search for them again.
This applies both in manual mode (external deal) and on deals over properties from your catalog.
Limitations by role:
| Aspect | Admin / Main / Manager | Vendor |
|---|---|---|
| Can create a manual deal | ✅ | ✅ |
| Available initial state | Any (Reserved / direct closing) | Only Reserved |
| Closing of the deal | ✅ | ❌ (the admin/main does it) |
| branchId assigned | The one they choose | Automatically their branch (cannot change it) |
Typical use case for the vendor: "I accompanied a buyer to see an apartment of another agency, they got interested, I reserved it informally. I want to keep track so I don't lose the deal." → create a manual Reserved deal from "Deals", with the "+ Add deal" button. When the deal goes through, tell your admin to close it as Sold or Rented.
Tip: if the counterparty is another agency or a fellow broker, you can load that contact with the "Broker" type (see section 8.5) and link it to the Seller field of the deal. That way you have traceability of who you worked the cobrokerage with.
7.11 Origin of the deal: Own / External / Co-brokering / Double-ended / Deleted
Each deal has an "Origin" field that classifies it. The Co-brokering and Double-ended origins mark the buyer side of a linked deal (see §7.12). It lets you filter and understand at a glance what type of deal you are looking at.
| Origin | When it is assigned | How it looks in the UI |
|---|---|---|
| 🏠 Own | Deal created on a property of your Mapaprop account (the normal case). | Gray "Own" badge in the column and filter. No special banner in /deals/[id]. |
| 🔗 External | Manual deal with no associated property (created with the "+ Add deal" button). The property is not in your account — it belongs to another agency or a colleague. | Purple "External" badge in the column and filter. Purple banner in /deals/[id]: "External deal — no associated property. Buyer side...". |
| 🤝 Co-brokering | The buyer side of a deal in which another broker (from your office or your network in Mapaprop) brought the buyer. The property lives on the seller side; this side has no property of its own. | Green "Co-brokering" badge in the column and filter. In /deals/[id], a "Linked deal" card pointing to the other side. |
| 👥 Double-ended | The buyer side of a direct double-ended closing: the same office/agent brings both sides (seller + buyer). 2 linked deals are created, one per side. | Light-blue "Double-ended" badge in the column and filter. In /deals/[id], a "Linked deal" card pointing to the other side. |
| 🗑️ Deleted | A deal whose original property was deleted from the system. The deal is preserved as a historical record (deleting the property does not delete the deal — see §7.4; different from deleting the deal, §7.2). | Red "Deleted" badge in the column and filter. Red banner in /deals/[id]: "Property deleted — the deal's data is kept as a historical record". If there is a snapshot, it shows the data at the moment of deletion. |
Filter by origin: in /deals the "Origin" dropdown has 4 options: All / Own / External / Deleted. Useful for:
- Seeing only the period's manual deals (External origin) and measuring your volume of informal cobrokerage.
- Auditing orphaned deals (Deleted origin) and deciding whether to clean them up or keep them.
- Filtering only internal deals (Own origin) for "clean" reports without manuals or orphans.
A concrete example:
- You took a buyer to a Remax apartment in March. You loaded a manual deal from "Deals" → deal with External origin, Buyer side.
- In April you closed a sale of your property code MP007 with a regular buyer → Own origin, Seller side.
- In May you deleted property MP007 from the catalog (you decided not to relist it) → the April deal changes to Deleted origin automatically, but keeps the MP007 code as historical data (snapshot).
💡 The origin is assigned by the system automatically. It is not something you load manually.
7.12 Linked deals: co-brokering and double-ended
Sometimes a deal is not a single one: it is two linked deals, one per side (the seller and the buyer). It happens in two cases:
- Co-brokering — the buyer was brought by another broker (from your office or your network in Mapaprop). Each office manages and closes its side, with its commission.
- Direct double-ended pair — you (the same office/agent) bring both sides: you represent the seller AND the buyer. Two linked deals are created anyway, one per side, each with its commission.
In both cases:
- 2 deals are created in
/deals, with a "Co-brokering" (green) or "Double-ended" (blue) badge, joined to each other ("Linked deal" card in the detail). - The commission of each side is loaded at the closing of that side (Sold/Rented), never at reservation.
- Each side is closed separately (one can close and the other fall through). The system marks with an alert icon (in the
/dealslisting and in the/deals/[id]detail) two anomalies of the pair: - Different states: one side closed and the other fell through.
- Different closing prices: both sides closed (Sold / Rented) but with different closing prices. Since it is the same property there should be a single sale price — the commission does differ by side, the closing price does not. The alert warns you so you review and correct it.
- When closing or cancelling (fall-through) a side, the system offers to do the same with the other ("Also close the linked deal?" / "Also cancel the linked deal?"). It is a convenience shortcut, not automatic: you confirm, and each side keeps its own closing with its own commission. It only appears when the other side is from your same office and is still open.
- In the reports, the pair counts as one deal (the volume is not duplicated), but the two commissions add up.
How it is created: when recording a reservation on your property (with Business), the wizard has a "Operation type" step where you choose:
- Double-ended → you bring both sides (seller + buyer). The system automatically creates the 2 linked deals.
- Co-brokering → the buyer was brought by another broker. You choose the counterparty with a cascading selector: office → branch → agent. You can choose a colleague from your own office or from any other office of your network in Mapaprop (networks with directory and co-brokering), with their branch and their agent. The system creates the 2 linked deals.
- Single side → a single deal is recorded (acquisition or single side, with no link).
The commission of each side is loaded at the closing of that side, never at reservation.
Co-brokering between two agents, step by step — one agent reserves on another's property; the agent of the other side receives an email and enters their deal directly. Each one sees and manages only their side:
And when the colleague is from ANOTHER office of your network — the flow is the same, but the counterparty is chosen by cascade (office → branch → agent) and each office sees the property and the deal from its side (the buyer sees it as a network record):
And the other side: when it is you who brings the buyer for a property of another office of your network. You enter from the Network Properties catalog, reserve as the buyer side (the counterparty —the owning office— resolves itself) and that office receives the email to manage its seller side:
7.13 Closing a joint deal with another agency (co-brokering): only within your network (MLS)
Closing a deal jointly with another agency is only possible when both agencies belong to the same real estate network (MLS) in Mapaprop. It is not a setting that is turned on: it is a requirement. If the two agencies do not share a network, the option to choose that other office is not available in the co-brokering.
- With a colleague from your own office (your same account) co-brokering is always available.
- With another agency (another office) co-brokering appears only if the two are members of the same network. The counterparty selector (office → branch → agent) only lists the offices of your network.
⚠️ Without a shared network there is no co-brokering between different agencies. The network is the requirement that enables it; it is not something resolved from the deal's settings.
The network property stays linked to your buyer contact
When you co-broker a property of another office of your network (you bring the buyer side, the property lives in the other office), that network property is associated with your buyer contact:
- You will see it in the buyer contact's record, identified as a network property, along with the rest of the properties that contact has linked.
- From the record of that network property you can return to your deal: the link works both ways (contact → network property → your deal).
All of this lives within the context of the shared network: without the network, neither co-brokering between different agencies nor these links exist. More detail on how network properties behave in Network Property / MLS.
8. Special cases
8.1 Agent with no branch assigned
If a system vendor has no branch assigned, they can access Deals but will see the entire account (the branch filter is not applied). Recommendation: always assign a branch when creating the agent.
8.2 You downgraded from Business plan to Free/Plus
- Your existing deals are not deleted, they remain in the system.
- You lose access to the deals reports and to Business mode.
- You cannot create new deals (you go back to Basic mode, which only changes the property's state).
- If you return to Business, you regain full access and all your historical deals.
8.3 An agent of one branch looks at a property of another
This is common in networks with multiple branches. The agent:
- Can see the deal history of any property in the account (cross-branch reading).
- Cannot see the detail of deals that are not from their branch (instead they see "🔒 Name of the other branch").
- Cannot create or close deals on properties of other branches.
8.4 Migration of old data without the correct type
If you have deals loaded before April 2026, the "type" field may be set as "Sale" even though the property is a rental (it was a bug). There is an SQL script that recalculates the types of old deals based on the property's type. If you need it applied to your account, contact support.
8.5 Broker contacts (fellow real estate agents)
When you create a new contact from the CRM or from the deal modal, there is a "Contact type" selector with two options:
| Type | Automatic label | When to use it |
|---|---|---|
| Person (default) | None on creation. The labels are assigned automatically when linking the contact to a property (Tenant, Owner, Interested, etc.). | End clients: buyers, tenants, owners. |
| Broker / Colleague | "Broker" (tag id 17, violet color) | Agents or agencies you co-work with informally or formally. |
Use cases for the Broker type:
- A friendly agency that brings you buyers to your properties (cobrokerage).
- A colleague from another Mapaprop account with whom you share deals from time to time.
- The seller counterparty in a manual deal: the property is theirs, you bring the buyer.
How it appears in the CRM: the "Broker" tag appears automatically in the CRM's label filter along with the usual tags (Tenant, Owner, Interested, etc.). You can filter all your brokers quickly to see who you have active relationships with.
The Broker tag does not replace the others. If a broker is also a buyer in some deal, they can have both labels (the Broker one assigned when creating the contact, and the Interested one assigned when linking them to a property).
9. Frequently asked questions
Why can't I see the "Business Closing" button? Your plan does not include Deals. You need Business (service 56) or BusinessManager (service 57).
I'm an agent: do "All deals" and "My Deals" show me the same thing? Yes. They both take you to the same screen, and in both you see only your deals: the scope is applied by the server, not the link. "My Deals" exists so that the name says what you will find.
So, can an agent see their colleagues' deals? No. The scope is applied by the server: each agent receives only the deals of their branch that they recorded, and the same holds for the report totals (§6.2 to §6.4). Sharing the screen does not mean sharing the data.
Why does a gap indicator give me 0% or no data? Each indicator is calculated only with the deals that have the prices that indicator needs, in the same currency: "Listing to offer" needs listing + offer; "Offer to closing" needs offer + closing; "Final discount" needs listing + closing. If no deal in the period has those data (or they are in different currencies), that indicator is left with no basis. Always load the 3 prices in the same currency so that the deals contribute to all three. The "Complete data only" button shows you only those complete deals.
Can I delete a deal loaded by mistake? Yes: the account admin can delete it (it stops counting in the reports and it records who, when and why — it is definitive, see §7.2). If the deal was real but did not go through, better mark it Fell through so it stays in the reports as a fall-through.
I mark a property as Sold without Business mode. Do I lose anything? Yes. The change stays in the property (state and closing price) but does not generate a trackable deal: it does not appear in the reports, does not contribute to the gap, there is no buyer/seller record. For real management, use Business mode.
Why does the type of my new deals say "Rental" when I create from a rental property? It is the expected behavior: the deal's type is derived from the property's type.
Can I see deals of properties I already deleted? Yes. In the global listing they appear with a snapshot of the property's data and the note "(deleted)".
When does the automatic "Mark as fell through" button appear? When you try to change the state of a reserved property to Available or Suspended without closing the deal. The system detects it and offers to resolve with one click.
What is the "Broker" contact type for? To distinguish your fellow real estate agents from your end clients in the CRM. A broker is someone you co-work with, not a buyer or owner. By marking them as a Broker when creating the contact, the "Broker" label is assigned automatically and they appear in the CRM's label filter.
Can I create a deal if the property is not in my account? Yes. It is the manual deal (see section 7.10). You use it when you work as the buyer side on a property of another agency or that is not published in Mapaprop.
Why do I get an alert on a pair of linked deals? In a co-brokering or double-ended deal, the two deals should close at the same price (it is the same property; what differs by side is the commission, not the closing price). If the two sides closed with different closing prices, or ended up in different states (one closed and the other fell through), the system marks the deal with an alert icon in the listing and in the detail so you review it.
In a co-brokering, can I choose an agent from another office of my network? Yes. When setting up a co-brokering, the counterparty selector cascades office → branch → agent and lets you choose either a colleague from your own office or from any other office of your network in Mapaprop (networks with directory and co-brokering). Only public data of the other office is shown (name, branch, agent), never their private information.
Can I close a joint deal with another agency? Yes, but only if both agencies belong to the same network (MLS) in Mapaprop. It is not a setting: it is a requirement. If they do not share a network, the option to choose that other office in the co-brokering is not available. When you co-broker a network property, that property stays linked to your buyer contact (you see it in the contact's record, identified as a network property) and you can return to your deal from the network property's record. See §7.13.
What happens to a network property when I reserve, sell or rent it? When you put a property that you share in an MLS network into an unavailable state (Reserved, Sold, Rented or Suspended), that property automatically leaves the network's searches: the other members stop finding it when searching. It is not deleted or removed. Whoever already has an open deal on it —for example the other side of a co-brokering— keeps seeing it through its record, with the link they already had. And if the deal falls through and the property returns to Available, it reappears on its own in the network's searches, without you having to share it again. More detail in Network Property / MLS.
PART 2 — Operational Reference (support / account admins)
This part is intended for Mapaprop support, sales, and account admins who need to answer client queries with precision: who can do what, what each plan requires, and how the screens behave according to the role.
10. System roles
Mapaprop has 4 access profiles, with different scope over the account.
| Human name | What it does | Enabling plan |
|---|---|---|
| Main Admin | Account owner or admin. Full access to the account, all reports, all deals. | Any plan (the Deals module requires Business) |
| Network Manager | Manager of a franchise network. Sees the whole network in read-only and manages their own deals. | BusinessManager (service 57) |
| Agent / Salesperson | Commercial agent. Creates reservations in their branch and sees only their deals. | Any plan (the account creates them) |
| Mapaprop Admin | Mapaprop's internal staff for support and debug. | N/A |
In this doc, "admin" with no prefix means Main Admin or Network Manager (both roles have management permissions over the account). "Mapaprop Admin" is named explicitly when it applies.
11. Permission matrix by action
| Action | Main Admin | Network Manager | Agent | Mapaprop Admin |
|---|---|---|---|---|
| Deals (the listing) | ✅ | ✅ | ✅ (only their deals) | ✅ |
| Deals Statistics | ✅ | ✅ | ✅ (narrowed to theirs) | ✅ |
| Acquisitions | ✅ | ✅ | ✅ (narrowed to theirs) | ✅ |
| Negotiation Gap | ✅ | ✅ | ✅ (narrowed to theirs) | ✅ |
| Network scope in any of the four | ✅ (with own network) | ✅ | ❌ | ✅ |
| Create a deal on own property | ✅ | ✅ | ✅ (only Reserved state) | — |
| Create a manual deal (external property) | ✅ | ✅ | ✅ (only Reserved, in their branch) | — |
| Close a deal (Sold / Rented / etc.) | ✅ | ✅ | ❌ | — |
| Cancel a reservation (Fell through) | ✅ | ✅ | ❌ | — |
| Edit a deal's fields | ✅ (any deal) | ✅ (any deal) | ✅ (only if they opened it) | — |
| See a property's deal list | ✅ | ✅ | ✅ (cross-branch, read-only) | — |
| See a deal's full detail | ✅ | ✅ | ✅ (only of their branch) | — |
| Delete a deal (definitive, audited) | ✅ | ❌ | ❌ | ✅ |
| See deleted deals ("View deleted") | ✅ | ❌ | ❌ | ✅ |
Key rules:
- The agent only opens reservations. They do not close or cancel — those decisions are made by the account admin.
- Only the account admin can delete a deal (definitive and audited — see §7.2). A loading error is deleted; a real deal that did not go through is marked Fell through.
- The agent can read the history of any branch but cannot modify deals outside their own.
12. Permissions by screen
"Deals" menu entries
| Entry | Main Admin | Network Manager | Agent | Mapaprop Admin |
|---|---|---|---|---|
| All deals | ✅ | ✅ | ✅ (only theirs) | ✅ |
| My Deals | ❌ (hidden) | ❌ (hidden) | ✅ | ❌ (hidden) |
| Network | ✅ (with own network) | ✅ | ❌ (hidden) | ✅ |
| Negotiation Gap | ✅ | ✅ | ✅ (only theirs) | ✅ |
| Acquisitions | ✅ | ✅ | ✅ (only theirs) | ✅ |
The entries are shown with any plan, but clicking without Business triggers the upgrade modal. "Network" additionally requires Business Manager.
/deals (Deals)
| Element | Behavior |
|---|---|
| Access to the screen | All roles. The agent sees only their deals (scope applied by the server) |
| "+ Add deal" button | All roles. For the agent, the deal stays in their branch and is born Reserved |
| Date, type, state, side and origin filters | All roles |
| Branch and agent filters | Admin only. They do not appear to the agent: they would have nothing to choose |
| Sort by column (Id, Offer, Closing, Commission, Date) | All roles |
| "View Stats" button + arrow (Statistics, Gap, Acquisitions) | All roles, with their own scope |
| Active filter chips + "Clear" | All roles |
| Pagination (20 per page) | All roles (desktop) |
| Mobile cards / Desktop table | Same data, responsive layout |
| "Export CSV" button | All roles (exports what the role can see) |
| "View" button on each row | All roles |
| "View deleted" button | Only the account admin |
/deals/[id] (Deal detail)
| Element | Admin | Agent (same branch) | Agent (other branch) |
|---|---|---|---|
| See detail | ✅ | ✅ | ❌ (404) |
| "Close as X" buttons | ✅ (if there is a reservation) | ❌ | ❌ |
| "Edit" button (reservation in progress) | ✅ (if Reserved) | ❌ (disabled) | ❌ |
| "Cancel reservation" button (Fell through) | ✅ | ❌ | ❌ |
| Clicking a contact's name opens the side panel | ✅ | ✅ | ❌ |
| Side chip (seller / buyer / both) | ✅ | ✅ | ❌ |
"Deals" panel on the property record
| Element | Admin | Agent (same branch) | Agent (other branch) |
|---|---|---|---|
| See full listing | ✅ | ✅ (cross-branch) | ✅ (cross-branch) |
| "View detail" button on each row | ✅ | ✅ only deals of their branch | ❌ → shows 🔒 [Branch Name] |
| "New deal" button | ✅ | ✅ if the property is of their branch | ❌ (hidden) |
| "View all deals" link | ✅ | ✅ (takes to "Deals", with their deals) | ✅ (same) |
The agent reads the history of any property in the account, but only modifies deals of their branch.
"Close Deal" modal
Which entry points open it and who sees them?
| Entry point | Visible to |
|---|---|
| "Close Deal" button on the property record | Admin. Agent: only if the property is of their branch. |
| "New deal" button in the "Deals" panel | Same as the previous one |
"+ Add deal" button in /deals | All roles (manual mode / external property) |
| "Close as X" buttons in the deal detail | Admin only |
What does the modal show according to plan and role?
| Element | Free / Plus / Pro+ | Admin with Business | Agent with Business |
|---|---|---|---|
| Basic mode (only changes property state) | ✅ (mode selector) | (skips selector) | (skips selector) |
| Business mode (records the full deal) | ❌ → upgrade window | ✅ | ✅ |
| "Manage Deal" button (red) | n/a | ✅ if there is a reservation | ✅ if there is a reservation in their branch |
| "View Deal" button (green) | n/a | ✅ if there is a closed deal | ✅ if there is a closed deal in their branch |
| Cancel reservation (Fell through) | n/a | ✅ | ❌ (only the admin cancels it) |
| "Available" and "Suspended" cards in manual mode | n/a | Hidden | Hidden |
| Branch selector in manual mode | n/a | ✅ | ❌ (automatic to their branch) |
Details of the modal's behavior:
- Tags in the header: the modal shows the operation type (Sale/Rental/etc.) and the property type (Apartment/House/etc.) as chips, derived from the property.
- "Reservation offer" + "Reservation amount": when closing an existing reservation, the Amounts section shows these 2 fields (with an amber background) as a reference.
- "Buyer's Origin": appears within Amounts when closing a deal. It is optional, and is saved in the deal: you will see it later in the detail, in the listing and in the Statistics report (§6.2). If you made a mistake or left it empty, you can correct it later from the already-closed deal —with the "Edit" button— and the change stays in the Change History like any other correction. It is also recorded in deals with no property (an external deal, or the buyer side of a co-brokering): the data used to be lost in those cases.
- "Close as X" opens straight into Amounts: when entering from a closing button, the State section stays collapsed (the decision is already made) and Amounts opens directly to confirm the closing price.
13. Required plan
13.1 Full Deals system
Requires a Business plan (service 56) or BusinessManager (service 57).
For Free / Plus / Pro+:
- The Deals menu is shown in full, but clicking any of its reports triggers the upgrade modal.
- The "Business Closing" button in the deal modal is blocked with an upgrade modal.
- The backend rejects the deals module's endpoints.
13.2 Basic mode of the modal
No plan required — available to everyone. It is the only function of the deals module that is free. It only changes the property's state (Reserved / Sold / Rented / Suspended) and optionally records a closing price. It does not generate a trackable deal, does not contribute to reports.
13.3 Why the decision
The Deals system exists mainly for professional commercial management: measuring performance, ranking, gap. That justifies the Business plan. Small customers who only need to mark a property as sold have the Basic mode.