Browse the documentation

Features

Quotations

Create print-ready quotations from a tender's priced items or from scratch: a bilingual PDF carrying your organization's stamp and the sales person's signature once approved, with the accompanying product documents, bulk package downloads, and the bid files: the two NUPCO files and the cover letter.

The Quotations page (under the Sales section of the navigation bar) is where your prices become a document you hand to a customer: a fixed-layout PDF reproducing your organization's approved price-quote template to the millimetre, addressed to the tender's agency or a customer you name, with priced lines, VAT and computed totals. A quotation is created from tender items you priced under Bid pricing or from scratch, and goes through an approval step: the stamp and the sales person's signature print only on an approved quotation. Quotations belong to the whole organization: what a colleague creates, you see.

The quotations list

The quotations list: number, customer, sales person, status and total

The table shows each quotation by number (linking to its page), the customer: with the tender's name beneath it when the quotation is tender-linked: the RFQ number, the printed sales person, the approval status (Draft or Approved), the total and the creation date. Above the table the Total value of the visible quotations shows, grouped per currency, with their count. It follows the applied filter, so it always describes what you see. Arriving from the All quotations button on a tender's page opens the list filtered to that tender alone, with a chip you close from its ×.

The search box looks for a plain word across the quote number, customer, tender name, agency and RFQ number at once, and understands a structured syntax in the style of the tender search bar with the list's own fields:

WriteTo find
Q-001355The word in the quote number, customer, tender name, agency or RFQ number.
status:draft or status:approvedOnly the drafts, or only the approved.
number:, customer:, rfq:, tender:, agency:, currency: or salesperson:The word in that one field, like salesperson:ahmed for one sales person's quotations.
nupco OR moh, -draft, "exact phrase"The same grammar: OR for either word, - to exclude, and quotes for an exact phrase.

Creating a quotation

The new quotation form: linked tender, customer, validity, delivery and sales person

A quotation starts in one of two places. The first and most used is the tender page: select priced items and choose One quote per selected item. What NUPCO asks for, one item per quotation, or One quote for all selected. The quotations are made straight away: each line with its item's name, NUPCO code, unit, quantity, the price recorded under bid pricing and the product you selected for it. The second is the New quotation button on this page, for a quotation from scratch, for a private-sector customer, say, with an optional tender link. A new quotation opens on its sheet as it will print: you fill each field where it prints and pick a product from your catalog for every line. A run that makes several quotations lands on this list filtered to the tender with those quotations already selected, so the actions bar (sales person, approval, downloads) is open on exactly the rows it made.

Note:Generating from a tender is regeneration-safe: an item that already has a quotation on that tender (or an existing combined quotation covering exactly the selected items) has its lines and totals refreshed in place under the same number and header instead of getting a duplicate. Only creating a new quotation counts against your plan's monthly generated-documents quota; a refresh in place does not.

The header fields

  • Customer: the name printed as the addressee; pick one from the customer directory and its legal name is copied, or type it. On a tender-linked quotation the field is optional: leave it blank and the tender's agency prints, type a name and it wins. On a standalone quotation it is required.
  • Quote number: minted automatically from your organization's sequential counter on create, and editable later from the edit page. The number is unique within your organization: a taken number is refused with a clear message, and the counter automatically skips any number you typed by hand.
  • RFQ number, quote validity and delivery period in days, and notes. All print on the document. Validity and delivery seed from your organization's defaults (set by the owner in the organization settings).
  • Payment terms: a ready list of Saudi-market presets (100% advance, 50% advance and the rest on delivery, due on delivery, net 30/60/90 days) printing bilingually, or custom text printed exactly as typed, or none so the row does not print at all. The default comes from the organization settings.
  • Sales person: the name, phone and email printed in the contact block. Pick someone from the sales-people roster and the three fields fill from their record, or type them yourself: what the fields say is what prints, whatever the source, and your own details are the default. Picking a roster person links them to the quotation, and that link is what decides the signature printed after approval. See Approval and the stamp.

The lines

The quotation line editor: description, product, manufacturer, quantity, price, VAT and line total

