Skip to content

The complete Leistungsverzeichnis

By default a tender contains only its priced content: an ordinal number Mercura matched no article to, one whose articles were all taken off again, and one it flagged not relevant produce no line at all. That is what you want when you import the offer. It is not what you want when your system holds the Leistungsverzeichnis itself — there the gaps make the LV look incomplete and its numbering discontinuous.

Pass include_all_positions=true on GET /tenders or GET /tenders/{tender_id} and every ordinal number of the source LV is reported, in its LV order:

  • An ordinal number with no priced line comes back as exactly one line flagged is_lv_only: true, carrying the LV's own position_number, specification_text, quantity, unit and gaeb_position_type — and no article and no prices. "No priced line" covers both an ordinal number nothing was ever matched to and one whose matched articles were all taken off again: un-matching an article does not remove the position from the LV as tendered.
  • A position flagged not relevant reports that single LV-only line too, even when selections sit behind it: Mercura decided the ordinal number is not part of this offer, so its prices stay out of the payload.
  • LV-only lines never count toward totals, and the ETag covers the editable content only. A document fetched with include_all_positions=true therefore round-trips through PATCH /tenders/{tender_id} unchanged: echoed LV-only lines are ignored (there is no selection behind them to edit).
  • The parameter composes with include_deleted. A removed ordinal number — one whose position itself was deleted — is reported as removed, not refilled as LV-only, so the two flags never appear on the same line. An ordinal number that merely lost every article it had is not a removal: it comes back as the single LV-only line instead of its removed article lines. With both parameters set, every ordinal number still in the LV therefore has at least one unflagged line, and "all lines flagged" keeps meaning "this ordinal number is gone". (If you need the removed article lines of such a position, read the document without include_all_positions.)
  • Pair it with specification_text to import the LV as tendered: that field is the Ausschreibungstext on every line, matched or not, so one code path covers the whole document.