Skip to main content

Extract data from bank guarantees

A bank guarantee is the bank’s own promise to pay a beneficiary if the bank’s customer, the principal, fails to meet an obligation. It is a three-party instrument with the bank at the center, and it is distinct from a surety bond, where an insurer stands behind performance, and from a documentary letter of credit, which is a payment mechanism for the goods themselves. Under the ICC Uniform Rules for Demand Guarantees (URDG 758), a demand guarantee is independent of the underlying contract: the bank pays against a compliant demand, not against a court’s view of who breached what. The instrument is defined by who stands where and for how much. A performance guarantee numbered BG-2026-0142, issued by Deutsche Bank AG (BIC DEUTDEFF) for its principal Baumann Construction GmbH in favor of the beneficiary City of Rotterdam, might guarantee 500,000 EUR, take effect 2026-05-01, and expire 2027-05-01, securing the underlying contract for harbor terminal expansion works. The guarantee_type, whether bid, performance, advance payment, or payment, sets what the guarantee is for; the payment_terms, often payable on first written demand, and the claim_instructions set how the beneficiary calls it; and whether renewals_allowed is true decides what happens at expiry. The governing_law and the issuing bank’s reference number anchor enforceability and the bank’s own record. Structured to the guarantee schema, the instrument returns the issuing bank with its BIC, the principal, the beneficiary, the guarantee type and amount, the effective and expiry dates, and the underlying contract as fields, while the conditions and claim requirements stay as tables. Fed into a treasury workflow, a 500,000 EUR performance guarantee expiring 2027-05-01 becomes structured fields a team reads for the exposure, the beneficiary, and the expiry rather than a scanned undertaking. Terms are captured as written, with no opinion on whether a demand would be honored.

What gets extracted from bank guarantees

Guarantee NumberBG-2026-0142document_number
Issuing BankDeutsche Bank AG
Issuing Bank BICDEUTDEFFSWIFT/BIC, ISO 9362
PrincipalBaumann Construction GmbHThe applicant whose obligation is secured
BeneficiaryCity of Rotterdam
Guarantee Typeperformancebid, performance, advance payment, payment, contract
Guarantee Amount500,000 EUR
Effective Date2026-05-01
Expiration Date2027-05-01
Underlying ContractCT-2026-0142, harbor terminal expansion works
Payment TermsPayable on first written demand

How extraction works for bank guarantees

Bank guarantees are drafted from bank templates and ICC rule sets, and the three parties, the amount, and the claim procedure sit in dense legal paragraphs that vary by bank and jurisdiction. Held against the guarantee model in the Field Registry, the document has the issuing_bank (with its BIC and IBAN), the principal, and the beneficiary separated so the party standing behind the money is never confused with the party it protects. The guarantee_amount.value is typed as a number in its currency, the guarantee_type resolves to a canonical category (bid, performance, advance payment, payment, contract), and the effective_date and expiration_date parse to ISO 8601 so the exposure window is legible. The underlying_contract number and description, the governing_law, the payment_terms, and the claim_instructions are captured, and the guarantee_conditions and claim_requirements tables return with each condition precedent and required document as its own row. Verification is supported by a confidence score and a source-region pointer on every value under DIN SPEC 91491, so a treasury reviewer can confirm the guaranteed amount and the expiry against the issued undertaking before recording the exposure.

Sample extraction

A performance bank guarantee under URDG 758

{
  "document_number": "BG-2026-0142",
  "document_date": "2026-05-01",
  "effective_date": "2026-05-01",
  "expiration_date": "2027-05-01",
  "issuing_bank.name": "Deutsche Bank AG",
  "issuing_bank.bic": "DEUTDEFF",
  "issuing_bank.address": "Taunusanlage 12, 60325 Frankfurt am Main, Germany",
  "issuing_bank.reference_number": "FRA-GTE-77120",
  "iban": "DE89370400440532013000",
  "principal.name": "Baumann Construction GmbH",
  "principal.address": "Hafenstrasse 8, 20359 Hamburg, Germany",
  "beneficiary.name": "City of Rotterdam",
  "beneficiary.address": "Coolsingel 40, 3011 AD Rotterdam, Netherlands",
  "guarantee_type": "performance",
  "guarantee_amount.value": 500000,
  "currency": "EUR",
  "underlying_contract.number": "CT-2026-0142",
  "underlying_contract.description": "Harbor terminal expansion works",
  "governing_law": "ICC URDG 758; laws of the Netherlands",
  "payment_terms": "Payable on first written demand",
  "renewals_allowed": false,
  "guarantee_conditions": [
    {
      "condition_id": "C1",
      "condition_text": "Guarantee reduces pro rata as milestones are certified",
      "is_precedent": false,
      "supporting_documents_required": "Milestone certificate signed by the project engineer"
    }
  ],
  "claim_requirements": [
    {
      "requirement_id": "R1",
      "document_type": "Written demand",
      "description": "Statement that the principal is in breach of the underlying contract",
      "submission_deadline": "On or before the expiration date",
      "is_mandatory": true
    }
  ]
}

Frequently asked

How is a bank guarantee different from a surety bond?

A bank guarantee is issued by a bank, which pays the beneficiary directly on a compliant demand and then recovers from its customer. A surety bond is issued by a surety or insurer that guarantees performance. Talonic reads a bank guarantee on the guarantee schema and a surety bond on the guarantee-surety schema, keeping the party roles distinct.

Does it separate the issuing bank, the principal, and the beneficiary?

Yes. The issuing_bank (with its BIC), the principal who applied for the guarantee, and the beneficiary entitled to claim are captured as distinct parties, because confusing them misstates who owes and who is protected.

Is a bank guarantee the same as a letter of credit?

No. A letter of credit is a payment mechanism that pays a seller on presentation of shipping documents. A bank guarantee is a fallback that pays only if the principal defaults. Talonic keeps them on separate schemas.

Does Talonic judge whether a claim would be paid?

No. Talonic captures the guarantee amount, type, parties, expiry, and claim requirements as written and leaves any view on whether a demand is compliant or enforceable to the bank and counsel.

Author note

Reviewed by Talonic engineering, finance schema review · last reviewed 2026-07-09