Each line is a row of the quotation's own items table, in the columns it prints: the product and its description, the stock number, F. No. and unit under it, then quantity, VAT rate and unit price, with the line total beside them. The totals and the amount in words update as you type. Every new line starts at its product: type into the line's product field to search your catalog by name, NUPCO code, catalogue number or manufacturer, and pick a match. Picking fills the description, completes the codes and unit when blank, sets the catalog's recorded sale price when you typed none, switches the VAT by the product's medical flag (the standard 15% or 0% for zero-rated products) and picks its default manufacturer. When nothing matches, Create a product named what you typed opens a short panel under the line: name, product or service, unit, sale price, VAT, catalogue number and NUPCO code. Create and use adds it to your catalog and fills the line; its packing levels, photos and files are added later on the product page. A new line cannot be saved without a product, while a line saved earlier without one keeps saving as it is. The link is also what later supplies the product document with the catalog and certificates.

The printed document

The printed quotation preview: header, lines with their photos, totals, stamp and signature
The preview is the final document itself. Logo, stamp, signature and product photos all in place.

The quotation's page shows the document exactly as it prints: an A4 landscape sheet in the reference price-quote layout, scaled to fit your screen with an Actual size button returning it to print size, and Download PDF downloads it. Your organization's header details (legal name, registrations, logo) are frozen at creation time: editing the organization profile later never changes an issued quotation, so a printed document stays as printed. Each line prints its stock number, F. No. and unit on a small line under its description, and the VAT total prints as its own row above the grand total, which keeps the number columns wide enough that no amount ever wraps. A line linked to a product with photos prints its picture in a dedicated column, and a long quotation flows over pages with automatic numbering.

The PDF's file name is the quote number. Except a single-line quotation on a NUPCO tender, named tender reference, then quote number, then item serial: NUPCO asks for one quotation per item and takes one upload per item, so a whole folder of files stays tellable apart by name alone.

Approval and the stamp

An approved quotation's header: the Approved chip with Un-approve, Edit, Product document and Download PDF

Every quotation is either a Draft or Approved, and approval is what makes the document issuable: the organization stamp uploaded in the organization settings and the sales person's signature print only while the quotation is approved, and the document itself states it is not valid unstamped, so a printed draft says so on its own. The printed signature is the linked roster sales person's: when they are a team member who drew their signature in their personal settings, it prints under their name; otherwise the quotation prints without one, and approval does not depend on it existing.

Approving and un-approving is owner and admin only: from the approval button on the quotation's page, or in bulk by selecting rows in the list. In return, any content edit automatically returns the quotation to draft: the stamp certifies the exact content that was approved, so changing a line or the header means a fresh approval before the stamp prints again.

Editing

Edit on the quotation's page opens the quotation's sheet as it prints: the header, quote number, tender link and every line are edited where they print, and Print preview shows the PDF the quotation will print before you save. To edit many at once, Edit in table on the list turns the selected rows (or, with nothing selected, every row the filter shows) into a sheet whose cells you edit directly: quote number, customer, RFQ number, validity, delivery, payment terms, currency, notes and the Sales person, picked from your roster, which fills the printed contact the way the form's picker does. The All row at the top of the sheet sets a column on every row at once: type a value there and press Enter (or pick a sales person there), and every row takes it, the quotation number excepted. Columns shows the printed name, phone and email for a per-quotation override. Header fields only: the lines are never touched from this path. Review changes shows how many rows changed and Confirm saves them together; a row that fails (a taken quote number, say) fails alone and is named, and what saved stays saved. And remember: the edited rows return to draft, and they stay selected for the Approve that follows.

The product document

The product document page: choosing what the pack includes for each line

The Product document button on the quotation's page generates the technical-documents file that accompanies the quotation into a submission: a ZIP holding, per line, a cover letter with the product's summary page followed by its catalog, the catalog on its own, the SFDA document: the certificate stored on the product, or a generated compliance letter when there is none: the manufacturer's authorization letter, and a plain-text registration-info file. Choose combined for all lines or a single item, review each line's fields prefilled from the product and adjust what you need, and upload a replacement catalog PDF per line to override the stored one. The catalog and certificates come from the line's linked product and its manufacturer: the one picked on the line, else the product's default, else its sole linked one, so a line with no linked product comes out without a catalog and says so before generating.

