Example #1
0
        /// <summary>Snippet for ListInvoices</summary>
        /// <remarks>
        /// This snippet has been automatically generated for illustrative purposes only.
        /// It may require modifications to work in your environment.
        /// </remarks>
        public void ListInvoices()
        {
            // Create client
            InvoiceServiceClient invoiceServiceClient = InvoiceServiceClient.Create();
            // Initialize request argument(s)
            string customerId   = "";
            string billingSetup = "";
            string issueYear    = "";

            MonthOfYearEnum.Types.MonthOfYear issueMonth = MonthOfYearEnum.Types.MonthOfYear.Unspecified;
            // Make the request
            ListInvoicesResponse response = invoiceServiceClient.ListInvoices(customerId, billingSetup, issueYear, issueMonth);
        }
 /// <summary>Snippet for ListInvoices</summary>
 /// <remarks>
 /// This snippet has been automatically generated for illustrative purposes only.
 /// It may require modifications to work in your environment.
 /// </remarks>
 public void ListInvoicesRequestObject()
 {
     // Create client
     InvoiceServiceClient invoiceServiceClient = InvoiceServiceClient.Create();
     // Initialize request argument(s)
     ListInvoicesRequest request = new ListInvoicesRequest
     {
         CustomerId   = "",
         BillingSetup = "",
         IssueYear    = "",
         IssueMonth   = MonthOfYearEnum.Types.MonthOfYear.Unspecified,
     };
     // Make the request
     ListInvoicesResponse response = invoiceServiceClient.ListInvoices(request);
 }
        /// <summary>
        /// Runs the code example.
        /// </summary>
        /// <param name="client">The Google Ads client.</param>
        /// <param name="customerId">The Google Ads customer ID for which the call is made.</param>
        /// <param name="billingSetupId">The billing setup ID for which to request invoices.</param>
        public void Run(GoogleAdsClient client, long customerId, long billingSetupId)
        {
            // Get the InvoiceService client.
            InvoiceServiceClient invoiceServiceClient =
                client.GetService(Services.V10.InvoiceService);

            // Get the last month before today.
            DateTime lastMonthDateTime = DateTime.Today.AddMonths(-1);

            // Convert the desired month to its representation in the MonthOfYear enum.
            MonthOfYear lastMonth =
                (MonthOfYear)Enum.Parse(typeof(MonthOfYear), lastMonthDateTime.ToString("MMMM"));

            // [START get_invoices]
            ListInvoicesResponse response = invoiceServiceClient.ListInvoices(customerId.ToString(),
                                                                              ResourceNames.BillingSetup(customerId, billingSetupId),
                                                                              // Year must be 2019 or later.
                                                                              lastMonthDateTime.Year.ToString("yyyy"),
                                                                              lastMonth);

            // [END get_invoices]

            // [START get_invoices_1] Iterate over all retrieved invoices and print their
            // information.
            foreach (Invoice invoice in response.Invoices)
            {
                Console.WriteLine(
                    "- Found the invoice '{0}':\n" +
                    "  ID (also known as Invoice Number): '{1}'\n" +
                    "  Type: {2}\n" +
                    "  Billing setup ID: '{3}'\n" +
                    "  Payments account ID (also known as Billing Account Number): '{4}'\n" +
                    "  Payments profile ID (also known as Billing ID): '{5}'\n" +
                    "  Issue date (also known as Invoice Date): {6}\n" +
                    "  Due date: {7}\n" +
                    "  Currency code: {8}\n" +
                    "  Service date range (inclusive): from {9} to {10}\n" +
                    "  Adjustments: subtotal '{11}', tax '{12}', total '{13}'\n" +
                    "  Regulatory costs: subtotal '{14}', tax '{15}', total '{16}'\n" +
                    "  Replaced invoices: '{17}'\n" +
                    "  Amounts: subtotal '{18}', tax '{19}', total '{20}'\n" +
                    "  Corrected invoice: '{21}'\n" +
                    "  PDF URL: '{22}'\n" +
                    "  Account budgets:\n",
                    invoice.ResourceName,
                    invoice.Id,
                    invoice.Type.ToString(),
                    invoice.BillingSetup,
                    invoice.PaymentsAccountId,
                    invoice.PaymentsProfileId,
                    invoice.IssueDate,
                    invoice.DueDate,
                    invoice.CurrencyCode,
                    invoice.ServiceDateRange.StartDate,
                    invoice.ServiceDateRange.EndDate,
                    FormatMicros(invoice.AdjustmentsSubtotalAmountMicros),
                    FormatMicros(invoice.AdjustmentsTaxAmountMicros),
                    FormatMicros(invoice.AdjustmentsTotalAmountMicros),
                    FormatMicros(invoice.RegulatoryCostsSubtotalAmountMicros),
                    FormatMicros(invoice.RegulatoryCostsTaxAmountMicros),
                    FormatMicros(invoice.RegulatoryCostsTotalAmountMicros),
                    invoice.ReplacedInvoices.Count > 0
                        ? string.Join("', '", invoice.ReplacedInvoices)
                        : "none",
                    FormatMicros(invoice.SubtotalAmountMicros),
                    FormatMicros(invoice.TaxAmountMicros),
                    FormatMicros(invoice.TotalAmountMicros),
                    string.IsNullOrEmpty(invoice.CorrectedInvoice)
                        ? invoice.CorrectedInvoice
                        : "none",
                    invoice.PdfUrl);
                foreach (AccountBudgetSummary accountBudgetSummary in
                         invoice.AccountBudgetSummaries)
                {
                    Console.WriteLine(
                        "\t- Account budget '{0}':\n" +
                        "\t  Name (also known as Account Budget): '{1}'\n" +
                        "\t  Customer (also known as Account ID): '{2}'\n" +
                        "\t  Customer descriptive name (also known as Account): '{3}'\n" +
                        "\t  Purchase order number (also known as Purchase Order): '{4}'\n" +
                        "\t  Billing activity date range (inclusive): from {5} to {6}\n" +
                        "\t  Amounts: subtotal '{7}', tax '{8}', total '{9}'\n",
                        accountBudgetSummary.AccountBudget,
                        accountBudgetSummary.AccountBudgetName ?? "none",
                        accountBudgetSummary.Customer,
                        accountBudgetSummary.CustomerDescriptiveName ?? "none",
                        accountBudgetSummary.PurchaseOrderNumber ?? "none",
                        accountBudgetSummary.BillableActivityDateRange.StartDate,
                        accountBudgetSummary.BillableActivityDateRange.EndDate,
                        FormatMicros(accountBudgetSummary.SubtotalAmountMicros),
                        FormatMicros(accountBudgetSummary.TaxAmountMicros),
                        FormatMicros(accountBudgetSummary.TotalAmountMicros));
                }
            }
            // [END get_invoices_1]
        }