weclapp: Mapping customers & articles
Two mappings connect the Multiverse numbers with weclapp: customer → weclapp customer and metric → weclapp article.
The weclapp view is organized into three tabs: Invoice run (generate and track invoices), Article mappings (global metric→article assignments) and Customer (customer-specific settings including line-item order).
Customer mapping
The list shows all (merged) Multiverse customers; a click assigns the matching weclapp customer to each one. Search and filters help with large lists; labels on each row show whether overrides, extra articles or deviating settings are active. In the mapping form, both dropdowns only offer unmapped entries — in "Customer (Multiverse)" as well as in "weclapp customer", whatever is already assigned disappears. This keeps the selection short while working through the list, and neither a Multiverse nor a weclapp customer can accidentally be mapped twice. Customers hidden in the customer view (e.g. ALSO tenants without own services) stay out of the "Customer (Multiverse)" dropdown as well.
- Anchor month per product (for all non-monthly periods): The anchor month is set per product row — in the line-item dialog of a service (or per extra article) under "Configure per customer". It defines the phase of the cadence: the item lands on that month's monthly invoice (appended below the monthly positions) and then — depending on the period — again every 3 (quarterly), 6 (semi-annually) or 12 (annually) months. This is needed because a customer can have several such line items with different start months (bought mid-year). In all other months, the run skips them. Without an anchor month set, the line item is never billed — the invoice run lists the affected products by name as a warning. As a reference point, "Configure per customer" shows the customer's earliest ALSO term end.
- Unmapped customers are not billed — the invoice run lists them beforehand as a warning.
Article mapping
Each metric per portal (e.g. ninjaone/servers, ALSO products, Autodesk products) is assigned to a weclapp article. Unmapped metrics do not appear on invoices. HaloPSA times are deliberately not included here — services are a separate invoice document; their article mapping lives in the "Article mapping" tab of the HaloPSA view.
- The metric names of each integration are listed on its integration page.
- The dialog shows the article price — customer-specific weclapp prices are highlighted.
- Period per product: By default almost every product goes on the monthly invoice, because in practice most annual licenses are billed monthly ("1 year paid monthly" — the article price is the monthly price). The true "… (jährlich, Prepaid)" licenses (annual prepayment) are the exception: they default to annual — monthly would make no sense there. Switching is possible at any time; like every non-monthly period, they only invoice once an anchor month is set (until then the invoice run warns). The "Prepaid" suffix makes these subscriptions findable in the product search; the underlying metric is still called "… (jährlich)". Besides monthly and annual, quarterly and semi-annual are also available — per product (globally), per customer as an override, or per extra article. Every non-monthly period is explicit configuration and needs an anchor month; in the anchor months the invoice run appends these line items below the monthly positions of the customer's ONE monthly PRE invoice.
- Price-protection hint: For ALSO products, the service row (and the line-item dialog) shows "Price protection until …" below the weclapp price — red for expired price protection, yellow for price protection expiring within 60 days. That way, when setting the sales prices it is visible how long the purchase price is fixed.
- Reset all mappings: After confirmation, the red button next to the product search removes all global article mappings and period settings (audit-log entry included). Customer-specific overrides, extra articles and services are kept; until re-mapped, the products appear on no invoice.
Customer-specific adjustments
Line items can be refined per customer — everything takes effect automatically from the next invoice on:
| Tool | Purpose |
|---|---|
| Overrides | override the line-item name, quantity, amount or purchase price (EK, cost basis of the controlling margin — never on the invoice) of a mapped line item |
| Extra articles | fixed additional line items (e.g. flat fees), optionally with their own line-item text, unit price (sales price) and purchase price (for the controlling margin) |
| Services | recurring service line items per customer, with a price per row |
Merges in the customer view automatically move all these settings along.
Jumping to a customer quickly: In the customer mapping, clicking the customer name — or one of its service chips (e.g. "10 services") — leads directly to the Customer tab and opens that exact customer's configuration there.
The small Refresh button next to the customer selection reloads just the panel's weclapp data — customer and article lists, line items including prices and the expected amount. Handy when something was changed directly in weclapp (new article, changed price): just click instead of reloading the page.
Line-item table & order (drag & drop)
In the Customer tab, all line items — mapped services and extra articles — sit in one shared line-item table in invoice order. Each row carries its own controls: for services the article override, the "On invoice" toggle and adjusting text/quantity/price; for extra articles editing (article, quantity, unit price, purchase price, line-item text, description, billing/anchor month) via the pencil button, and deleting. An extra article without its own unit price shows the resolved weclapp price the invoice would bill in its price column (customer price before standard price) — the plain "article price" label only remains while no price is known. Description texts (position dialog and extra articles) are edited in a small rich-text editor — bold, italic, underline and lists carry over to the weclapp line-item description. The desired order is set via the drag handle (drag & drop) or the up/down arrow buttons — services and extra articles can be mixed freely, and every move is saved automatically (a short status next to the table title confirms it — there is no save button to forget). The form for adding extra articles sits below the table.
One invoice line per article (per-customer switch above the table): service positions that resolve to the same article are combined into a single line on the invoice. Quantity positions add up — e.g. all Meraki license metrics mapped to one article appear as one position with the total quantity (auto-priced rows are combined so weclapp determines one price for the summed quantity; scale prices then apply to the true total, manually priced rows only merge on the exact same price). A € position billed at the article's customer price turns the article into a flat rate: every position of that article — € subscriptions and quantity services alike — merges into ONE line and the fixed price counts ONCE (e.g. two Azure subscriptions plus a Veeam service on one 500 € flat article bill 500 €, not 3 × 500 €). Affected rows carry a "combined" chip; the merged line keeps the slot and the line-item text of its first row. An article can also be switched to a flat rate explicitly — the clickable "flat rate" chip on combined rows toggles it per article: the merged line then bills one price at quantity 1 instead of summing quantities (e.g. four Meraki rows on one 19 € article bill 19 €, not 9 × 19 €). A price override on a participating row becomes the flat price (its purchase-price override feeds the group's cost in the controlling); without one, the article/customer price applies once. Extra articles and pure € pass-through amounts always stay separate lines. The controlling mirrors the merged lines: a flat rate counts its fixed price once in revenue and margin (the costs of every participant keep counting, and the loss list checks the flat price against the group's summed purchase cost), and auto-priced quantity groups are priced at their summed quantity.
During the invoice run, the line items are then created in the PRE invoice in exactly this order. Line items that have not been sorted in yet (e.g. a newly added product) attach at the end and keep their previous order there — so the saved arrangement stays stable even as products change.
Expected invoice amount
Above the line-item table, Multiverse shows the customer's expected invoice amount — split into monthly and annual (net), without a PRE invoice having to be generated for it. The total is computed live from exactly the line items in the table, with the same price logic as in the invoice run: a set price override wins, otherwise the weclapp sales price applies (customer price before standard price); € pass-throughs count with their amount — unless the article carries a customer-specific weclapp price (a fixed-price deal, e.g. a flat Azure rate): then that fixed price is billed instead of the amount (a standard price alone never replaces the amount); the quantity comes from the override, otherwise from the snapshot. Disabled line items ("On invoice" off) are not included; line items without an article mapping or without a stored sales price are not counted but tallied in a hint next to it. Every change — toggling, override, extra article — updates the amount immediately. Annual line items still invoice only in their respective anchor month; the annual total states the entire annual volume.