Downloading and deleting in bulk

Selecting rows in the list opens the actions bar. Its Download menu holds Download quotation PDFs, which fetches each selected quotation's document one after another with a progress counter, and Download all files, which puts every selected quotation's complete package into flat ZIP files: the quotation PDF and the product document's per-line files side by side, each name starting with its quote number so many quotations' files stay tellable apart once extracted. The files are built in the background and show under Generated files, and a large selection arrives as numbered ZIP parts, each quotation whole in one of them. A quotation that fails to render is named by number in the report, never silently dropped. One download takes up to 100 quotations. Below them in the same menu are the three bid files. The bar also carries the bulk Approve and Un-approve, which keep the selection for the bid files that come next, and a Delete behind a confirmation. To set the sales person on many quotations, select them, open Edit in table and pick the person in its All row.

Generated files

Download all files and the NUPCO attachments file take a while, so they are built in the background and show in the Generated files card at the top of the list while one is building or ready to download. The card starts collapsed, its header counting what is building and what is ready; open it for each file's progress or its download buttons. A file a teammate started shows their name, and a file that could not be built leaves the card, the page that started it saying why. You can keep working or leave the page, and the card is still there after a refresh. A file you started on this page downloads by itself once it is ready, and the card keeps its links to download it again. A large file comes as numbered ZIP parts: extract them all into one folder.

The card is the whole team's: everyone who can see bid pricing sees the files teammates generated, and can download them or cancel one still running. A finished file stays available for 24 hours, then it is deleted. One attachments file builds per tender at a time, and one download of all files per person; asking again shows the one already running instead of starting another.

Warning:Deleting a quotation (from its page or the bulk bar) is permanent: the quotation and its lines are removed together after the confirmation, and there is no recycle bin here. Documents you downloaded earlier stay with you, but the platform cannot regenerate them.

The bid files

Submitting on a NUPCO tender goes through the SRM portal with two files: the response file with the prices, and the attachments file naming each item's documents. And any buying body takes a cover letter with the offer. All three are produced here, from the quotations you select, once the work before them is done: price the items on the tender page, generate their quotations, approve them, then select them in the list and open Download. The last three entries of that menu are the bid files, and each opens a panel under the bar. For the offers themselves on the iNUPCO portal, there is a step-by-step walkthrough.

Note:The files cover exactly the selected quotations: only the items those quotations quote are filled, listed or counted, and only those quotations are cited. Select the quotations of one tender; the two NUPCO files need a NUPCO tender, while the cover letter works for any. A draft may be selected, but the panel counts it, because its PDF prints without the stamp: approve it before you submit. Every file covers priced, participating items only, and an item priced 0 counts as unpriced and is left out.

The NUPCO response file

  1. Download the tender's bid-response Excel file from the NUPCO portal. The template the portal itself provides, not any other file.
  2. Select the tender's approved quotations in the list, then choose Fill NUPCO response file from the Download menu.
  3. Press Upload & fill template and pick the file.
  4. Read the report, then press Download to take the filled file and upload it on the portal.

The platform matches the template's rows to your items by material code and, in every priced, participating row the selected quotations cover, fills the columns NUPCO lets a supplier change: the price, the VAT rate (from the selected product: 15% unless the product says otherwise, and medical products in your catalog are zero-rated), the trade name, catalog number, manufacturer and country, SFDA registration details, lead time and the rest. Whatever is not filled stays as it came from the portal. The report says how many items were filled across how many rows, names the priced codes not found in the template, the priced items left out for not participating, the items priced 0 that were left out, the priced items no selected quotation covers, and the rows still missing a mandatory field for you to complete by hand before uploading.

Warning:Rows that were not filled come back hidden in the file, not deleted: their data stays for NUPCO's upload while you open the file straight onto your bid rows. Do not delete them. An item with no selected product gets only its price and VAT filled, so link the products before filling to get a complete file.

The NUPCO attachments file

