mirror of
https://github.com/google/nomulus.git
synced 2025-06-26 06:14:54 +02:00
There are cases where periodYears is not set when creating a OneTime billing event, for example when performing a registry lock (default cost = $0) or when performing a server status update, such as applying the serverUpdateProhibited status (default cost = $20). This is not currently handled currently in the billing pipeline because the parseFromRecord method checks for nullness for all fields. Even if it does not validate the fields, the null periodYears will still cause problem when the billing event is converted to CSV files. This PR alters the BigQuery SQL file to convert a NULL to 0 when creating the BillingEvent in the invoicing pipeline. It also sets the EndDate in the invoice CSV to an empty string when periodYears is 0. Note that when the cost is also 0, the billing event is filtered out in the invoice CSV so only the non-free OneTime with null periodYear will have an impact on the output. For detailed reports all billing events are included and the zero periodYears is printed as is. Setting the EndDate to empty is the correct behavior per go/manual-integration-csv#end-date. |
||
---|---|---|
.. | ||
gradle/dependency-locks | ||
src | ||
WEB-INF/appengine-generated | ||
build.gradle | ||
Dockerfile |