diff --git a/modules/bigquery-dataset/README.md b/modules/bigquery-dataset/README.md
index 48bc50a5c..0071d9fa3 100644
--- a/modules/bigquery-dataset/README.md
+++ b/modules/bigquery-dataset/README.md
@@ -280,7 +280,7 @@ module "bigquery-dataset" {
| name | description | type | required | default |
|---|---|:---:|:---:|:---:|
| [id](variables.tf#L98) | Dataset id. | string | ✓ | |
-| [project_id](variables.tf#L128) | Id of the project where datasets will be created. | string | ✓ | |
+| [project_id](variables.tf#L129) | Id of the project where datasets will be created. | string | ✓ | |
| [access](variables.tf#L17) | Map of access rules with role and identity type. Keys are arbitrary and must match those in the `access_identities` variable, types are `domain`, `group`, `special_group`, `user`, `view`. | map(object({…})) | | {} |
| [access_identities](variables.tf#L33) | Map of access identities used for basic access roles. View identities have the format 'project_id\|dataset_id\|table_id'. | map(string) | | {} |
| [authorized_datasets](variables.tf#L39) | An array of datasets to be authorized on the dataset. | list(object({…})) | | [] |
@@ -293,9 +293,9 @@ module "bigquery-dataset" {
| [iam](variables.tf#L92) | IAM bindings in {ROLE => [MEMBERS]} format. Mutually exclusive with the access_* variables used for basic roles. | map(list(string)) | | {} |
| [labels](variables.tf#L103) | Dataset labels. | map(string) | | {} |
| [location](variables.tf#L109) | Dataset location. | string | | "EU" |
-| [options](variables.tf#L115) | Dataset options. | object({…}) | | {} |
-| [tables](variables.tf#L133) | Table definitions. Options and partitioning default to null. Partitioning can only use `range` or `time`, set the unused one to null. | map(object({…})) | | {} |
-| [views](variables.tf#L162) | View definitions. | map(object({…})) | | {} |
+| [options](variables.tf#L115) | Dataset options. | object({…}) | | {} |
+| [tables](variables.tf#L134) | Table definitions. Options and partitioning default to null. Partitioning can only use `range` or `time`, set the unused one to null. | map(object({…})) | | {} |
+| [views](variables.tf#L163) | View definitions. | map(object({…})) | | {} |
## Outputs
diff --git a/modules/bigquery-dataset/main.tf b/modules/bigquery-dataset/main.tf
index fafd75f48..107cda201 100644
--- a/modules/bigquery-dataset/main.tf
+++ b/modules/bigquery-dataset/main.tf
@@ -53,6 +53,7 @@ resource "google_bigquery_dataset" "default" {
default_partition_expiration_ms = var.options.default_partition_expiration_ms
is_case_insensitive = var.options.is_case_insensitive
max_time_travel_hours = var.options.max_time_travel_hours
+ storage_billing_model = var.options.storage_billing_model
dynamic "access" {
for_each = var.dataset_access ? local.access_domain : {}
content {
diff --git a/modules/bigquery-dataset/variables.tf b/modules/bigquery-dataset/variables.tf
index cb13effa8..1ecc5f4a4 100644
--- a/modules/bigquery-dataset/variables.tf
+++ b/modules/bigquery-dataset/variables.tf
@@ -121,6 +121,7 @@ variable "options" {
delete_contents_on_destroy = optional(bool, false)
is_case_insensitive = optional(bool)
max_time_travel_hours = optional(number, 168)
+ storage_billing_model = optional(string)
})
default = {}
}