The portal's second upload is a tab-delimited text file naming, for each item, its quotation PDF, catalog, SFDA certificate and MDMA annex. Choose Generate NUPCO attachments file from the Download menu, type the RFx response number as the portal shows it, and press Generate attachments file. The file is built in the background and shows under Generated files, holding the text file ready for upload together with every PDF it cites under exactly that name: the selected quotation covering the item, its product's cover page followed by the catalog stored on the product, and the SFDA certificate stored on the product or a generated compliance letter when there is none, so the extracted files go up beside the text file as they are. A large packet comes as numbered parts with the text file in the last one: extract them all into one folder.

The report names the lines missing a file and which slot is missing (an item with no quotation yet, for instance) and warns when a quotation is still a draft (it prints without the stamp).

The cover letter

Generate cover letter produces the Arabic covering letter that goes with the bid to any buying body: it addresses the buyer, states the offer's item count and its VAT-inclusive total with the breakdown, and attests compliance with the SFDA, SASO's Saber platform and the Kingdom's import and customs rules. Type your letter number if your organization numbers its correspondence; the platform keeps no correspondence register, so it never invents one. The count and the money are read from your bid prices for the selected quotations' items, with VAT per line at each product's own rate, exactly as the NUPCO response file writes it, so the letter cannot contradict the file beside it. The panel shows what the letter printed before you download it, and flags lines whose VAT rate contradicts their product's medical flag.

Warning:Prices come from the bid, not the quotation: if a selected quotation states a different unit price than the saved bid price (it was edited after it was generated, say), the files still use the bid price and the report names the quotation, so re-price the item or regenerate the quotation before you submit. When two selected quotations cover the same item, the approved one (else the newest) is used and the report says so.

Who sees and edits what

Quotations are sale-side pricing end to end, so they follow the sale-pricing rule: the whole page (and its navigation link) is withheld from the viewer without pricing and technical roles. Whoever sees it can download the documents; creating, editing and deleting is for the working roles: owner, admin, sales and purchasing; and approving and un-approving is owner and admin only. Creating a new quotation counts against the plan's monthly generated-documents quota, and the usage banner on the create page shows the balance.

Outside the browser

Everything here is on the API under the quotations.read and quotations.write scopes: listing and creating at GET/POST /api/v1/quotations, one quotation at GET/PATCH/DELETE /api/v1/quotations/{id} (where omitted PATCH fields mean "unchanged", and only a sent items replaces the lines) bulk approval at POST /api/v1/quotations/approval, batch header edits at PATCH /api/v1/quotations/bulk, the defaults at GET /api/v1/quotations/defaults, the documents at /api/v1/quotations/{id}/pdf, /package and /product-document with the whole-selection bundle at POST /api/v1/quotations/packages, and one tender's quotations and their generation at GET/POST /api/v1/tenders/{id}/quotations. The bid files are at POST /api/v1/tenders/{id}/nupco-response, /nupco-attachments and /cover-letter under the bids.read scope, each taking quotation_ids to pick the quotations. The whole-selection bundle and the attachments file answer 202 with a job built in the background: follow it at GET /api/v1/generation-jobs/{id} and fetch its parts from GET /api/v1/generation-jobs/{id}/parts/{index} once it has finished, with the list at GET /api/v1/generation-jobs and cancelling at POST /api/v1/generation-jobs/{id}/cancel.

On the MCP server the same family exists as tools: quotations_list, quotations_get, quotations_create, quotations_update, quotations_delete, quotations_set_approval, quotations_bulk_update and quotations_defaults_get, the documents through quotation_pdf, quotation_package, quotation_packages_bundle and quotation_product_document, the files built in the background through generation_jobs_list, generation_jobs_get, generation_jobs_part and generation_jobs_cancel, and a tender's quotations through tender_quotations_list, tender_quotations_generate. The same regeneration-safe path, and tender_quotation_pdf_bundle. The sheet_import tool with the quotation_items target builds a whole quotation from an Excel file of lines. So send the WhatsApp assistant a price sheet and say "make a quotation out of this", and it creates one through these very tools under your same role limits, and hands you the PDF right in the chat. See the API reference and Getting started.