Simple Late Delivery and Penalty

Author: Accord Project

simplelatedeliveryandpenalty@0.11.0 Clause ^0.26.0 a8aec1fd10f8baeaf008a23f33bed2801e06174f7bd57cee9865445a18bd1835

A Late Delivery And Penalty clause (simple).

Download Archive Download Compiled Archive Open in Template Playground Open in VSCode Web

A Late Delivery And Penalty (Simple)

A Late Delivery And Penalty clause (simple).

Template Text

Late Delivery and Penalty. In case of delayed delivery of Goods, "Betty Buyer" shall pay to "Steve Seller" a penalty amounting to 10.5% of the total value of the Goods for every 2 days of delay. The total amount of penalty shall not, however, exceed 55% of the total value of the delayed goods. If the delay is more than 15 days, the Buyer is entitled to terminate this Contract.

Late Delivery and Penalty. In case of delayed delivery of Goods, "Betty Buyer" shall pay to "Steve Seller" a penalty amounting to 10.5% of the total value of the Goods for every 2 days of delay. The total amount of penalty shall not, however, exceed 55% of the total value of the delayed goods. If the delay is more than 15 days, the Buyer is entitled to terminate this Contract.
Late Delivery and Penalty. In case of delayed delivery of Goods, {{buyer}} shall pay to {{seller}} a penalty amounting to {{penaltyPercentage}}% of the total value of the Goods for every {{penaltyDuration}} of delay. The total amount of penalty shall not, however, exceed {{capPercentage}}% of the total value of the delayed goods. If the delay is more than {{maximumDelay}}, the Buyer is entitled to terminate this Contract.
{
  "$class": "org.accordproject.simplelatedeliveryandpenalty@0.2.0.TemplateModel",
  "buyer": "resource:org.accordproject.party.Party#Betty%20Buyer",
  "seller": "resource:org.accordproject.party.Party#Steve%20Seller",
  "penaltyDuration": {
    "$class": "org.accordproject.time@0.3.0.Duration",
    "amount": 2,
    "unit": "days"
  },
  "penaltyPercentage": 10.5,
  "capPercentage": 55,
  "maximumDelay": {
    "$class": "org.accordproject.time@0.3.0.Duration",
    "amount": 15,
    "unit": "days"
  },
  "$identifier": "35db583f-7d53-4081-9557-e4e75e88e27d",
  "clauseId": "35db583f-7d53-4081-9557-e4e75e88e27d"
}

Template Model

namespace org.accordproject.simplelatedeliveryandpenalty@0.2.0

import org.accordproject.contract@0.2.0.Clause from https://models.accordproject.org/accordproject/contract@0.2.0.cto
import org.accordproject.runtime@0.2.0.{Request,Response} from https://models.accordproject.org/accordproject/runtime@0.2.0.cto
import org.accordproject.time@0.3.0.{Duration,TemporalUnit} from https://models.accordproject.org/time@0.3.0.cto
import org.accordproject.money@0.3.0.MonetaryAmount from https://models.accordproject.org/money@0.3.0.cto

transaction SimpleLateDeliveryAndPenaltyRequest extends Request {
  o DateTime agreedDelivery
  o DateTime deliveredAt optional
  o MonetaryAmount goodsValue
}

transaction SimpleLateDeliveryAndPenaltyResponse extends Response {
  o MonetaryAmount penalty
  o Boolean buyerMayTerminate
}

event PaymentObligationEvent {
  o MonetaryAmount amount
  o String description
}

@template
asset TemplateModel extends Clause {
  o String buyer
  o String seller
  o Duration penaltyDuration
  o Double penaltyPercentage
  o Double capPercentage
  o Duration maximumDelay
}

Model Dependencies

Template Logic

Find the full logic for this template on on GitHub.

State Types

Type Sample JSON
org.accordproject.runtime@0.2.0.State
{
    "$class": "org.accordproject.runtime@0.2.0.State",
    "$identifier": "11d78c30-5148-11f1-b477-1d07e3e4a204"
}

Request Types

Type Sample JSON
org.accordproject.runtime@0.2.0.Request
{
    "$class": "org.accordproject.runtime@0.2.0.Request",
    "$timestamp": "2026-05-16T17:55:40.400+01:00"
}
org.accordproject.simplelatedeliveryandpenalty@0.2.0.SimpleLateDeliveryAndPenaltyRequest
{
    "$class": "org.accordproject.simplelatedeliveryandpenalty@0.2.0.SimpleLateDeliveryAndPenaltyRequest",
    "agreedDelivery": "2026-05-16T17:55:40.401+01:00",
    "deliveredAt": "2026-05-16T17:55:40.401+01:00",
    "goodsValue": {
        "$class": "org.accordproject.money@0.3.0.MonetaryAmount",
        "doubleValue": 132.558,
        "currencyCode": "BDT"
    },
    "$timestamp": "2026-05-16T17:55:40.401+01:00"
}

Response Types

Type Sample JSON
org.accordproject.runtime@0.2.0.Response
{
    "$class": "org.accordproject.runtime@0.2.0.Response",
    "$timestamp": "2026-05-16T17:55:40.401+01:00"
}
org.accordproject.simplelatedeliveryandpenalty@0.2.0.SimpleLateDeliveryAndPenaltyResponse
{
    "$class": "org.accordproject.simplelatedeliveryandpenalty@0.2.0.SimpleLateDeliveryAndPenaltyResponse",
    "penalty": {
        "$class": "org.accordproject.money@0.3.0.MonetaryAmount",
        "doubleValue": 216.737,
        "currencyCode": "SLL"
    },
    "buyerMayTerminate": false,
    "$timestamp": "2026-05-16T17:55:40.402+01:00"
}

Events Types

Type Sample JSON

Technical Integration

Please refer to the Accord Project documentation for how to use a template or integrate it within your application.

View the Latest code for this template on GitHub.