/resources/invoice.proto

--- v22/resources/invoice.proto 2026-01-23 15:36:23.000000000 +0000
+++ v23/resources/invoice.proto 2026-01-23 15:36:31.000000000 +0000
@@ -122,6 +124,16 @@
     // tax_amount_micros.
     optional int64 total_amount_micros = 16
         [(google.api.field_behavior) = OUTPUT_ONLY];
+
+    // Output only. The list of regulatory cost information associated with this
+    // account.
+    repeated RegulatoryCostSummary regulatory_cost_summaries = 20
+        [(google.api.field_behavior) = OUTPUT_ONLY];
+
+    // Output only. The list of adjustment information associated with this
+    // account.
+    repeated AdjustmentSummary adjustment_summaries = 21
+        [(google.api.field_behavior) = OUTPUT_ONLY];
   }

   // Represents a summarized account budget billable cost.
@@ -202,6 +214,11 @@
     // original linkages.
     repeated InvalidActivitySummary invalid_activity_summaries = 22
         [(google.api.field_behavior) = OUTPUT_ONLY];
+
+    // Output only. The list of summarized campaign level information associated
+    // with this account budget.
+    repeated CampaignSummary campaign_summaries = 23
+        [(google.api.field_behavior) = OUTPUT_ONLY];
   }

   // Details about the invalid activity for the invoice that contain
@@ -238,6 +255,54 @@
         [(google.api.field_behavior) = OUTPUT_ONLY];
   }

+  // Represents campaign level billable cost information associated with an
+  // account budget.
+  message CampaignSummary {
+    // Output only. The description of the campaign. This is generally the same
+    // as the campaign name, but may differ.
+    optional string campaign_description = 1
+        [(google.api.field_behavior) = OUTPUT_ONLY];
+
+    // Output only. The quantity served for the given unit of measure.
+    optional int64 quantity = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+    // Output only. The unit of measure for the quantity served.
+    optional google.ads.googleads.v23.enums.UnitOfMeasureEnum.UnitOfMeasure
+        unit_of_measure = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+    // Output only. The amount attributable to this campaign for the given unit
+    // of measure during the service period, in micros. The currency code for
+    // this amount is the same as the Invoice.currency_code.
+    optional int64 amount_micros = 4
+        [(google.api.field_behavior) = OUTPUT_ONLY];
+  }
+
+  // Represents regulatory cost information associated with an account.
+  message RegulatoryCostSummary {
+    // Output only. The type of regulatory fee.
+    optional
+        google.ads.googleads.v23.enums.RegulatoryFeeTypeEnum.RegulatoryFeeType
+            regulatory_fee_type = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+    // Output only. The amount of the regulatory fee, in micros. The currency
+    // code for this amount is the same as the Invoice.currency_code.
+    optional int64 amount_micros = 2
+        [(google.api.field_behavior) = OUTPUT_ONLY];
+  }
+
+  // Represents adjustment information associated with an account.
+  message AdjustmentSummary {
+    // Output only. The description of the adjustment. Example: Incentive
+    // Adjustment, discount.
+    optional string adjustment_description = 1
+        [(google.api.field_behavior) = OUTPUT_ONLY];
+
+    // Output only. The amount of the adjustment, in micros. The currency code
+    // for this amount is the same as the Invoice.currency_code.
+    optional int64 amount_micros = 2
+        [(google.api.field_behavior) = OUTPUT_ONLY];
+  }
+
   // Output only. The resource name of the invoice. Multiple customers can share
   // a given invoice, so multiple resource names may point to the same invoice.
   // Invoice resource names have the form: