> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Sample 3. Step 3: Blocks

> Create the invoice sample blocks (six Text blocks plus an InvoiceTable Table block with named columns) before describing any FlexiLayout elements.

The main goal of FlexiLayout creation is reliable detection of these blocks, when they occur on an image:

* **Invoice Number**
* **Invoice Date**
* **Delivery Address**
* **Total Quantity**
* **Total Amount**
* **Country**
* **Invoice Table** (only the columns **Reference**, **Designation**, **Quantity**, **Unit Price**, and **Total**)

Create these blocks first, so their list is available during FlexiLayout creation.

| Block               | Type                                              | Corresponds to field |
| :------------------ | :------------------------------------------------ | :------------------- |
| **InvoiceNumber**   | [Text](/flexi-capture/fls/template/blocks)        | **Invoice Number**   |
| **InvoiceDate**     | [Text](/flexi-capture/fls/template/blocks)        | **Invoice Date**     |
| **DeliveryAddress** | [Text](/flexi-capture/fls/template/blocks)        | **Delivery Address** |
| **TotalQuantity**   | [Text](/flexi-capture/fls/template/blocks)        | **Total Quantity**   |
| **TotalAmount**     | [Text](/flexi-capture/fls/template/blocks)        | **Total Amount**     |
| **Country**         | [Text](/flexi-capture/fls/template/blocks)        | **Country**          |
| **InvoiceTable**    | [Table](/flexi-capture/fls/tables/general-tables) | **Invoice Table**    |

For the **InvoiceTable** block, open its **Properties** dialog box and click the **Columns** tab. Add the column names in the order used later in a FlexiCapture Document Definition: **Reference**, **Designation**, **Quantity**, **UnitPrice**, and **Total**. For more information, see [Table block](/flexi-capture/fls/tables/table-block).

<Frame>
  <img src="https://mintcdn.com/abbyy/8aWHPAJyzWmTqglX/images/flexi-capture/fls/tutorial3_3.gif?fit=max&auto=format&n=8aWHPAJyzWmTqglX&q=85&s=fb80dfa049ba61ea5193a8808655982b" alt="Screenshot of the six Text blocks and the InvoiceTable Table block created in the FlexiLayout Studio blocks list" width="431" height="455" data-path="images/flexi-capture/fls/tutorial3_3.gif" />
</Frame>

At this stage, you specify only each block's type and name, plus the column order for the **Table** block. You describe each block's location later, after all the auxiliary elements are described and debugged.

<Warning>
  Create the [Table](/flexi-capture/fls/tables/general-tables) block before the [Table](/flexi-capture/fls/tables/general-tables) element that looks for it, because the Table element must keep a reference to the Table block. This makes Table blocks different from [Text](/flexi-capture/fls/template/blocks), [Barcode](/flexi-capture/fls/template/blocks), [Checkmark](/flexi-capture/fls/template/blocks), and [Picture](/flexi-capture/fls/template/blocks) blocks, which you can create later, after modifying the FlexiLayout and creating the elements for the other blocks (as in [Sample 1](/flexi-capture/fls/tutorial/tutorial-general) and [Sample 2](/flexi-capture/fls/tutorial2/tutorial2-general)).
</Warning>

Now that the preparatory settings are done, you can start creating elements.
