Skip to main content
An obra (construction project) is the primary record in Sintesis. Every document, certificate, and report in the platform is attached to an obra. The obras dashboard gives your team a single, editable view of all active and historical projects across your tenant.

What is an obra?

An obra represents a construction contract awarded to your firm. It captures the project’s identity, the contracting authority, contractual financial amounts, timeline, and the current physical progress percentage. All obra data is scoped to your tenant — other tenants cannot read or write your records.

The obras dashboard

Navigate to Panel de obras (/excel) to see all obras for your tenant in a spreadsheet-style grid.

Dashboard features

Inline editing

Click any cell to edit it directly. Changes are saved on blur or Enter. Currency and number fields are formatted with Argentine locale (es-AR).

Inline search

Use the search bar to filter obras by designation, contracting entity, or any visible column. Search normalizes diacritics so ñ and n match interchangeably.

Tab filters

Predefined tab filters let you quickly segment obras (e.g., in-progress, completed). Tabs are configurable per tenant.

Column menu

Show, hide, pin, or resize columns from the columns menu. Custom columns configured by your admin appear here too.
On mobile, the obras dashboard switches to a card list view with a progress bar for each obra’s porcentaje field.

Obra schema

The following fields are stored in the public.obras table. All numeric monetary fields are stored in ARS (Argentine pesos) unless otherwise noted.
ColumnTypeDescription
iduuidPrimary key, auto-generated.
tenant_iduuidThe tenant this obra belongs to.
nintegerSequential obra number. Unique per tenant.
designacion_y_ubicaciontextProject name and location description.
sup_de_obra_m2numericBuilt surface area in square metres.
entidad_contratantetextName of the contracting authority or client.
mes_basico_de_contratotextBase contract month (reference price month).
iniciaciontextProject start date.
contrato_mas_ampliacionesnumericOriginal contract value plus approved amendments.
certificado_a_la_fechanumericTotal certified to date (cumulative).
saldo_a_certificarnumericRemaining balance to certify (contrato_mas_ampliaciones − certificado_a_la_fecha).
segun_contratointegerOriginal contractual term (months).
prorrogas_acordadasintegerExtensions granted (months).
plazo_totalintegerTotal term including extensions (segun_contrato + prorrogas_acordadas).
plazo_transcintegerElapsed term in months.
porcentajenumericPhysical completion percentage (0–100).
created_attimestamptzRecord creation timestamp.
updated_attimestamptzLast update timestamp (auto-updated by trigger).
certificado_a_la_fecha and saldo_a_certificar can be derived automatically from the Certificados Extraídos tabla when OCR-extracted certificate data is available. Sintesis will suggest derived values and warn you before overwriting manually entered figures.

Creating an obra

1

Open the obras dashboard

Go to Panel de obras in the sidebar. The table loads with all existing obras for your tenant.
2

Add a new row

Click Agregar fila vacía at the bottom of the table to insert a blank row.
3

Fill in required fields

At minimum you must enter:
  • Designación y ubicación — project name and location
  • Entidad contratante — the contracting authority
  • Mes básico de contrato — the reference price month
  • Iniciación — start date
All other fields default to 0.
4

Save

Click outside the row or press Enter to commit the new obra. The record is created immediately in Supabase.

Editing an obra

Click any editable cell in the obras table to enter edit mode. The cell type determines the input:
Cell typeBehaviour
textFree-text input
numberNumeric input with es-AR locale formatting
currencyNumeric input formatted as ARS currency
checkbox / booleanToggle control (Sí / No)
For detailed per-obra editing — including certificates, documents, and tablas — open an obra by clicking its row or navigating to /excel/[obraId].

Importing obras from CSV

You can bulk-import obras from a semicolon-delimited CSV file exported from your existing system.
1

Prepare your CSV

Your CSV must use ; as the delimiter. Sintesis supports single-row and multi-row (3-row) headers. Required columns are:
CSV header (or alias)Maps to field
designacionYUbicacion / designaciondesignacion_y_ubicacion
entidadContratante / entidadentidad_contratante
mesBasicoDeContrato / mesBasicomes_basico_de_contrato
iniciacion / inicioiniciacion
Optional columns like porcentaje, contratoMasAmpliaciones, plazoTotal, etc. are mapped automatically if present.
2

Click Import CSV

In the obras dashboard toolbar, click Importar CSV and select your file. Sintesis decodes both UTF-8 and Windows-1252 encodings automatically.
3

Review the preview

A slide-over panel shows the first 5 rows of the parsed import. Review the mapping before committing.
4

Confirm the import

Click Confirmar importación. Obras are appended with sequential n values starting after the current maximum. Rows with missing required fields are skipped and a count is shown in the notification.
The CSV importer appends new obras — it does not update existing records. Use inline editing to modify existing obras after import.

Row-level security

All obra operations (select, insert, update, delete) are enforced by Supabase Row Level Security policies. A user can only access obras that belong to the tenant they are a member of.
-- Example: read policy
CREATE POLICY "Users can view obras from their tenant"
  ON public.obras FOR SELECT
  USING (
    tenant_id IN (
      SELECT tenant_id FROM public.memberships
      WHERE user_id = auth.uid()
    )
  );

Build docs developers (and LLMs) love