> For the complete documentation index, see [llms.txt](https://docs-fr.docbits.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs-fr.docbits.com/administration-and-setup/workflow/cards-overview/field-manipulation-guide.md).

# Field & Table Manipulation Cards

## Cartes de manipulation des champs et des tableaux - Guide complet

Ces cartes se placent dans le groupe **Then** du Concepteur de workflow — les actions exécutées une fois les conditions When/And remplies :

<figure><img src="/files/SkLCEcw1GOko8h9Q9tZ1" alt="Workflow Builder"><figcaption><p>Les cartes sont ajoutées au groupe <strong>Then</strong> via <strong>Add Card</strong>.</p></figcaption></figure>

**Couvre :** 9 cartes pour modifier les champs et les tableaux des documents

***

## Manipulation des champs de document

### Carte : ACTION\_SET\_FIELD\_TO\_TEXT / Set Field to Text Value

#### Objectif

Remplit automatiquement un champ de document avec un texte spécifique

#### Quand l'utiliser

* Renseigner un champ à partir d'une décision
* Définir des valeurs par défaut
* Remplir des informations standardisées
* Mettre à jour un champ en fonction de conditions

#### Comment ça fonctionne

```
IF Condition is true
    THEN Set Field "Category" to Value "Premium"
```

#### Exemples de scénarios

**Scénario 1 : Définir la catégorie d'approbation**

```
Condition: Invoice amount > €10,000
    ↓
Action: Set "Approval_Category" field to "High Value"
    ↓
Result: Document now shows "Approval_Category: High Value"
```

**Scénario 2 : Définir la catégorie du fournisseur**

```
Condition: Supplier name contains "ABC"
    ↓
Action: Set "Supplier_Type" field to "Preferred Supplier"
    ↓
Result: Document marked as "Preferred Supplier"
```

**Scénario 3 : Définir les notes de traitement**

```
Condition: Document has been rejected
    ↓
Action: Set "Processing_Notes" to "Requires supplier revision"
    ↓
Result: Note appears for next processor
```

#### Paramètres

**Field Name** Quel champ mettre à jour

```
Examples: Category, Type, Status, Comment, Notes
```

**Text Value** Quoi mettre dans le champ

```
Examples: "Approved", "Pending Review", "High Priority"
```

#### Étapes de configuration

1. Choisissez le champ à remplir
2. Saisissez la valeur textuelle
3. Définissez les conditions (quand remplir)
4. Enregistrez

***

### Carte : ACTION\_SET\_BOOLEAN\_FIELD / Set Checkbox Field

#### Objectif

Coche ou décoche automatiquement un champ case à cocher

#### Quand l'utiliser

* Marquer comme traité
* Définir des indicateurs d'approbation
* Activer/désactiver des options
* Marquer pour l'exportation

#### Comment ça fonctionne

```
IF Condition is true
    THEN Check/Uncheck the "Approved" box
```

#### True = Coché, False = Décoché

**Exemples :**

**Exemple 1 : Marquer comme vérifié**

```
Condition: PO matches perfectly
    ↓
Action: Check "Verified" checkbox
    ↓
Result: ✅ Verified (checked)
```

**Exemple 2 : Signaler pour révision manuelle**

```
Condition: Price variance > 10%
    ↓
Action: Check "Requires_Manual_Review" checkbox
    ↓
Result: ✅ Requires_Manual_Review (marked)
```

**Exemple 3 : Décocher une case pré-remplie**

```
Condition: Supplier is blacklisted
    ↓
Action: Uncheck "Approved_for_Payment" checkbox
    ↓
Result: ☐ Approved_for_Payment (unchecked - blocked)
```

#### Paramètres

```
Checkbox Field: [Choose field]
Set To: ☑ Checked (✅ True)
   or: ☐ Unchecked (❌ False)
```

***

### Carte : ACTION\_INVERT\_BOOLEAN\_FIELD / Toggle Checkbox

#### Objectif

Inverse l'état de la case à cocher (cochée → décochée, et vice versa)

#### Quand l'utiliser

* Inverser le statut d'approbation
* Changer de mode de traitement
* Inverser l'état précédent
* Mettre à jour des indicateurs booléens

#### Comment ça fonctionne

```
Current state: ✅ (Checked)
    ↓
ACTION_INVERT: Toggle the box
    ↓
New state: ☐ (Unchecked)

OR

Current state: ☐ (Unchecked)
    ↓
ACTION_INVERT: Toggle the box
    ↓
New state: ✅ (Checked)
```

#### Exemple

```
Invoice received with "Priority" checked
    ↓
After processing, invert "Priority" checkbox
    ↓
Checkbox now unchecked (no longer priority)
```

***

### Carte : ACTION\_COPY\_DOCFIELD\_TO\_DOCFIELD / Copy Field Value

#### Objectif

Copie la valeur d'un champ vers un autre champ

#### Quand l'utiliser

* Copier les infos du fournisseur vers les infos de facturation
* Dupliquer des données entre champs
* Standardiser le format des données
* Créer une sauvegarde d'une valeur

#### Comment ça fonctionne

```
Source Field: "Invoice_Supplier"  Value: "ABC Corp"
    ↓
COPY TO
    ↓
Target Field: "Billing_Partner"  Value: "ABC Corp"

Both fields now have same value
```

#### Exemples concrets

**Exemple 1 : Copier l'adresse de livraison**

```
Source: "Delivery_Address" = "123 Main St, Berlin"
    ↓
Copy to: "Billing_Address"
    ↓
Result: Both fields show "123 Main St, Berlin"
```

**Exemple 2 : Copier le code fournisseur**

```
Source: "Supplier_Code_External" = "SUPP-789"
    ↓
Copy to: "Supplier_Code_Internal"
    ↓
Result: Both codes match, system recognizes supplier
```

**Exemple 3 : Copier le montant pour validation**

```
Source: "Invoice_Total" = "€5000"
    ↓
Copy to: "Amount_to_Validate"
    ↓
Result: Validation field has correct amount
```

#### Paramètres

```
Source Field: [Choose field to copy FROM]
Target Field: [Choose field to copy TO]
```

#### Remarques

* Le champ d'origine reste inchangé
* Le champ cible est écrasé par la valeur source
* Idéal pour standardiser les données

***

## Manipulation des tableaux

### Carte : EDIT\_COLUMN / Edit Table Column

#### Objectif

Modifie les valeurs d'une colonne de tableau en fonction de conditions

#### Quand l'utiliser

* Corriger des erreurs de tarification dans les lignes d'articles
* Mettre à jour des quantités
* Corriger les descriptions d'articles
* Standardiser des valeurs

#### Comment ça fonctionne

```
Table Column: "Unit_Price"
Original Values: [100, 105, 103]
    ↓
FIND: Values matching condition
REPLACE: With new value
    ↓
Updated Column: [100, 110, 110] (example)
```

#### Exemple : Corriger la tarification

**Scénario : Prix dans la mauvaise devise**

```
Table "Line_Items" with column "Price"

Current prices: [100, 100, 100] (in wrong currency)
    ↓
Condition: "If Price column equals 100"
    ↓
Action: Replace with 95 (corrected price)
    ↓
Result: [95, 95, 95] (prices corrected)
```

#### Paramètres

```
Table: [Choose table]
Column: [Choose column to edit]
Find: [Value to find]
Replace with: [New value]
Condition: [When to apply]
```

#### Utilisations courantes

* Corriger les prix unitaires
* Standardiser les descriptions
* Corriger les quantités
* Mettre à jour les numéros de SKU

***

### Carte : CALC\_COLUMNS / Calculate Column Values

#### Objectif

Effectue un calcul sur les colonnes d'un tableau et stocke le résultat

#### Quand l'utiliser

* Calculer les totaux de ligne (Qté × Prix unitaire)
* Additionner des colonnes
* Calculer des remises
* Calculer des pourcentages

#### Comment ça fonctionne

```
Column A (Quantity): 100
Column B (Unit Price): €50
    ↓
CALCULATE: A × B
    ↓
Column C (Line Total): €5000
```

#### Types de calcul

**Type 1 : Multiplication simple**

```
Formula: Qty × Unit Price = Line Total

Example:
100 units × €50/unit = €5000

Config:
  Column 1: Quantity
  Operator: ×
  Column 2: Unit Price
  Result Column: Line Total
```

**Type 2 : Addition**

```
Formula: Base Price + Shipping + Tax = Total

Example:
€5000 + €100 + €950 = €6050

Config:
  Column 1: Base Price
  Operator: +
  Column 2: Shipping
  Operator: +
  Column 3: Tax
  Result Column: Total
```

**Type 3 : Calcul de pourcentage**

```
Formula: Amount × (1 + Tax%) = Total with Tax

Example:
€5000 × 1.19 = €5950

Config:
  Column: Amount
  Operator: × (1 + Tax%)
  Result Column: Amount_with_Tax
```

**Type 4 : Soustraction**

```
Formula: Original Price - Discount = Final Price

Example:
€100 - €10 = €90

Config:
  Column 1: Original Price
  Operator: -
  Column 2: Discount
  Result Column: Final Price
```

#### Exemple concret

**Calcul des lignes d'articles de facture :**

```
Table: Invoice_Lines

Row 1:
  Quantity: 100
  Unit Price: €25.00
  Calculate: 100 × €25.00 = €2500.00 (Line Total)

Row 2:
  Quantity: 50
  Unit Price: €40.00
  Calculate: 50 × €40.00 = €2000.00 (Line Total)

Row 3:
  Quantity: 200
  Unit Price: €10.00
  Calculate: 200 × €10.00 = €2000.00 (Line Total)

Subtotal: €6500.00 (sum of line totals)
Tax (19%): €1235.00
Shipping: €100.00
TOTAL: €7835.00
```

#### Paramètres

```
Table: [Select table]
Column 1: [First column]
Operator: [×, +, -, ÷, %]
Column 2: [Second column] (if needed)
Result Column: [Where to put answer]
```

***

### Carte : CALC\_COLUMNS\_REGEX / Calculate with Regex Pattern

#### Objectif

Calcule les valeurs de colonne en fonction de la correspondance de motifs

#### Quand l'utiliser

* Extraire des valeurs d'un texte à l'aide de motifs
* Formater des données selon des règles
* Convertir des valeurs selon des motifs
* Analyser du texte structuré

#### Comment ça fonctionne

**Correspondance de motifs regex :**

```
Original Value: "ABC-12345-XYZ"
Pattern: Extract numbers only
Calculation: Convert to "12345"
Result: "12345"
```

#### Exemple : Extraire le code fournisseur

**Scénario : Les numéros d'article contiennent des infos sur le fournisseur**

```
Table Column: "Article_Code"
Values: ["SUPP001-2025-A", "SUPP002-2025-B"]

Pattern: Extract supplier code (first 7 characters)
    ↓
Calculate: SUPP001, SUPP002
    ↓
Store in: "Supplier_Code" column

Result:
Article_Code: SUPP001-2025-A  →  Supplier_Code: SUPP001
Article_Code: SUPP002-2025-B  →  Supplier_Code: SUPP002
```

#### Exemple : Formater les numéros de téléphone

**Scénario : Numéros de téléphone non formatés**

```
Original: "491234567890"
Pattern: Format as: +49 123 4567 890
Result: "+49 123 4567 890"
```

#### Exemple : Extraire les prix d'un texte

**Scénario : Prix au format texte**

```
Original: "Price is 99.99 EUR"
Pattern: Extract number only
Result: "99.99"
```

#### Paramètres

```
Table: [Select table]
Column: [Column to analyze]
Regex Pattern: [Pattern to find]
Replacement: [What to replace with]
Result Column: [Where to store result]
```

#### Motifs regex courants

```
Numbers only: [0-9]+
Letters only: [a-zA-Z]+
First word: ^\w+
Extract €: €(\d+\.\d{2})
Date format: \d{4}-\d{2}-\d{2}
```

***

## Exemples de calcul

### Exemple 1 : Calcul du total de la facture

```
Step 1: Calculate line totals
  Each row: Qty × Unit Price

Step 2: Sum all line totals
  Sum: €2500 + €2000 + €2000 = €6500

Step 3: Calculate tax
  Tax: €6500 × 0.19 = €1235

Step 4: Add shipping
  Final: €6500 + €1235 + €100 = €7835
```

### Exemple 2 : Calcul de l'écart

```
PO Price: €100
Invoice Price: €103

Variance = |(Invoice - PO)| / PO × 100
Variance = |3| / 100 × 100 = 3%

Store in "Price_Variance%" column
```

### Exemple 3 : Application d'une remise

```
Original Price: €100
Discount %: 10%
Discount Amount: €100 × 0.10 = €10
Final Price: €100 - €10 = €90
```

***

## Exemple de flux de travail de manipulation des champs

```
Document arrives
    ↓
Check condition: "Amount > €5000?"
    ↓
YES → Set field "Category" = "High Value"
    ↓
Check condition: "Supplier is preferred?"
    ↓
YES → Check "FastTrack" checkbox
    ↓
Copy "Delivery_Address" to "Invoice_Address"
    ↓
In table: Calculate line totals (Qty × Price)
    ↓
In table: Calculate total with tax
    ↓
Document now has all calculated and populated fields
```

***

## Bonnes pratiques

✅ **À faire :**

* Garder les formules simples
* Tester les calculs avec des données d'exemple
* Vérifier que les résultats ont du sens
* Documenter pourquoi vous modifiez les champs
* Utiliser la copie de champ lorsque les données sont identiques

❌ **À ne pas faire :**

* Créer des références circulaires (A=B, B=A)
* Écraser des données importantes sans raison
* Créer des motifs regex trop complexes
* Oublier de vérifier les résultats de calcul
* Calculer sur le mauvais tableau/les mauvaises colonnes

***

## Dépannage

### « Le champ ne se met pas à jour »

**Cause :** Condition non remplie ou carte non déclenchée

**Solution :**

* Vérifiez que la condition est vraie
* Vérifiez que la carte est dans le flux de travail
* Testez avec des données d'exemple
* Vérifiez les fautes de frappe dans le nom du champ

### « Résultat de calcul incorrect »

**Cause :** Mauvaises colonnes sélectionnées ou formule incorrecte

**Solution :**

* Vérifiez les colonnes source
* Vérifiez que la formule est correcte
* Testez manuellement
* Vérifiez le nombre de décimales/l'arrondi

### « Le tableau affiche une erreur »

**Cause :** La colonne référencée n'existe pas

**Solution :**

* Vérifiez l'orthographe du nom de la colonne
* Vérifiez que la colonne contient des données
* Assurez-vous que le type de données de la colonne correspond au calcul
* Ajoutez les colonnes manquantes si nécessaire

***

## Cartes associées

* **ACTION\_COPY\_DOCFIELD\_TO\_DOCFIELD** - Copier des valeurs
* **EDIT\_COLUMN** - Modifier les valeurs d'un tableau
* **CALC\_COLUMNS** - Calculer des formules
* **ACTION\_SET\_FIELD\_TO\_TEXT** - Définir des valeurs textuelles
* **ACTION\_SET\_BOOLEAN\_FIELD** - Cocher des cases


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs-fr.docbits.com/administration-and-setup/workflow/cards-overview/field-manipulation-guide.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
