<?xml version='1.0' encoding='UTF-8'?>
<FilingSummary>
  <Version>3.7.0.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>806</ContextCount>
  <ElementCount>548</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>true</FootnotesReported>
  <SegmentCount>122</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>6</UnitCount>
  <MyReports>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>101 - Document - Document And Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/DocumentAndEntityInformation</Role>
      <ShortName>Document And Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R2.htm</HtmlFileName>
      <LongName>102 - Statement - Consolidated Balance Sheets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/ConsolidatedBalanceSheets</Role>
      <ShortName>Consolidated Balance Sheets</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>2</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R3.htm</HtmlFileName>
      <LongName>103 - Statement - Consolidated Balance Sheets [Parenthetical]</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/ConsolidatedBalanceSheetsParenthetical</Role>
      <ShortName>Consolidated Balance Sheets [Parenthetical]</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>3</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R4.htm</HtmlFileName>
      <LongName>104 - Statement - Consolidated Statements of Operations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/ConsolidatedStatementsOfOperations</Role>
      <ShortName>Consolidated Statements of Operations</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>4</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R5.htm</HtmlFileName>
      <LongName>105 - Statement - Consolidated Statements of Comprehensive Income</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/ConsolidatedStatementsOfComprehensiveIncome</Role>
      <ShortName>Consolidated Statements of Comprehensive Income</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>5</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R6.htm</HtmlFileName>
      <LongName>106 - Statement - Consolidated Statements of Shareholders' Equity</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/ConsolidatedStatementsOfShareholdersEquity</Role>
      <ShortName>Consolidated Statements of Shareholders' Equity</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>6</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R7.htm</HtmlFileName>
      <LongName>107 - Statement - Consolidated Statements of Shareholders' Equity [Parenthetical]</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/ConsolidatedStatementsOfShareholdersEquityParenthetical</Role>
      <ShortName>Consolidated Statements of Shareholders' Equity [Parenthetical]</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>7</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R8.htm</HtmlFileName>
      <LongName>108 - Statement - Consolidated Statements of Cash Flows</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/ConsolidatedStatementsOfCashFlows</Role>
      <ShortName>Consolidated Statements of Cash Flows</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>8</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R9.htm</HtmlFileName>
      <LongName>109 - Statement - Consolidated Statements of Cash Flows [Parenthetical]</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/ConsolidatedStatementsOfCashFlowsParenthetical</Role>
      <ShortName>Consolidated Statements of Cash Flows [Parenthetical]</ShortName>
      <MenuCategory>Statements</MenuCategory>
      <Position>9</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R10.htm</HtmlFileName>
      <LongName>110 - Disclosure - Summary of Significant Accounting Policies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/SummaryOfSignificantAccountingPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>10</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R11.htm</HtmlFileName>
      <LongName>111 - Disclosure - Investment securities available for sale</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/InvestmentSecuritiesAvailableForSale</Role>
      <ShortName>Investment securities available for sale</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>11</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R12.htm</HtmlFileName>
      <LongName>112 - Disclosure - Loans</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/Loans</Role>
      <ShortName>Loans</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>12</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R13.htm</HtmlFileName>
      <LongName>113 - Disclosure - Allowance for loan losses</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/AllowanceForLoanLosses</Role>
      <ShortName>Allowance for loan losses</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>13</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R14.htm</HtmlFileName>
      <LongName>114 - Disclosure - Premises and equipment</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/PremisesAndEquipment</Role>
      <ShortName>Premises and equipment</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>14</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>115 - Disclosure - Investment in bank owned life insurance</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/InvestmentInBankOwnedLifeInsurance</Role>
      <ShortName>Investment in bank owned life insurance</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>116 - Disclosure - Deposits</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/Deposits</Role>
      <ShortName>Deposits</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>117 - Disclosure - Borrowings</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/Borrowings</Role>
      <ShortName>Borrowings</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>118 - Disclosure - Income taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/IncomeTaxes</Role>
      <ShortName>Income taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>18</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>119 - Disclosure - Earnings (loss) per share</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/EarningsLossPerShare</Role>
      <ShortName>Earnings (loss) per share</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>19</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>120 - Disclosure - Lease commitments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/LeaseCommitments</Role>
      <ShortName>Lease commitments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>121 - Disclosure - Commitments and contingencies</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/CommitmentsAndContingencies</Role>
      <ShortName>Commitments and contingencies</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>21</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>122 - Disclosure - Shareholders' equity and regulatory matters</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/ShareholdersEquityAndRegulatoryMatters</Role>
      <ShortName>Shareholders' equity and regulatory matters</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.htm</HtmlFileName>
      <LongName>123 - Disclosure - Stock incentive plan</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/StockIncentivePlan</Role>
      <ShortName>Stock incentive plan</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>23</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.htm</HtmlFileName>
      <LongName>124 - Disclosure - Trust preferred securities</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/TrustPreferredSecurities</Role>
      <ShortName>Trust preferred securities</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>24</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.htm</HtmlFileName>
      <LongName>125 - Disclosure - Retirement plans</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/RetirementPlans</Role>
      <ShortName>Retirement plans</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>25</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.htm</HtmlFileName>
      <LongName>126 - Disclosure - Fair Value</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/FairValue</Role>
      <ShortName>Fair Value</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>26</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>127 - Disclosure - Segment Reporting</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/SegmentReporting</Role>
      <ShortName>Segment Reporting</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>27</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>128 - Disclosure - Parent corporation only financial statements</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/ParentCorporationOnlyFinancialStatements</Role>
      <ShortName>Parent corporation only financial statements</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>28</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>129 - Disclosure - Summary of Significant Accounting Policies (Policies)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/SummaryOfSignificantAccountingPoliciesPolicies</Role>
      <ShortName>Summary of Significant Accounting Policies (Policies)</ShortName>
      <MenuCategory>Policies</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>29</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>130 - Disclosure - Summary of Significant Accounting Policies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/SummaryOfSignificantAccountingPoliciesTables</Role>
      <ShortName>Summary of Significant Accounting Policies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/SummaryOfSignificantAccountingPolicies</ParentRole>
      <Position>30</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>131 - Disclosure - Investment securities available for sale (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/InvestmentSecuritiesAvailableForSaleTables</Role>
      <ShortName>Investment securities available for sale (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/InvestmentSecuritiesAvailableForSale</ParentRole>
      <Position>31</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>132 - Disclosure - Loans (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/LoansTables</Role>
      <ShortName>Loans (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/Loans</ParentRole>
      <Position>32</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.htm</HtmlFileName>
      <LongName>133 - Disclosure - Allowance for loan losses (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/AllowanceForLoanLossesTables</Role>
      <ShortName>Allowance for loan losses (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/AllowanceForLoanLosses</ParentRole>
      <Position>33</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.htm</HtmlFileName>
      <LongName>134 - Disclosure - Premises and equipment (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/PremisesAndEquipmentTables</Role>
      <ShortName>Premises and equipment (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/PremisesAndEquipment</ParentRole>
      <Position>34</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.htm</HtmlFileName>
      <LongName>135 - Disclosure - Deposits (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/DepositsTables</Role>
      <ShortName>Deposits (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/Deposits</ParentRole>
      <Position>35</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.htm</HtmlFileName>
      <LongName>136 - Disclosure - Borrowings (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/BorrowingsTables</Role>
      <ShortName>Borrowings (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/Borrowings</ParentRole>
      <Position>36</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.htm</HtmlFileName>
      <LongName>137 - Disclosure - Income taxes (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/IncomeTaxesTables</Role>
      <ShortName>Income taxes (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/IncomeTaxes</ParentRole>
      <Position>37</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.htm</HtmlFileName>
      <LongName>138 - Disclosure - Earnings (loss) per share (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/EarningsLossPerShareTables</Role>
      <ShortName>Earnings (loss) per share (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/EarningsLossPerShare</ParentRole>
      <Position>38</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.htm</HtmlFileName>
      <LongName>139 - Disclosure - Lease commitments (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/LeaseCommitmentsTables</Role>
      <ShortName>Lease commitments (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/LeaseCommitments</ParentRole>
      <Position>39</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.htm</HtmlFileName>
      <LongName>140 - Disclosure - Commitments and contingencies (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/CommitmentsAndContingenciesTables</Role>
      <ShortName>Commitments and contingencies (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/CommitmentsAndContingencies</ParentRole>
      <Position>40</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>141 - Disclosure - Shareholders' equity and regulatory matters (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/ShareholdersEquityAndRegulatoryMattersTables</Role>
      <ShortName>Shareholders' equity and regulatory matters (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/ShareholdersEquityAndRegulatoryMatters</ParentRole>
      <Position>41</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>142 - Disclosure - Stock incentive plan (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/StockIncentivePlanTables</Role>
      <ShortName>Stock incentive plan (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/StockIncentivePlan</ParentRole>
      <Position>42</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>143 - Disclosure - Fair Value (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/FairValueTables</Role>
      <ShortName>Fair Value (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/FairValue</ParentRole>
      <Position>43</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>144 - Disclosure - Segment Reporting (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/SegmentReportingTables</Role>
      <ShortName>Segment Reporting (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/SegmentReporting</ParentRole>
      <Position>44</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>145 - Disclosure - Parent corporation only financial statements (Tables)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/ParentCorporationOnlyFinancialStatementsTables</Role>
      <ShortName>Parent corporation only financial statements (Tables)</ShortName>
      <MenuCategory>Tables</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/ParentCorporationOnlyFinancialStatements</ParentRole>
      <Position>45</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>146 - Disclosure - Summary of Significant Accounting Policies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/SummaryOfSignificantAccountingPoliciesDetails</Role>
      <ShortName>Summary of Significant Accounting Policies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/SummaryOfSignificantAccountingPoliciesTables</ParentRole>
      <Position>46</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>147 - Disclosure - Summary of Significant Accounting Policies (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/SummaryOfSignificantAccountingPoliciesDetailsTextual</Role>
      <ShortName>Summary of Significant Accounting Policies (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/SummaryOfSignificantAccountingPoliciesTables</ParentRole>
      <Position>47</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>148 - Disclosure - Investment securities available for sale (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/InvestmentSecuritiesAvailableForSaleDetails</Role>
      <ShortName>Investment securities available for sale (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/InvestmentSecuritiesAvailableForSaleTables</ParentRole>
      <Position>48</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>149 - Disclosure - Investment securities available for sale (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/InvestmentSecuritiesAvailableForSaleDetails1</Role>
      <ShortName>Investment securities available for sale (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/InvestmentSecuritiesAvailableForSaleTables</ParentRole>
      <Position>49</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>150 - Disclosure - Investment securities available for sale (Details 2)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/InvestmentSecuritiesAvailableForSaleDetails2</Role>
      <ShortName>Investment securities available for sale (Details 2)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/InvestmentSecuritiesAvailableForSaleTables</ParentRole>
      <Position>50</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>151 - Disclosure - Investment securities available for sale (Details 3)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/InvestmentSecuritiesAvailableForSaleDetails3</Role>
      <ShortName>Investment securities available for sale (Details 3)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/InvestmentSecuritiesAvailableForSaleTables</ParentRole>
      <Position>51</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>152 - Disclosure - Investment securities available for sale (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/InvestmentSecuritiesAvailableForSaleDetailsTextual</Role>
      <ShortName>Investment securities available for sale (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/InvestmentSecuritiesAvailableForSaleTables</ParentRole>
      <Position>52</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>153 - Disclosure - Loans (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/LoansDetails</Role>
      <ShortName>Loans (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/LoansTables</ParentRole>
      <Position>53</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>154 - Disclosure - Loans (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/LoansDetails1</Role>
      <ShortName>Loans (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/LoansTables</ParentRole>
      <Position>54</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>155 - Disclosure - Loans (Details 2)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/LoansDetails2</Role>
      <ShortName>Loans (Details 2)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/LoansTables</ParentRole>
      <Position>55</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>156 - Disclosure - Loans (Details 3)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/LoansDetails3</Role>
      <ShortName>Loans (Details 3)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/LoansTables</ParentRole>
      <Position>56</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>157 - Disclosure - Loans (Details 4)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/LoansDetails4</Role>
      <ShortName>Loans (Details 4)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/LoansTables</ParentRole>
      <Position>57</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>158 - Disclosure - Loans (Details 5)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/LoansDetails5</Role>
      <ShortName>Loans (Details 5)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/LoansTables</ParentRole>
      <Position>58</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R59.htm</HtmlFileName>
      <LongName>159 - Disclosure - Loans (Details 6)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/LoansDetails6</Role>
      <ShortName>Loans (Details 6)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/LoansTables</ParentRole>
      <Position>59</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R60.htm</HtmlFileName>
      <LongName>160 - Disclosure - Loans (Details 7)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/LoansDetails7</Role>
      <ShortName>Loans (Details 7)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/LoansTables</ParentRole>
      <Position>60</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R61.htm</HtmlFileName>
      <LongName>161 - Disclosure - Loans (Details 8)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/LoansDetails8</Role>
      <ShortName>Loans (Details 8)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/LoansTables</ParentRole>
      <Position>61</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R62.htm</HtmlFileName>
      <LongName>162 - Disclosure - Loans (Details 9)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/LoansDetails9</Role>
      <ShortName>Loans (Details 9)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/LoansTables</ParentRole>
      <Position>62</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R63.htm</HtmlFileName>
      <LongName>163 - Disclosure - Loans (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/LoansDetailsTextual</Role>
      <ShortName>Loans (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/LoansTables</ParentRole>
      <Position>63</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R64.htm</HtmlFileName>
      <LongName>164 - Disclosure - Allowance for loan losses (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/AllowanceForLoanLossesDetails</Role>
      <ShortName>Allowance for loan losses (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/AllowanceForLoanLossesTables</ParentRole>
      <Position>64</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R65.htm</HtmlFileName>
      <LongName>165 - Disclosure - Allowance for loan losses (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/AllowanceForLoanLossesDetails1</Role>
      <ShortName>Allowance for loan losses (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/AllowanceForLoanLossesTables</ParentRole>
      <Position>65</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R66.htm</HtmlFileName>
      <LongName>166 - Disclosure - Allowance for loan losses (Details 2)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/AllowanceForLoanLossesDetails2</Role>
      <ShortName>Allowance for loan losses (Details 2)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/AllowanceForLoanLossesTables</ParentRole>
      <Position>66</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R67.htm</HtmlFileName>
      <LongName>167 - Disclosure - Allowance for loan losses (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/AllowanceForLoanLossesDetailsTextual</Role>
      <ShortName>Allowance for loan losses (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/AllowanceForLoanLossesTables</ParentRole>
      <Position>67</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R68.htm</HtmlFileName>
      <LongName>168 - Disclosure - Premises and equipment (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/PremisesAndEquipmentDetails</Role>
      <ShortName>Premises and equipment (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/PremisesAndEquipmentTables</ParentRole>
      <Position>68</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R69.htm</HtmlFileName>
      <LongName>169 - Disclosure - Premises and equipment (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/PremisesAndEquipmentDetailsTextual</Role>
      <ShortName>Premises and equipment (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/PremisesAndEquipmentTables</ParentRole>
      <Position>69</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R70.htm</HtmlFileName>
      <LongName>170 - Disclosure - Investment in bank owned life insurance (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/InvestmentInBankOwnedLifeInsuranceDetailsTextual</Role>
      <ShortName>Investment in bank owned life insurance (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/InvestmentInBankOwnedLifeInsurance</ParentRole>
      <Position>70</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R71.htm</HtmlFileName>
      <LongName>171 - Disclosure - Deposits (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/DepositsDetails</Role>
      <ShortName>Deposits (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/DepositsTables</ParentRole>
      <Position>71</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R72.htm</HtmlFileName>
      <LongName>172 - Disclosure - Deposits (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/DepositsDetails1</Role>
      <ShortName>Deposits (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/DepositsTables</ParentRole>
      <Position>72</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R73.htm</HtmlFileName>
      <LongName>173 - Disclosure - Deposits (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/DepositsDetailsTextual</Role>
      <ShortName>Deposits (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/DepositsTables</ParentRole>
      <Position>73</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R74.htm</HtmlFileName>
      <LongName>174 - Disclosure - Borrowings (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/BorrowingsDetails</Role>
      <ShortName>Borrowings (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/BorrowingsTables</ParentRole>
      <Position>74</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R75.htm</HtmlFileName>
      <LongName>175 - Disclosure - Borrowings (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/BorrowingsDetails1</Role>
      <ShortName>Borrowings (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/BorrowingsTables</ParentRole>
      <Position>75</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R76.htm</HtmlFileName>
      <LongName>176 - Disclosure - Borrowings (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/BorrowingsDetailsTextual</Role>
      <ShortName>Borrowings (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/BorrowingsTables</ParentRole>
      <Position>76</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R77.htm</HtmlFileName>
      <LongName>177 - Disclosure - Income taxes (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/IncomeTaxesDetails</Role>
      <ShortName>Income taxes (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/IncomeTaxesTables</ParentRole>
      <Position>77</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R78.htm</HtmlFileName>
      <LongName>178 - Disclosure - Income taxes (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/IncomeTaxesDetails1</Role>
      <ShortName>Income taxes (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/IncomeTaxesTables</ParentRole>
      <Position>78</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R79.htm</HtmlFileName>
      <LongName>179 - Disclosure - Income taxes (Details 2)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/IncomeTaxesDetails2</Role>
      <ShortName>Income taxes (Details 2)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/IncomeTaxesTables</ParentRole>
      <Position>79</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R80.htm</HtmlFileName>
      <LongName>180 - Disclosure - Income taxes (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/IncomeTaxesDetailsTextual</Role>
      <ShortName>Income taxes (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/IncomeTaxesTables</ParentRole>
      <Position>80</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R81.htm</HtmlFileName>
      <LongName>181 - Disclosure - Earnings (loss) per share (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/EarningsLossPerShareDetails</Role>
      <ShortName>Earnings (loss) per share (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/EarningsLossPerShareTables</ParentRole>
      <Position>81</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R82.htm</HtmlFileName>
      <LongName>182 - Disclosure - Earnings (loss) per share (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/EarningsLossPerShareDetailsTextual</Role>
      <ShortName>Earnings (loss) per share (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/EarningsLossPerShareTables</ParentRole>
      <Position>82</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R83.htm</HtmlFileName>
      <LongName>183 - Disclosure - Lease commitments (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/LeaseCommitmentsDetails</Role>
      <ShortName>Lease commitments (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/LeaseCommitmentsTables</ParentRole>
      <Position>83</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R84.htm</HtmlFileName>
      <LongName>184 - Disclosure - Lease commitments (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/LeaseCommitmentsDetailsTextual</Role>
      <ShortName>Lease commitments (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/LeaseCommitmentsTables</ParentRole>
      <Position>84</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R85.htm</HtmlFileName>
      <LongName>185 - Disclosure - Commitments and contingencies (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/CommitmentsAndContingenciesDetails</Role>
      <ShortName>Commitments and contingencies (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/CommitmentsAndContingenciesTables</ParentRole>
      <Position>85</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R86.htm</HtmlFileName>
      <LongName>186 - Disclosure - Shareholders' equity and regulatory matters (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/ShareholdersEquityAndRegulatoryMattersDetails</Role>
      <ShortName>Shareholders' equity and regulatory matters (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/ShareholdersEquityAndRegulatoryMattersTables</ParentRole>
      <Position>86</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R87.htm</HtmlFileName>
      <LongName>187 - Disclosure - Shareholders' equity and regulatory matters (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/ShareholdersEquityAndRegulatoryMattersDetailsTextual</Role>
      <ShortName>Shareholders' equity and regulatory matters (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/ShareholdersEquityAndRegulatoryMattersTables</ParentRole>
      <Position>87</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R88.htm</HtmlFileName>
      <LongName>188 - Disclosure - Stock incentive plan (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/StockIncentivePlanDetails</Role>
      <ShortName>Stock incentive plan (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/StockIncentivePlanTables</ParentRole>
      <Position>88</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R89.htm</HtmlFileName>
      <LongName>189 - Disclosure - Stock incentive plan (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/StockIncentivePlanDetails1</Role>
      <ShortName>Stock incentive plan (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/StockIncentivePlanTables</ParentRole>
      <Position>89</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R90.htm</HtmlFileName>
      <LongName>190 - Disclosure - Stock incentive plan (Details 2)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/StockIncentivePlanDetails2</Role>
      <ShortName>Stock incentive plan (Details 2)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/StockIncentivePlanTables</ParentRole>
      <Position>90</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R91.htm</HtmlFileName>
      <LongName>191 - Disclosure - Stock incentive plan (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/StockIncentivePlanDetailsTextual</Role>
      <ShortName>Stock incentive plan (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/StockIncentivePlanTables</ParentRole>
      <Position>91</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R92.htm</HtmlFileName>
      <LongName>192 - Disclosure - Trust preferred securities (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/TrustPreferredSecuritiesDetailsTextual</Role>
      <ShortName>Trust preferred securities (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/TrustPreferredSecurities</ParentRole>
      <Position>92</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R93.htm</HtmlFileName>
      <LongName>193 - Disclosure - Retirement plans (Details Textual)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/RetirementPlansDetailsTextual</Role>
      <ShortName>Retirement plans (Details Textual)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/RetirementPlans</ParentRole>
      <Position>93</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R94.htm</HtmlFileName>
      <LongName>194 - Disclosure - Fair Value (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/FairValueDetails</Role>
      <ShortName>Fair Value (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/FairValueTables</ParentRole>
      <Position>94</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R95.htm</HtmlFileName>
      <LongName>195 - Disclosure - Fair Value (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/FairValueDetails1</Role>
      <ShortName>Fair Value (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/FairValueTables</ParentRole>
      <Position>95</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R96.htm</HtmlFileName>
      <LongName>196 - Disclosure - Fair Value (Details 2)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/FairValueDetails2</Role>
      <ShortName>Fair Value (Details 2)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/FairValueTables</ParentRole>
      <Position>96</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R97.htm</HtmlFileName>
      <LongName>197 - Disclosure - Fair Value (Details 3)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/FairValueDetails3</Role>
      <ShortName>Fair Value (Details 3)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/FairValueTables</ParentRole>
      <Position>97</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R98.htm</HtmlFileName>
      <LongName>198 - Disclosure - Segment Reporting (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/SegmentReportingDetails</Role>
      <ShortName>Segment Reporting (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/SegmentReportingTables</ParentRole>
      <Position>98</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R99.htm</HtmlFileName>
      <LongName>199 - Disclosure - Parent corporation only financial statements (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/ParentCorporationOnlyFinancialStatementsDetails</Role>
      <ShortName>Parent corporation only financial statements (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/ParentCorporationOnlyFinancialStatementsTables</ParentRole>
      <Position>99</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R100.htm</HtmlFileName>
      <LongName>200 - Disclosure - Parent corporation only financial statements (Details 1)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/ParentCorporationOnlyFinancialStatementsDetails1</Role>
      <ShortName>Parent corporation only financial statements (Details 1)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/ParentCorporationOnlyFinancialStatementsTables</ParentRole>
      <Position>100</Position>
    </Report>
    <Report instance="vbfc-20161231.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R101.htm</HtmlFileName>
      <LongName>201 - Disclosure - Parent corporation only financial statements (Details 2)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.villagebank.com/role/ParentCorporationOnlyFinancialStatementsDetails2</Role>
      <ShortName>Parent corporation only financial statements (Details 2)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <ParentRole>http://www.villagebank.com/role/ParentCorporationOnlyFinancialStatementsTables</ParentRole>
      <Position>101</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File>vbfc-20161231.xml</File>
    <File>vbfc-20161231.xsd</File>
    <File>vbfc-20161231_cal.xml</File>
    <File>vbfc-20161231_def.xml</File>
    <File>vbfc-20161231_lab.xml</File>
    <File>vbfc-20161231_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies/>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
