Mini-Late Delivery and Penalty Payment

Author: Accord Project

minilatedeliveryandpenalty-payment@0.7.0 Clause ^0.26.0 29ec65dc0b8782466ce7ba0461a53dc70ee977580d1a3812be7847c25de03acb

A Late Delivery And Penalty (Mini, Capped, with Payment)

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

A Late Delivery And Penalty (Mini, Capped, with Payment)

A Late Delivery And Penalty Contract with a Penalty Cap and Emitting a Payment Obligation (Mini).

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 52% 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 52% 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, {{seller}} shall pay to
{{buyer}} 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.minilatedeliveryandpenaltypayment@0.2.0.TemplateModel",
  "buyer": "resource:org.accordproject.party.Party#Steve%20Seller",
  "seller": "resource:org.accordproject.party.Party#Betty%20Buyer",
  "penaltyDuration": {
    "$class": "org.accordproject.time@0.3.0.Duration",
    "amount": 2,
    "unit": "days"
  },
  "penaltyPercentage": 10.5,
  "capPercentage": 52,
  "maximumDelay": {
    "$class": "org.accordproject.time@0.3.0.Duration",
    "amount": 15,
    "unit": "days"
  },
  "$identifier": "7f0ce5a1-2de3-4ae5-96dd-2da0449c1ff5",
  "clauseId": "7f0ce5a1-2de3-4ae5-96dd-2da0449c1ff5"
}

Template Model

namespace org.accordproject.minilatedeliveryandpenaltypayment@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 LateRequest extends Request {
  o DateTime agreedDelivery
  o DateTime deliveredAt
  o MonetaryAmount goodsValue
}

transaction LateResponse 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": "ba5b5fa0-5150-11f1-abe1-4375007ed584"
}

Request Types

Type Sample JSON
org.accordproject.minilatedeliveryandpenaltypayment@0.2.0.LateRequest
{
    "$class": "org.accordproject.minilatedeliveryandpenaltypayment@0.2.0.LateRequest",
    "agreedDelivery": "2026-05-16T18:57:39.096+01:00",
    "deliveredAt": "2026-05-16T18:57:39.096+01:00",
    "goodsValue": {
        "$class": "org.accordproject.money@0.3.0.MonetaryAmount",
        "doubleValue": 103.538,
        "currencyCode": "SZL"
    },
    "$timestamp": "2026-05-16T18:57:39.096+01:00"
}
org.accordproject.runtime@0.2.0.Request
{
    "$class": "org.accordproject.runtime@0.2.0.Request",
    "$timestamp": "2026-05-16T18:57:39.095+01:00"
}

Response Types

Type Sample JSON
org.accordproject.minilatedeliveryandpenaltypayment@0.2.0.LateResponse
{
    "$class": "org.accordproject.minilatedeliveryandpenaltypayment@0.2.0.LateResponse",
    "penalty": {
        "$class": "org.accordproject.money@0.3.0.MonetaryAmount",
        "doubleValue": 46.402,
        "currencyCode": "ZWL"
    },
    "buyerMayTerminate": false,
    "$timestamp": "2026-05-16T18:57:39.098+01:00"
}
org.accordproject.runtime@0.2.0.Response
{
    "$class": "org.accordproject.runtime@0.2.0.Response",
    "$timestamp": "2026-05-16T18:57:39.098+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.