message

Invoice

acme.billing.v1.Invoice

An invoice issued to a customer.

Fields

FieldNumberTypeCardinalityValidationDescription
id1stringimplicit——
Details
  • JSON name: id
  • Presence: IMPLICIT
  • Annotations: OUTPUT_ONLY
(google.api.field_behavior) = [
  OUTPUT_ONLY
]
customer_id2stringimplicit——
Details
  • JSON name: customerId
  • Presence: IMPLICIT
  • Annotations: REQUIRED
(google.api.field_behavior) = [
  REQUIRED
]
customer3acme.user.v1.Useroptional——
Details
  • JSON name: customer
  • Presence: EXPLICIT
state4acme.billing.v1.InvoiceStateimplicit——
Details
  • JSON name: state
  • Presence: IMPLICIT
lines5acme.billing.v1.LineItemrepeated
repeated.min_items=1
—
Details
  • JSON name: lines
  • Presence: IMPLICIT
  • Packed: false
(buf.validate.field) = {
  repeated: {
    min_items: 1
  }
}
total6acme.billing.v1.Moneyoptional——
Details
  • JSON name: total
  • Presence: EXPLICIT
issued_at7google.protobuf.Timestampoptional——
Details
  • JSON name: issuedAt
  • Presence: EXPLICIT
memo8stringimplicit——
Details
  • JSON name: memo
  • Presence: IMPLICIT

Example JSON

{
  "id": "string",
  "customerId": "string",
  "customer": {
    "id": "string",
    "email": "string",
    "displayName": "string",
    "nickname": "string",
    "state": "USER_STATE_UNSPECIFIED",
    "createdAt": "2026-09-18T17:30:00Z",
    "updatedAt": "2026-09-18T17:30:00Z",
    "phone": "string",
    "labels": {
      "key": "string"
    },
    "addresses": [
      {
        "line1": "string",
        "line2": "string",
        "city": "string",
        "region": "string",
        "postalCode": "string",
        "countryCode": "string"
      }
    ],
    "preferences": {
      "marketingOptIn": true,
      "locale": "string",
      "timeZone": "string"
    }
  },
  "state": "INVOICE_STATE_UNSPECIFIED",
  "lines": [
    {
      "description": "string",
      "quantity": 1,
      "unitAmount": {
        "currencyCode": "string",
        "units": 1,
        "nanos": 1
      }
    }
  ],
  "total": {
    "currencyCode": "string",
    "units": 1,
    "nanos": 1
  },
  "issuedAt": "2026-09-18T17:30:00Z",
  "memo": "string"
}

Effective features

  • json_format: ALLOW
    inherited from acme/billing/v1/invoice

Used by

What will be affected if this symbol changes.