Revenue and Credit Concentrations - Additional Information (Detail) (USD $)
|
12 Months Ended |
Dec. 31, 2014
|
Dec. 31, 2013
|
Dec. 31, 2012
|
Concentration Risk [Line Items] |
|
|
|
|
|
|
Number of customers accounted for largest balance in accounts receivable |
2bmrn_NumberOfCustomersAccountedForLargestBalanceInAccountReceivable |
|
2bmrn_NumberOfCustomersAccountedForLargestBalanceInAccountReceivable |
|
|
|
Accounts receivable, net |
144,472,000us-gaap_AccountsReceivableNetCurrent |
|
117,822,000us-gaap_AccountsReceivableNetCurrent |
|
|
|
Total amount past due |
11,400,000us-gaap_FinancingReceivableRecordedInvestmentPastDue |
|
|
|
|
|
Greater than 90 days |
|
|
|
|
|
|
Concentration Risk [Line Items] |
|
|
|
|
|
|
Total amount past due |
400,000us-gaap_FinancingReceivableRecordedInvestmentPastDue / bmrn_ScheduleOfAccountsNotesLoansAndFinancingReceivableByPastDueDaysAxis = bmrn_GreaterThanNinetyDaysMember |
|
|
|
|
|
Greater than 180 days |
|
|
|
|
|
|
Concentration Risk [Line Items] |
|
|
|
|
|
|
Total amount past due |
300,000us-gaap_FinancingReceivableRecordedInvestmentPastDue / bmrn_ScheduleOfAccountsNotesLoansAndFinancingReceivableByPastDueDaysAxis = bmrn_GreaterThanOneHundredAndEightyDaysMember |
|
|
|
|
|
Greater than 365 days |
|
|
|
|
|
|
Concentration Risk [Line Items] |
|
|
|
|
|
|
Total amount past due |
18,000,000us-gaap_FinancingReceivableRecordedInvestmentPastDue / bmrn_ScheduleOfAccountsNotesLoansAndFinancingReceivableByPastDueDaysAxis = bmrn_GreaterThanThreeHundredAndSixtyFiveDaysMember |
|
|
|
|
|
Accounts Receivable | Southern European Countries |
|
|
|
|
|
|
Concentration Risk [Line Items] |
|
|
|
|
|
|
Concentration risk, percentage |
8.00%us-gaap_ConcentrationRiskPercentage1 / us-gaap_ConcentrationRiskByBenchmarkAxis = us-gaap_AccountsReceivableMember / us-gaap_StatementGeographicalAxis = bmrn_SouthernEuropeanCountriesMember |
|
|
|
|
|
Net Product Revenue | Southern European Countries |
|
|
|
|
|
|
Concentration Risk [Line Items] |
|
|
|
|
|
|
Concentration risk, percentage |
4.00%us-gaap_ConcentrationRiskPercentage1 / us-gaap_ConcentrationRiskByBenchmarkAxis = us-gaap_SalesRevenueGoodsNetMember / us-gaap_StatementGeographicalAxis = bmrn_SouthernEuropeanCountriesMember |
|
|
|
|
|
Customer Concentration Risk | Customer A |
|
|
|
|
|
|
Concentration Risk [Line Items] |
|
|
|
|
|
|
Accounts receivable, net |
34,500,000us-gaap_AccountsReceivableNetCurrent / us-gaap_ConcentrationRiskByTypeAxis = us-gaap_CustomerConcentrationRiskMember / us-gaap_MajorCustomersAxis = bmrn_CustomerOneMember |
|
26,300,000us-gaap_AccountsReceivableNetCurrent / us-gaap_ConcentrationRiskByTypeAxis = us-gaap_CustomerConcentrationRiskMember / us-gaap_MajorCustomersAxis = bmrn_CustomerOneMember |
|
|
|
Customer Concentration Risk | Accounts Receivable | Customer A |
|
|
|
|
|
|
Concentration Risk [Line Items] |
|
|
|
|
|
|
Concentration risk, percentage |
42.00%us-gaap_ConcentrationRiskPercentage1 / us-gaap_ConcentrationRiskByBenchmarkAxis = us-gaap_AccountsReceivableMember / us-gaap_ConcentrationRiskByTypeAxis = us-gaap_CustomerConcentrationRiskMember / us-gaap_MajorCustomersAxis = bmrn_CustomerOneMember |
|
45.00%us-gaap_ConcentrationRiskPercentage1 / us-gaap_ConcentrationRiskByBenchmarkAxis = us-gaap_AccountsReceivableMember / us-gaap_ConcentrationRiskByTypeAxis = us-gaap_CustomerConcentrationRiskMember / us-gaap_MajorCustomersAxis = bmrn_CustomerOneMember |
|
|
|
Customer Concentration Risk | Accounts Receivable | Customer B |
|
|
|
|
|
|
Concentration Risk [Line Items] |
|
|
|
|
|
|
Concentration risk, percentage |
18.00%us-gaap_ConcentrationRiskPercentage1 / us-gaap_ConcentrationRiskByBenchmarkAxis = us-gaap_AccountsReceivableMember / us-gaap_ConcentrationRiskByTypeAxis = us-gaap_CustomerConcentrationRiskMember / us-gaap_MajorCustomersAxis = bmrn_CustomerTwoMember |
|
15.00%us-gaap_ConcentrationRiskPercentage1 / us-gaap_ConcentrationRiskByBenchmarkAxis = us-gaap_AccountsReceivableMember / us-gaap_ConcentrationRiskByTypeAxis = us-gaap_CustomerConcentrationRiskMember / us-gaap_MajorCustomersAxis = bmrn_CustomerTwoMember |
|
|
|
Customer Concentration Risk | Net Product Revenue |
|
|
|
|
|
|
Concentration Risk [Line Items] |
|
|
|
|
|
|
Concentration risk, percentage |
52.00%us-gaap_ConcentrationRiskPercentage1 / us-gaap_ConcentrationRiskByBenchmarkAxis = us-gaap_SalesRevenueGoodsNetMember / us-gaap_ConcentrationRiskByTypeAxis = us-gaap_CustomerConcentrationRiskMember |
|
51.00%us-gaap_ConcentrationRiskPercentage1 / us-gaap_ConcentrationRiskByBenchmarkAxis = us-gaap_SalesRevenueGoodsNetMember / us-gaap_ConcentrationRiskByTypeAxis = us-gaap_CustomerConcentrationRiskMember |
|
52.00%us-gaap_ConcentrationRiskPercentage1 / us-gaap_ConcentrationRiskByBenchmarkAxis = us-gaap_SalesRevenueGoodsNetMember / us-gaap_ConcentrationRiskByTypeAxis = us-gaap_CustomerConcentrationRiskMember |
|
Customer Concentration Risk | Net Product Revenue | Customer A |
|
|
|
|
|
|
Concentration Risk [Line Items] |
|
|
|
|
|
|
Concentration risk, percentage |
15.00%us-gaap_ConcentrationRiskPercentage1 / us-gaap_ConcentrationRiskByBenchmarkAxis = us-gaap_SalesRevenueGoodsNetMember / us-gaap_ConcentrationRiskByTypeAxis = us-gaap_CustomerConcentrationRiskMember / us-gaap_MajorCustomersAxis = bmrn_CustomerOneMember |
|
15.00%us-gaap_ConcentrationRiskPercentage1 / us-gaap_ConcentrationRiskByBenchmarkAxis = us-gaap_SalesRevenueGoodsNetMember / us-gaap_ConcentrationRiskByTypeAxis = us-gaap_CustomerConcentrationRiskMember / us-gaap_MajorCustomersAxis = bmrn_CustomerOneMember |
|
15.00%us-gaap_ConcentrationRiskPercentage1 / us-gaap_ConcentrationRiskByBenchmarkAxis = us-gaap_SalesRevenueGoodsNetMember / us-gaap_ConcentrationRiskByTypeAxis = us-gaap_CustomerConcentrationRiskMember / us-gaap_MajorCustomersAxis = bmrn_CustomerOneMember |
|
Customer Concentration Risk | Net Product Revenue | Customer B |
|
|
|
|
|
|
Concentration Risk [Line Items] |
|
|
|
|
|
|
Concentration risk, percentage |
14.00%us-gaap_ConcentrationRiskPercentage1 / us-gaap_ConcentrationRiskByBenchmarkAxis = us-gaap_SalesRevenueGoodsNetMember / us-gaap_ConcentrationRiskByTypeAxis = us-gaap_CustomerConcentrationRiskMember / us-gaap_MajorCustomersAxis = bmrn_CustomerTwoMember |
[1] |
16.00%us-gaap_ConcentrationRiskPercentage1 / us-gaap_ConcentrationRiskByBenchmarkAxis = us-gaap_SalesRevenueGoodsNetMember / us-gaap_ConcentrationRiskByTypeAxis = us-gaap_CustomerConcentrationRiskMember / us-gaap_MajorCustomersAxis = bmrn_CustomerTwoMember |
[1] |
16.00%us-gaap_ConcentrationRiskPercentage1 / us-gaap_ConcentrationRiskByBenchmarkAxis = us-gaap_SalesRevenueGoodsNetMember / us-gaap_ConcentrationRiskByTypeAxis = us-gaap_CustomerConcentrationRiskMember / us-gaap_MajorCustomersAxis = bmrn_CustomerTwoMember |
[1] |
|
|